Re: Re: Passing objects to soap server, complexType, classmap

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

 



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>


--
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