php調用webservice接口,java代碼接收不到參數


  前段時間做了一個項目的二次開發,有個功能是需要php調用java實現的webservice接口,並傳遞一些參數給接口,然后按照對方提供的接口說明文檔進行傳參調用,java那邊有接收到請求,但是參數總是為null,部分代碼如下:

1 $client = new SoapClient ($this->webServiceUrl); 
2 $client->soap_defencoding = 'utf-8';
3 $client->xml_encoding = 'utf-8';
4 $param = $context;//參數拼接xml字符串
5 $result = $client->managementMemberInfo($param);//返回值

  不管傳什么類型的數據,對方接收到的都是null。然后各種百度(此處有吐槽:百度真心辣雞。),百度出來各種亂七八糟的答案,各種嘗試,然后繼續各種失敗。T@T。。。。后面看到一篇文章,說要添加鍵值,然后嘗試了一下:

1 $client = new SoapClient ($this->webServiceUrl); 
2 $client->soap_defencoding = 'utf-8';
3 $client->xml_encoding = 'utf-8';
4 $param = array('context'=> $context);//參數拼接xml字符串
5 $result = $client->managementMemberInfo($param);//返回值

  然后,依然是悲劇。。。。。。繼續百度,必應。。。然后又看到一篇說要添加鍵值,鍵名為arg0這種,如果有多個應該是一次類推arg1,arg2等等,好吧,本來自己覺得跟前面加鍵值沒啥區別,但還是試了一下:

1 $client = new SoapClient ($this->webServiceUrl); 
2 $client->soap_defencoding = 'utf-8';
3 $client->xml_encoding = 'utf-8';
4 $param = array('arg0'=>$context);//參數拼接xml字符串
5 $result = $client->managementMemberInfo($param);//返回值

  然后,對方說接收到數據了。。。。。。

 

  特此記錄一下。ps:對於為什么一定是arg0不太明白,如果有明白的,希望給小白指點一下,謝謝。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM