Re: Re: Java/Oracle server, PHP 5.1.2 client, array of complexTypes, Deserializer error

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



"Roger Roelofs" <rer@datacompusa.com> wrote in message
7C9B0337-6BF5-42E3-B6F9-3F3BDEEB8B59@datacompusa.com">news:7C9B0337-6BF5-42E3-B6F9-3F3BDEEB8B59@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 rer@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

-- 
PHP Soap Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


[Index of Archives]     [PHP Home]     [PHP Users]     [Kernel Newbies]     [PHP Database]     [Yosemite]

  Powered by Linux