17 messages in net.php.lists.soapRe: [SOAP] Re: Java/Oracle server, PH...
FromSent OnAttachments
Peter GuyJan 17, 2006 11:03 am 
Peter GuyJan 17, 2006 12:27 pm 
Michael RasmussenJan 17, 2006 4:19 pm 
Peter GuyJan 17, 2006 4:51 pm 
Dmitry StogovJan 18, 2006 12:07 am 
Peter GuyJan 18, 2006 11:44 am 
Roger RoelofsJan 18, 2006 12:16 pm 
Michael RasmussenJan 18, 2006 12:51 pm 
Peter GuyJan 18, 2006 3:18 pm 
Peter GuyJan 18, 2006 3:29 pm 
Dmitry StogovJan 19, 2006 11:35 pm 
Dmitry StogovJan 19, 2006 11:48 pm 
Dmitry StogovJan 20, 2006 12:15 am 
Peter GuyJan 20, 2006 11:18 am 
Katy CoeJan 20, 2006 4:20 pm 
Peter GuyJan 20, 2006 5:26 pm 
Katy CoeJan 21, 2006 9:39 am 
Actions with this message:
Paste this link in email or IM:
Paste this link in email or IM:
Atom feed for this thread
Paste this URL into your reader:
Subject:Re: [SOAP] Re: Java/Oracle server, PHP 5.1.2 client, array of complexTypes, Deserializer errorActions...
From:Peter Guy (pg@vrcis.com)
Date:Jan 18, 2006 3:29:46 pm
List:net.php.lists.soap

"Roger Roelofs" <re@datacompusa.com> wrote in message news:7C9B@datacompusa.com...

Peter,

On Jan 18, 2006, at 2:44 PM, Peter Guy wrote:

Thanks for the clarification, Dmitry.

I see that it is legal to type a SOAP array the way that PHP does it, but I don't think it's the right way to do it. :-)

The problem is, how will the SOAP server with which I'm dealing have any knowledge of the "type derived there from"? Unless it's written in PHP, it doesn't necessarily parse requests against the schema in the WSDL, so it likely won't have any knowledge of that derived type.

I don't know anything about your setup, but, doesn't the server maintain the wsdl file? If your client is using a wsdl file you created, just change the wsdl file to like this...

<xsd:element name="ArrayOfWhatever" type="soapenc:Array" />

where the namespaces are... xmlns:xsd='http://www.w3.org/2001/XMLSchema' xmlns:soapenc='http://schemas.xmlsoap.org/soap/encoding/'

hth -- Roger Roelofs web www.datacompusa.com Datacomp Appraisal Services Email re@datacompusa.com 3215 Eaglecrest Drive, NE Grand Rapids, MI 49525-4593

Do you mean use an element rather than a complexType to define the array?

Currently, my WSDL defines an array thusly (this is for an integer array):

<complexType name="ArrayOfint" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"> <complexContent> <restriction base="SOAP-ENC:Array"> <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="xsd:int[]"/> </restriction> </complexContent> </complexType>

And a message involving that array is defined like so:

<message name="EchoIntsRequest"> <part name="INTS" type="ns1:ArrayOfint"/> </message>

Do you mean, change the complexType name="ArrayOfInts" to an element named "ArrayOfInts" of type "SOAP-ENC:Array"? I've tried something similar, which resulted in PHP using a "struct[]" type, or something to that effect, in the request.

-Peter