logo       

Re: More on passing array of complex type: msg#00079

php.nusoap.general

Subject: Re: More on passing array of complex type

I have discovered that NuSOAP serializes PHP objects when there is no WSDL, but
it assumes an associative array is being used when there is WSDL. I will work
on this soon and get back to you.

Scott Nichol

Do not send e-mail directly to this e-mail address,
because it is filtered to accept only mail from
specific mail lists.
----- Original Message -----
From: "Mitchell, Philip A." <pmitchell@xxxxxxxxxxxxxxx>
To: <nusoap-general@xxxxxxxxxxxxxxxxxxxxx>
Sent: Thursday, April 22, 2004 5:00 PM
Subject: [Nusoap-general] More on passing array of complex type


I'm also having a problem with arrays of objects. Saw the previous
thread, but
it didn't solve my case. I've set up an axis soap server, and can pass
the array
from java just fine. But from php nusoap, my data doesn't seem to make
it into
the soap request. Here's what I'm doing:

$card = new Card("mastercard", "xxxxxxxxxxxx55554444", 2, 2005);
$card2 = new Card("mastercard", "xxxxxxxxxxxxxx54444", 2, 2005);
$cards = array($card, $card2);

$soapclient = new soapclient(CC_AUTH_SOAP_SERVER_WSDL, "wsdl");
$soap_proxy = $soapclient->getProxy();
$result = $soap_proxy->cardArrayTest($cards);

But when I examine the request body, the data isn't there:

<SOAP-ENV:Body><nu:cardArrayTest>
<cards xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="tns1:Card[2]">
<item xsi:type="tns1:Card"></item>
<item xsi:type="tns1:Card"></item>
</cards></nu:cardArrayTest></SOAP-ENV:Body>

Any thoughts would be much appreciated!

Here's my wsdl (auto-generated by axis):

<wsdl:definitions
targetNamespace="http://my.domain.edu:8080/axis/services/CastellPaymentS
ervices">
<wsdl:types>
<schema targetNamespace="urn:edu.castell.lib">
<import namespace="http://schemas.xmlsoap.org/soap/encoding/"/>
<complexType name="Card">
<sequence>
<element name="cardNumber" nillable="true" type="xsd:string"/>
<element name="cardType" nillable="true" type="xsd:string"/>
<element name="expirationMonth" type="xsd:int"/>
<element name="expirationYear" type="xsd:int"/>
<element name="wellformed" type="xsd:boolean"/>
</sequence>
</complexType>
</schema>
<schema
targetNamespace="http://my.domain.edu:8080/axis/services/CastellPaymentS
ervices">
<import namespace="http://schemas.xmlsoap.org/soap/encoding/"/>
<complexType name="ArrayOf_tns1_Card">
<complexContent>
<restriction base="soapenc:Array">
<attribute ref="soapenc:arrayType" wsdl:arrayType="tns1:Card[]"/>
</restriction>
</complexContent>
</complexType>
</schema>
</wsdl:types>
<wsdl:message name="cardArrayTestResponse">
<wsdl:part name="cardArrayTestReturn" type="xsd:string"/>
</wsdl:message>
<wsdl:message name="cardArrayTestRequest">
<wsdl:part name="cards" type="impl:ArrayOf_tns1_Card"/>
</wsdl:message>
<wsdl:portType name="Epay">
<wsdl:operation name="cardArrayTest" parameterOrder="cards">
<wsdl:input message="impl:cardArrayTestRequest"
name="cardArrayTestRequest"/>
<wsdl:output message="impl:cardArrayTestResponse"
name="cardArrayTestResponse"/>
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="CastellPaymentServicesSoapBinding"
type="impl:Epay">
<wsdlsoap:binding style="rpc"
transport="http://schemas.xmlsoap.org/soap/http"/>
<wsdl:operation name="cardArrayTest">
<wsdlsoap:operation soapAction=""/>
<wsdl:input name="cardArrayTestRequest">
<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/";
namespace="http://epay.countway.hms.harvard.edu"; use="encoded"/>
</wsdl:input>
<wsdl:output name="cardArrayTestResponse">
<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/";
namespace="http://my.domain.edu:8080/axis/services/CastellPaymentService
s" use="encoded"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="EpayService">
<wsdl:port binding="impl:CastellPaymentServicesSoapBinding"
name="CastellPaymentServices">
<wsdlsoap:address
location="http://my.domain.edu:8080/axis/services/CastellPaymentServices
"/>
</wsdl:port>
</wsdl:service>
</wsdl:definitions>





-------------------------------------------------------
This SF.net email is sponsored by: The Robotic Monkeys at ThinkGeek
For a limited time only, get FREE Ground shipping on all orders of $35
or more. Hurry up and shop folks, this offer expires April 30th!
http://www.thinkgeek.com/freeshipping/?cpg297
_______________________________________________
Nusoap-general mailing list
Nusoap-general@xxxxxxxxxxxxxxxxxxxxx
https://lists.sourceforge.net/lists/listinfo/nusoap-general



-------------------------------------------------------
This SF.net email is sponsored by: The Robotic Monkeys at ThinkGeek
For a limited time only, get FREE Ground shipping on all orders of $35
or more. Hurry up and shop folks, this offer expires April 30th!
http://www.thinkgeek.com/freeshipping/?cpg297


<Prev in Thread] Current Thread [Next in Thread>
Google Custom Search

News | FAQ | advertise