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