2014-01-27 68 views
1

當我嘗試連接API一段時間後,我一直被HTTP 400「Bad Request」問題卡住。PHP NuSoap發送郵件頭的正確方式

我有一種感覺,這是與標題,但我不太確定。

我的查詢是關於SOAP請求的輸出以及我是否正確設置標題。

所以我要設置頁眉代碼

$proxy->setHeaders('<soap:Header><AuthenticationSoapHeader xmlns="https://www.xxxxx.com/ASPAPI"><Token>xxxxx-xxxxx-xxxx</Token></AuthenticationSoapHeader></soap:Header>'); 

然後我打電話給一個API函數,並通過在XML字符串設置標頭,像這樣以後直接:

$result = $proxy->call('ValidateService', array('serviceXML' => $xml)); 

然而,打印$proxy->request當輸出是像這樣:

[TOKEN VALUE FROM HEADER HERE][CONTENTS OF XML STRING HERE] 

所以第e request字符串基本上打印出標題中<token>標記內的內容,緊接着是XML字符串。

是否正確將<token>的值與XML字符串一起打印在請求中?我有一種感覺,我可能會錯誤地設置標題。

回答

2

問題在於標題。

<soap:Header>開閉&標籤被引起HTTP Error 400 "Bad Request"

$proxy->setHeaders('<soap:Header><AuthenticationSoapHeader xmlns="https://www.xxxxx.com/aspapi"><Token>xxxxx</Token></AuthenticationSoapHeader></soap:Header>'); 

應該

$proxy->setHeaders('<AuthenticationSoapHeader xmlns="https://www.xxxxx.com/aspapi"><Token>xxxxx</Token></AuthenticationSoapHeader>');