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:Dmitry Stogov (dmi@zend.com)
Date:Jan 19, 2006 11:35:07 pm
List:net.php.lists.soap

Hi Michael,

Note that Peter

-----Original Message----- From: Michael Rasmussen [mailto:mi@miras.org] Sent: Wednesday, January 18, 2006 11:52 PM To: so@lists.php.net Subject: RE: [SOAP] Re: Java/Oracle server, PHP 5.1.2 client, array of complexTypes, Deserializer error

On Wed, 18 Jan 2006 11:07:53 +0300, Dmitry Stogov wrote:

This is well known issue, but not a php/soap bug. The problem that some SOAP implementations don't confirm to SOAP specification and don't accept types derived from array.

See: http://www.w3.org/TR/2000/NOTE-SOAP-20000508/#_Toc478383522

"SOAP arrays are defined as having a type of "SOAP-ENC:Array" or A TYPE DERIVED THERE FROM."

Well, basically it is a php/soap bug. When php/soap creates the request it does not use the appropriate name for the struct which is specified in the wsdl. For this example the wsdl specifies that the struct should be named Bar and not item. So what happens at the server side? The server tries to find any schema/namespace which specifies how an element item must be serialized/deserialized, but of course fails since this is not specified in any schema/namespace. The use of item to specify structs inside an array was already deprecated in soap1.1 and is no longer valid in soap1.2. As of soap1.2 all implementation must follow the specifications strict if the want to use rpc/encoded or else the only way is document/literal.

Once again I must emphasize: This is a bug i php/soap which must be corrected or otherwise you cannot use it for making client/servers which will connect to Java, C#, C/C++ or any other statically typed languages.