2016-05-10 42 views
0

我想從鍵值格式轉換我的SOAP請求到另一個:使用PHP SOAPclient將鍵值XML轉換爲其他格式?

<SOAP-ENV:Header> 
    <ns2:AUTH> 
     <item> 
     <key>username</key> 
     <value>testuser</value> 
     </item> 
     <item> 
     <key>password</key> 
     <value>xxxxx</value> 
     </item> 
    </ns2:AUTH> 
    </SOAP-ENV:Header> 
    <SOAP-ENV:Body> 
    <ns1:getProductConfig/> 
    </SOAP-ENV:Body> 
</SOAP-ENV:Envelope> 

這就是我想要的:

<SOAP-ENV:Header> 
    <ns2:AUTH> 
     <username>testuser</username> 
     <password>xxxxx</password> 
    </ns2:AUTH> 
    </SOAP-ENV:Header> 
    <SOAP-ENV:Body> 
    <ns1:getProductConfig> 
      <partner_id>1</partner_id> 
    </ns1:getProductConfig> 
    </SOAP-ENV:Body> 
</SOAP-ENV:Envelope> 

這是我創建一個新SoapClient的對象我的PHP代碼:

$header = new SoapHeader('chainstore-api','AUTH',$headerOptions, FALSE); 

$req = new SoapClient(NULL, $options); 
$req->__setSoapHeaders($header); 
$res = $req->getProductConfig($params); 
echo $res; 

PS:目前,這是非wsdl風格,但我正在考慮更改爲使用wsdl。

回答

0

這聽起來很瘋狂,但我只是通過使用WSDL來解決這個問題。

這很容易。 WSDL文件將確定SOAP請求和響應。

相關問題