Problems with sending arrays via Soap
| From: | Lorenz Barth | Date: | Tue, 08 Jul 2008 17:05:58 +0000 |
| Subject: | Problems with sending arrays via Soap | ||
| Groups: | php.soap | ||
| Request: | Send a blank email to php-soap+get-2822@lists.php.net to get a copy of this message | ||
Hello,
I'm trying to send a string array to one of our services. Here the part of the wsdl:
<wsdl:message name="sendTextLetterRequest">
<wsdl:part name="t" type="tns1:Ticket"/>
<wsdl:part name="recipient" type="soapenc:string"/>
<wsdl:part name="subject" type="soapenc:string"/>
<wsdl:part name="country" type="soapenc:string"/>
<wsdl:part name="content" type="soapenc:string"/>
<wsdl:part name="options" type="impl:ArrayOf_soapenc_string"/>
</wsdl:message>
<schema targetNamespace="http://127.0.0.1/pbx-server/customer/services/LetterService">
<import namespace="http://shared.webservices.server.platform.pbxnetwork.de"/>
<import namespace="pbx"/>
<import namespace="http://schemas.xmlsoap.org/soap/encoding/"/>
<complexType name="ArrayOf_soapenc_string">
<complexContent>
<restriction base="soapenc:Array">
<attribute ref="soapenc:arrayType" wsdl:arrayType="soapenc:string[]"/>
</restriction>
</complexContent>
</complexType>
</schema>
The server is based on java Axis. Simple Things like normal stings and even Objects like the Ticket
are working fine. But I'm unable to send the options array to the Server. Here is a part of the
php client app:
$pbx_client = new SoapClient($wsdl);
try {
// $result = $pbx_client->__soapCall("sendTextLetter", array(new
pbx_Ticket($ticket),"recipient"=>$recipient,"subject"=>$subject,"country"=>$country,"content"=>$content,"options"=>$options));
$result = $pbx_client->sendTextLetter(new
pbx_Ticket($ticket),$recipient,$subject,$country,$content,$options);
if (true === $result) {
DebugMessage("PBX: Letter Versendet.");
return true;
} else {
DebugMessage("PBX: Fehler beim Letter Versand",$result);
return false;
}
}catch(SoapFault $exception) {
print_r($exception);
DebugMessage("Fehler beim Briefversand", $exception);
}
Hopefully one of you guys can help me with this. I search google all day but without success.
Thanks a lot in advance
Lorenz