Expected paramaters not matching

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

 



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:operation
soapAction="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:operation
soapAction="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:operation
soapAction="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:operation
soapAction="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:address
location="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.

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