Re: [SOAP] Re: Passing objects to soap server, complexType, classmap
| From: | Morgan Pyne | Date: | Tue, 20 Jun 2006 23:06:49 +0000 |
| Subject: | Re: [SOAP] Re: Passing objects to soap server, complexType, classmap | ||
| References: | 1 2 3 4 5 6 7 | Groups: | php.soap |
| Request: | Send a blank email to php-soap+get-2327@lists.php.net to get a copy of this message | ||
Hi Michael,
Your example is pretty much a simplified version of my original (broken) code which prompted me to write to this list :-)
The two noticeable differences between your sample and my code are:
1) My complexType truly is a pretty complex type (a subclass of an auto-generated object built from a database table created by Symfony/Propel, with properties including arrays of objects :-)
2) My WSDL file is auto-generated from my SOAP server class using some example code posted by George Schlossnagel.
So I guess my problem lies in either the nature of the object I'm trying to pass or the definition of this object/complexType in my WSDL file, and not in the principle of what I'm attempting.
I'll examine each of these further and see if I can find a problem. I suspect the WSDL since although it passes validation with some online tools it seems to cause the SOAP client function __getTypes() to hang.
It probably doesn't make sense anyway to shuffle around via SOAP the type of object I'm testing with - it is more of an exercise in learning SOAP and testing the capabilities of new PHP extension that prompted me to try this.
Thanks and regards.
Morgan
Michael Rasmussen wrote:
On Tue, 20 Jun 2006 11:38:30 +0200, Michael Rasmussen wrote:WSDL<?xml version="1.0"?> <definitions name="server" targetNamespace="http://tempuri.org" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://localhost/~mir/uddi/uddiServer" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns="http://schemas.xmlsoap.org/wsdl/"> <types xmlns="http://schemas.xmlsoap.org/wsdl/"><schema xmlns="http://www.w3.org/2001/XMLSchema"targetNamespace="http://localhost/~mir/uddi/uddiServer"> <complexType name="input"><sequence><element name="firstname" type="xsd:string" /> <element name="lastname" type="xsd:string" /></sequence></complexType></schema></types> <message name="personRequest"><part name="person" type="tns:input" /></message> <message name="personResponse" /> <portType name="serverPort"><operation name="newPerson"><input message="tns:personRequest" /> <output message="tns:personResponse" /></operation></portType> <binding name="serverBinding" type="tns:serverPort"><soap:binding style="rpc"transport="http://schemas.xmlsoap.org/soap/http" /><operation name="newPerson"><soap:operationsoapAction="http://localhost/~mir/server.php#newPerson" /> <input> <soap:body use="encoded" namespace="http://tempuri.org" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" /> </input> <output> <soap:body use="encoded" namespace="http://tempuri.org" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" /> </output> </operation></binding> <service name="serverService"><documentation> </documentation> <port name="serverPort" binding="tns:serverBinding"> <soap:address location="http://localhost/~mir/server.php" /> </port></service> </definitions>