Re: [SOAP] Re: Passing objects to soap server, complexType, classmap

From: 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:operation
	    soapAction="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>


« previous php.soap (#2327) next »