【问题标题】:Ebay SOAP error returning "Missing SOA operation name header"Ebay SOAP 错误返回“缺少 SOA 操作名称标头”
【发布时间】:2012-06-26 01:19:35
【问题描述】:

我正在尝试使用 python 的 suds 在 eBay 的网络服务上发出一些请求,但我总是收到此错误:

“缺少 SOA 操作名称标头”

我使用的代码如下:

client = Client(EBAY_WSDL)
ns1 = ('ns1', 'http://www.ebay.com/marketplace/search/v1/services')
operation_name = Element('X-EBAY-SOA-OPERATION-NAME',ns=ns1).setText('findItemsByKeywords')
appid = Element('X-EBAY-SOA-SECURITY-APPNAME',ns=ns1).setText('MY APP ID')
headers = [appid,operation_name]
client.set_options(soapheaders=headers)

我看不出我在标题上做错了什么...有人可以为我指出吗?

谢谢!

--编辑--

好吧,对于任何有同样问题的人。 我已经解决了这个问题。

问题是我在应该是 http 标头时设置了soap标头。 因此,答案是将标头放在 Client 构造函数中,如下所示:

operation_name = {'X-EBAY-SOA-OPERATION-NAME':'findItemsByKeywords', 'SomeOther':'blabla'}
client = Client(EBAY_WSDL,headers=operation_name)

就是这样!

【问题讨论】:

标签: python web-services soap ebay-api suds


【解决方案1】:

复制原始海报的答案:brunodea


好吧,对于任何有同样问题的人。 我已经解决了这个问题。

问题是我在设置soap 标头时应该是http 标头。 因此,答案是将标头放在 Client 构造函数中,如下所示:

operation_name = {'X-EBAY-SOA-OPERATION-NAME':'findItemsByKeywords', 'SomeOther':'blabla'}
client = Client(EBAY_WSDL,headers=operation_name)

就是这样!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-28
    • 1970-01-01
    • 2018-04-23
    • 1970-01-01
    • 1970-01-01
    • 2017-11-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多