I'm attempting to build a client side for a quoting web service. The third party who maintains the server side has provided a WSDL in paper form but hasn't hosted it on the web. Their documentation is also pretty much non-existent. I'm using php and nusoap to develop the client. I can't initilise my soapclient with the WSDL and am receiving error messages that don't give me a lot of information about what I'm doing wrong.
The WSDL is:
<?xml version="1.0" encoding="UTF-8" ?>
<definitions name="PriceQuoteService" targetNamespace="http://pqs.ws.jboss.org/" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:ns2="http://pqs.ws.jboss.org/types" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://pqs.ws.jboss.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<types>
<schema targetNamespace="http://pqs.ws.jboss.org/types" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:soap11-enc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns="http://pqs.ws.jboss.org/types" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<import namespace="http://schemas.xmlsoap.org/soap/encoding/" />
<complexType name="LocalAccessDomain">
<sequence>
<element name="bandwidth" type="string" />
<element name="city" type="string" />
<element name="customerName" type="string" />
<element name="litBldgFlag" type="boolean" />
<element name="state" type="string" />
<element name="street" type="string" />
<element name="term" type="short" />
<element name="zip" type="string" />
<element name="zip4" type="string" />
</sequence>
</complexType>
<complexType name="LocalAccessPrice">
<sequence>
<element name="message" type="string" />
<element name="nonRecurringPrice" type="double" />
<element name="quoteId" type="long" />
<element name="recurringPrice" type="double" />
<element name="statusCode" type="string" />
</sequence>
</complexType>
</schema>
</types>
<message name="PQSService_calculatePricesResponse">
<part name="result" type="ns2:LocalAccessPrice" />
</message>
<message name="PQSService_calculatePrices">
<part name="LocalAccessDomain_1" type="ns2:LocalAccessDomain" />
</message>
<portType name="PQSService">
<operation name="calculatePrices" parameterOrder="LocalAccessDomain_1">
<input message="tns:PQSService_calculatePrices" />
<output message="tns:PQSService_calculatePricesResponse" />
</operation>
</portType>
<binding name="PQSServiceBinding" type="tns:PQSService">
<soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http" />
<operation name="calculatePrices">
<soap:operation soapAction="" />
<input>
<soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://pqs.ws.jboss.org/" use="encoded" />
</input>
<output>
<soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://pqs.ws.jboss.org/" use="encoded" />
</output>
</operation>
</binding>
<service name="PriceQuoteService">
<port binding="tns:PQSServiceBinding" name="PQSServicePort">
<soap:address location="http://thutmosis.mci.com:8443/pqsApp/pqsejbs/PQSService" />
</port>
</service>
</definitions> |
My request to the webservice is:
<?xml version="1.0" encoding="ISO-8859-1"?><SOAP-ENV:Envelope SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Header><userid>powernet</userid><password>jneSxok!ij3#3n9zG6nd</password></SOAP-ENV:Header><SOAP-ENV:Body><ns1303:calculatePrices xmlns:ns1303="http://pqs.ws.jboss.org"><LocalAccessDomain><bandwidth xsi:type="xsd:string">DS-1</bandwidth><city xsi:type="xsd:string">Fairfield</city><customerName xsi:type="xsd:string">Test Customer</customerName><litBldgFlag xsi:type="xsd:string">Y</litBldgFlag><state xsi:type="xsd:string">OH</state><street xsi:type="xsd:string">1252 Main St</street><term xsi:type="xsd:string">12</term><zip xsi:type="xsd:string">45014</zip><zip4 xsi:type="xsd:string">5556</zip4></LocalAccessDomain></ns1303:calculatePrices></SOAP-ENV:Body></SOAP-ENV:Envelope> |
The message back from the server is:
soapenv:Client
java.lang.IllegalArgumentException
I am assuming that the issue is with my request xml and not with the arguments to the API function. I have the debug if that would help.
Anyone have any ideas?