2
對不起,也許是一件非常簡單的事情,但是我從幾天起就無法工作!如何通過PHP傳遞數組到PHP肥皂服務器?
這是我的WSDL的一部分:
<xsd:complexType name="PERSON">
<xsd:sequence>
<xsd:element name="ExterneID" minOccurs="0" type="xsd:int" />
<xsd:element name="Email" type="xsd:string" />
...
</xsd:sequence>
</xsd:complexType>
<message name="insertAdresse">
<part name="BmLogin" type="xsd:string" />
<part name="TS" type="xsd:int" />
<part name="UT" type="xsd:string" />
<part name="Person" type="typens:PERSON"/>
</message>
如何傳遞這個我SOAP服務器?我該如何解決那些問題?
我試了很多版本,但沒有什麼幫助!例如:
class c_adresse
{
public $ExterneID;
public $Email;
public function __construct($ExterneID,$Email)
{
$this->ExterneID = $ExterneID;
$this->Email = $Email;
}
}
$no1 = array();
$no1[] = new c_adresse(33,"[email protected]");
所以$ NO1的樣子:
array(1) {
[0]=>
object(c_adresse)#2 (2) {
["ExterneID"]=>
int(33)
["Email"]=>
string(15) "[email protected]"
}
}
電話:
$response = $soap_client->insertAdresse($login,$ts,$token,$no1);
錯誤消息:
PHP Fatal error: SOAP-ERROR: Encoding: object hasn't 'Email' property in /home/peter/Desktop/soap.php on line 41
PHP Fatal error: Uncaught SoapFault exception: [Client] SOAP-ERROR: Encoding: object hasn't 'Email' property in /home/peter/Desktop/soap.php:41
如何設計對象/數組( ?)傳遞給肥皂服務器?
在服務器上,我無法尋址$ daten。有時,當我玩弄參數的順序和樣式時,我會以某種方式工作,並且只有在「消息」部分中不混合string,int和數組(complexType [PERSON])的情況下。 但我不能滿足$回到名單Daten或$ BmLogin是空的,等等...
function insertAdresse($BmLogin,$TS,$UT,$daten)
沒關係,我已經找到了解決方案!
我改變了這個:
<xsd:element name="PERSON" type="PersonType"/>
<xsd:complexType name="PersonType">
那麼這...
$response = $soap_client->insertAdresse($login,$ts,$token,array("ExterneID"=>22,"Email"=>"[email protected]"));
工作正常!
顯示您正在進行的實際SOAP調用。 – 2013-02-28 15:34:09
感謝傑克的幫助,我認爲這是完成了...(見上文)我會做更多的檢查... – Peter 2013-02-28 15:50:40
發佈一個答案爲清晰。 – SparKot 2013-02-28 15:54:40