簡體   English   中英

如何使xml片段像這樣的PHP SOAP Header?

[英]How to make PHP SOAP Header like this xml snippet?

我正在嘗試制作一個像這樣的肥皂頭:

<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
  <s:Header>
    <a-user xmlns="a">testName</a-user>
    <a-pass xmlns="a">testPassword</a-pass>
  </s:Header>
  <s:Body>
    ...
  </s:Body>
</s:Envelope>

我是肥皂新手,所以我很確定我只是不明白應該為SoapHeader構造函數的參數添加什么,這是我目前正在嘗試的操作,並且始終無法通過身份驗證:

        $authHeader = new SoapHeader("http://schemas.xmlsoap.org/soap/envelope/", "Envelope", array("Header" => array("a-user" => "testName", "a-pass" => "testPassword")));

有人可以解釋一下我應該如何將xml中的標頭轉換為php soapheader嗎?

編輯:是的,古根,我使用的是真實的用戶名並通過,我收到一個SoapFault異常消息,說“賣方未經授權!” 當我撥打soapCall時。

這是肥皂呼叫部分包括:

$this->client->__setSoapHeaders($authHeader);
$response = $this->client->__soapCall("Foo", $params);
$authHeader = new SoapHeader("http://schemas.xmlsoap.org/soap/envelope/", "Envelope", array("Header" => array("a-user" => "testName", "a-pass" => "testPassword")));

通過SoapClient規范,您應該嘗試這樣

$this->client->__setSoapHeaders(array($authHeader));
$response = $this->client->__soapCall("Foo", $params);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM