如何通过PHP传递数组到PHP肥皂服务器?
问题描述:
对不起,也许是一件非常简单的事情,但是我从几天起就无法工作!如何通过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]"));
工作正常!
答
好的,我找到了解决方案!
这是在WSDL丢失:
<xsd:element name="PERSON" type="typens: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