Re: [SOAP] Expected paramaters not matching
| From: | David | Date: | Wed, 12 Apr 2006 18:33:18 +0000 |
| Subject: | Re: [SOAP] Expected paramaters not matching | ||
| References: | 1 | Groups: | php.soap |
| Request: | Send a blank email to php-soap+get-2193@lists.php.net to get a copy of this message | ||
Hi,
All I see in the WSDL is sequences, so from looking at the WSDL I would expect array's? For example the authenticateSoapIn defines one parameter which is a sequence of strUserName and strPassword.
Are you sure the wsdl is correct?
Kind regards,
David
bowb wrote:
I am using php soap from php 5.0.4 and I am running into the following situation. I am expecting two string parameters being passed into my authenticate function but instead I am getting an array that looks like this: array("strUserName"=>"test","strPassword"=>"test") my php code: function authenticate($strUserName,$strPassword) { return null; } ini_set("soap.wsdl_cache_enabled", "0"); $server = new SoapServer("QBWebConnectorSvc.wsdl"); $server->addFunction("authenticate"); $server->handle(); my wsdl file: <?xml version="1.0" encoding="utf-8"?> <wsdl:definitions xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns="http://developer.intuit.com/" xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" targetNamespace="http://developer.intuit.com/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"><wsdl:types> <s:schema elementFormDefault="qualified"targetNamespace="http://developer.intuit.com/"><s:element name="authenticate"> <s:complexType> <s:sequence> <s:element minOccurs="0" maxOccurs="1" name="strUserName"type="s:string" /><s:element minOccurs="0" maxOccurs="1" name="strPassword"type="s:string" /></s:sequence> </s:complexType> </s:element> <s:element name="authenticateResponse"> <s:complexType> <s:sequence> <s:element minOccurs="0" maxOccurs="1" name="authenticateResult"typ e="tns:ArrayOfString" /></s:sequence> </s:complexType> </s:element> <s:complexType name="ArrayOfString"> <s:sequence> <s:element minOccurs="0" maxOccurs="unbounded" name="string"nillable= "true" type="s:string" /></s:sequence> </s:complexType> <s:element name="sendRequestXML"> <s:complexType> <s:sequence> <s:element minOccurs="0" maxOccurs="1" name="ticket"type="s:string" /><s:element minOccurs="0" maxOccurs="1" name="strHCPResponse"type="s :string" /><s:element minOccurs="0" maxOccurs="1" name="strCompanyFileName"typ e="s:string" /><s:element minOccurs="0" maxOccurs="1" name="qbXMLCountry"type="s:s tring" /><s:element minOccurs="1" maxOccurs="1" name="qbXMLMajorVers"type="s :int" /><s:element minOccurs="1" maxOccurs="1" name="qbXMLMinorVers"type="s :int" /></s:sequence> </s:complexType> </s:element> <s:element name="sendRequestXMLResponse"> <s:complexType> <s:sequence> <s:element minOccurs="0" maxOccurs="1"name="sendRequestXMLResult" t ype="s:string" /></s:sequence> </s:complexType> </s:element> <s:element name="receiveResponseXML"> <s:complexType> <s:sequence> <s:element minOccurs="0" maxOccurs="1" name="ticket"type="s:string" /><s:element minOccurs="0" maxOccurs="1" name="response"type="s:strin g" /><s:element minOccurs="0" maxOccurs="1" name="hresult"type="s:string " /><s:element minOccurs="0" maxOccurs="1" name="message"type="s:string" /></s:sequence> </s:complexType> </s:element> <s:element name="receiveResponseXMLResponse"> <s:complexType> <s:sequence> <s:element minOccurs="1" maxOccurs="1"name="receiveResponseXMLResul t" type="s:int" /></s:sequence> </s:complexType> </s:element> <s:element name="connectionError"> <s:complexType> <s:sequence> <s:element minOccurs="0" maxOccurs="1" name="ticket"type="s:string" /><s:element minOccurs="0" maxOccurs="1" name="hresult"type="s:string " /><s:element minOccurs="0" maxOccurs="1" name="message"type="s:string " /></s:sequence> </s:complexType> </s:element> <s:element name="connectionErrorResponse"> <s:complexType> <s:sequence> <s:element minOccurs="0" maxOccurs="1"name="connectionErrorResult" type="s:string" /></s:sequence> </s:complexType> </s:element> <s:element name="getLastError"> <s:complexType> <s:sequence> <s:element minOccurs="0" maxOccurs="1" name="ticket"type="s:string" /></s:sequence> </s:complexType> </s:element> <s:element name="getLastErrorResponse"> <s:complexType> <s:sequence> <s:element minOccurs="0" maxOccurs="1" name="getLastErrorResult"typ e="s:string" /></s:sequence> </s:complexType> </s:element> <s:element name="closeConnection"> <s:complexType> <s:sequence> <s:element minOccurs="0" maxOccurs="1" name="ticket"type="s:string" /></s:sequence> </s:complexType> </s:element> <s:element name="closeConnectionResponse"> <s:complexType> <s:sequence> <s:element minOccurs="0" maxOccurs="1"name="closeConnectionResult" type="s:string" /></s:sequence> </s:complexType> </s:element> </s:schema></wsdl:types> <wsdl:message name="authenticateSoapIn"><wsdl:part name="parameters" element="tns:authenticate" /></wsdl:message> <wsdl:message name="authenticateSoapOut"><wsdl:part name="parameters" element="tns:authenticateResponse" /></wsdl:message> <wsdl:message name="sendRequestXMLSoapIn"><wsdl:part name="parameters" element="tns:sendRequestXML" /></wsdl:message> <wsdl:message name="sendRequestXMLSoapOut"><wsdl:part name="parameters" element="tns:sendRequestXMLResponse" /></wsdl:message> <wsdl:message name="receiveResponseXMLSoapIn"><wsdl:part name="parameters" element="tns:receiveResponseXML" /></wsdl:message> <wsdl:message name="receiveResponseXMLSoapOut"><wsdl:part name="parameters" element="tns:receiveResponseXMLResponse" /></wsdl:message> <wsdl:message name="connectionErrorSoapIn"><wsdl:part name="parameters" element="tns:connectionError" /></wsdl:message> <wsdl:message name="connectionErrorSoapOut"><wsdl:part name="parameters" element="tns:connectionErrorResponse" /></wsdl:message> <wsdl:message name="getLastErrorSoapIn"><wsdl:part name="parameters" element="tns:getLastError" /></wsdl:message> <wsdl:message name="getLastErrorSoapOut"><wsdl:part name="parameters" element="tns:getLastErrorResponse" /></wsdl:message> <wsdl:message name="closeConnectionSoapIn"><wsdl:part name="parameters" element="tns:closeConnection" /></wsdl:message> <wsdl:message name="closeConnectionSoapOut"><wsdl:part name="parameters" element="tns:closeConnectionResponse" /></wsdl:message> <wsdl:portType name="QBWebConnectorSvcSoap"><wsdl:operation name="authenticate"> <wsdl:input message="tns:authenticateSoapIn" /> <wsdl:output message="tns:authenticateSoapOut" /> </wsdl:operation> <wsdl:operation name="sendRequestXML"> <wsdl:input message="tns:sendRequestXMLSoapIn" /> <wsdl:output message="tns:sendRequestXMLSoapOut" /> </wsdl:operation> <wsdl:operation name="receiveResponseXML"> <wsdl:input message="tns:receiveResponseXMLSoapIn" /> <wsdl:output message="tns:receiveResponseXMLSoapOut" /> </wsdl:operation> <wsdl:operation name="connectionError"> <wsdl:input message="tns:connectionErrorSoapIn" /> <wsdl:output message="tns:connectionErrorSoapOut" /> </wsdl:operation> <wsdl:operation name="getLastError"> <wsdl:input message="tns:getLastErrorSoapIn" /> <wsdl:output message="tns:getLastErrorSoapOut" /> </wsdl:operation> <wsdl:operation name="closeConnection"> <wsdl:input message="tns:closeConnectionSoapIn" /> <wsdl:output message="tns:closeConnectionSoapOut" /> </wsdl:operation></wsdl:portType> <wsdl:binding name="QBWebConnectorSvcSoap" type="tns:QBWebConnectorSvcSoap"><soap:binding transport="http://schemas.xmlsoap.org/soap/http"style="docume nt" /><wsdl:operation name="authenticate"> <soap:operation soapAction="http://developer.intuit.com/authenticate"styl e="document" /><wsdl:input> <soap:body use="literal" /> </wsdl:input> <wsdl:output> <soap:body use="literal" /> </wsdl:output> </wsdl:operation> <wsdl:operation name="sendRequestXML"> <soap:operationsoapAction="http://developer.intuit.com/sendRequestXML" st yle="document" /><wsdl:input> <soap:body use="literal" /> </wsdl:input> <wsdl:output> <soap:body use="literal" /> </wsdl:output> </wsdl:operation> <wsdl:operation name="receiveResponseXML"> <soap:operationsoapAction="http://developer.intuit.com/receiveResponseXML" style="document" /><wsdl:input> <soap:body use="literal" /> </wsdl:input> <wsdl:output> <soap:body use="literal" /> </wsdl:output> </wsdl:operation> <wsdl:operation name="connectionError"> <soap:operationsoapAction="http://developer.intuit.com/connectionError" style="document" /><wsdl:input> <soap:body use="literal" /> </wsdl:input> <wsdl:output> <soap:body use="literal" /> </wsdl:output> </wsdl:operation> <wsdl:operation name="getLastError"> <soap:operation soapAction="http://developer.intuit.com/getLastError"style="document" /><wsdl:input> <soap:body use="literal" /> </wsdl:input> <wsdl:output> <soap:body use="literal" /> </wsdl:output> </wsdl:operation> <wsdl:operation name="closeConnection"> <soap:operationsoapAction="http://developer.intuit.com/closeConnection" style="document" /><wsdl:input> <soap:body use="literal" /> </wsdl:input> <wsdl:output> <soap:body use="literal" /> </wsdl:output> </wsdl:operation></wsdl:binding> <wsdl:service name="QBWebConnectorSvc"><wsdl:port name="QBWebConnectorSvcSoap"binding="tns:QBWebConnectorSvcSoap"><soap:addresslocation="https://test.webservice.com/~bowb/oscommerce_test/catalog/qbpos_webservice.php" /></wsdl:port></wsdl:service> </wsdl:definitions> and the raw post data: [<?xml version="1.0" encoding="utf-8"?><soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><soap:Body><authenticate xmlns="http://developer.intuit.com/"><strUserName>test</strUserName><strPassword>test</strPassword></authenticate></soap:Body></soap:Envelope>] Is the array parameter the expected behavior or should I be getting the two parameters. I am new to php soap and wsdl and need some direction on what I should be expecting from php soap and the wsdl file. Thanks, Truman -- View this message in context: http://www.nabble.com/Expected-paramaters-not-matching-t1427250.html#a3848975 Sent from the Php - Soap forum at Nabble.com.