How to pass Custom data types in calling document/literal wsdl from PHP?
[email protected] (sankar thatha)
| Newsgroups | php.soap |
|---|---|
| Message-ID | <[email protected]> |
Hi,
I'm calling coldfusion wsdl from php.I want to pass a complex/Custom typed data to the coldfusion wsdl. I have a method called batchOperation() in wsdl and it accepts custom type parameters. The paramater is some thing like this.
1)
An element represents--> (key,value) pair
I want to have Array of type element --> element[]
2) elementcollection represents --> (key,element[])
I want to have Array of type elementcollection --> elementcollection[]
3) An attribute represents --> (key,elementcollection[])
I have to send $attribute param from wsdl client. I want to construct attribute param, which I don't know?
I'm using nusoap for the same.
Attached is the wsdl.
Any help is appreciated. I'm a newbie to PHP and using SOAP in PHP.
Thnx
Sankaram.
From Chandigarh to Chennai - find friends all over India. Go to http://in.promos.yahoo.com/groups/citygroups/
wsdl.xml
(text/xml, 3.3 KB)
+ <wsdl:types> - <schema elementFormDefault="qualified" targetNamespace="http://services.cfide" xmlns="http://www.w3.org/2001/XMLSchema"> <import namespace="http://rpc.xml.coldfusion" /> + <element name="batchOperation"> - <complexType> - <sequence> <element name="serviceusername" type="xsd:string" /> <element name="servicepassword" type="xsd:string" /> <element name="sourcepath" type="xsd:string" /> <element maxOccurs="unbounded" name="attributes" type="impl:Elementcollection" /> </sequence> </complexType> </element> + <complexType name="Element"> - <sequence> <element name="key" nillable="true" type="xsd:string" /> <element name="value" nillable="true" type="xsd:string" /> </sequence> </complexType> + <complexType name="Elementcollection"> - <sequence> <element name="key" nillable="true" type="xsd:string" /> <element name="value" nillable="true" type="tns1:ArrayOf_xsd_anyType" /> </sequence> </complexType> + <element name="batchOperationResponse"> - <complexType> - <sequence> <element name="batchOperationReturn" type="xsd:string" /> </sequence> </complexType> </element> <element name="fault" type="tns1:CFCInvocationException" /> </schema> - <schema elementFormDefault="qualified" targetNamespace="http://rpc.xml.coldfusion" xmlns="http://www.w3.org/2001/XMLSchema"> <import namespace="http://services.cfide" /> + <complexType name="ArrayOf_xsd_anyType"> - <sequence> <element maxOccurs="unbounded" minOccurs="0" name="item" type="impl:Element" /> </sequence> </complexType> + <complexType name="CFCInvocationException"> <sequence /> </complexType> </schema> </wsdl:types> + <wsdl:message name="CFCInvocationException"> <wsdl:part element="impl:fault" name="fault" /> </wsdl:message> + <wsdl:message name="batchOperationResponse"> <wsdl:part element="impl:batchOperationResponse" name="parameters" /> </wsdl:message> + <wsdl:message name="batchOperationRequest"> <wsdl:part element="impl:batchOperation" name="parameters" /> </wsdl:message> + <wsdl:portType name="SampleImage"> - <wsdl:operation name="batchOperation"> <wsdl:input message="impl:batchOperationRequest" name="batchOperationRequest" /> <wsdl:output message="impl:batchOperationResponse" name="batchOperationResponse" /> <wsdl:fault message="impl:CFCInvocationException" name="CFCInvocationException" /> </wsdl:operation> </wsdl:portType> + <wsdl:binding name="SampleImage.cfcSoapBinding" type="impl:SampleImage"> <wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" /> - <wsdl:operation name="batchOperation"> <wsdlsoap:operation soapAction="" /> - <wsdl:input name="batchOperationRequest"> <wsdlsoap:body use="literal" /> </wsdl:input> - <wsdl:output name="batchOperationResponse"> <wsdlsoap:body use="literal" /> </wsdl:output> - <wsdl:fault name="CFCInvocationException"> <wsdlsoap:fault name="CFCInvocationException" use="literal" /> </wsdl:fault> </wsdl:operation> </wsdl:binding> + <wsdl:service name="SampleImageService"> - <wsdl:port binding="impl:SampleImage.cfcSoapBinding" name="SampleImage.cfc"> <wsdlsoap:address location="http://localhost/CFIDE/services/SampleImage.cfc" /> </wsdl:port> </wsdl:service> </wsdl:definitions>