【问题标题】:How to set request headers in SOAP request using NuSOAP toolkit如何使用 NuSOAP 工具包在 SOAP 请求中设置请求标头
【发布时间】:2020-07-15 09:54:56
【问题描述】:

谁能告诉我如何在 SOAP 请求中为订阅密钥添加请求标头。 我正在使用 NuSOAP 工具包进行 SOAP 调用。为授权 SOAP 调用设置密钥对我来说似乎很困难。除非我在请求标头中传递订阅密钥,否则我无法访问。

我试过了:

$this->nusoap_client->setHeaders("<soapHeader xmlns='http://test.com/'>
    <Ocp-Apim-Subscription-Key>***mykey***</Ocp-Apim-Subscription-Key>
</soapHeader>");

但是它将键添加到soap 标头而不是请求标头。

然后我尝试了:

header("Ocp-Apim-Subscription-Key: ***mykey***");

但仍然没有希望,现在将其添加到响应标头中。

我正在使用$this-&gt;nusoap_client-&gt;call()进行SOAP调用,得到的响应是

{ "statusCode": 401, "message": "Access denied due to missing subscription key. Make sure to include subscription key when making requests to an API." }

提前致谢。

【问题讨论】:

    标签: api soap soap-client nusoap request-headers


    【解决方案1】:

    好吧,我自己找到了解决方案。不知道这样对不对!无论如何,我想在这里发布我的解决方案,它可能对某人有用。

    我通过修改 nusoap 库类文件解决了这个问题。修改函数soap_transport_http设置标题为:

    $this->setHeader('Ocp-Apim-Subscription-Key', '***myKey***');
    

    这可能不是在 SOAP 请求中修改标头的正确方法,但它对我有用。如果您找到更好的解决方案,请提出您的答案。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多