cxf-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From sbrock <stuart.br...@broadridge.com>
Subject gSOAP client failing to call Apache-CXF/XFire server...
Date Tue, 15 Sep 2009 16:08:16 GMT

The following WSDL was generated by the Apache-CXF framework for a web
service:

<?xml version="1.0" encoding="UTF-8" ?>
<wsdl:definitions name="QuoteService"
targetNamespace="http://api.webservice.quotews.broadridge.com/"
xmlns:ns1="http://schemas.xmlsoap.org/wsdl/soap/http"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:tns="http://api.webservice.quotews.broadridge.com/"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<wsdl:types>
<xs:schema attributeFormDefault="unqualified"
elementFormDefault="unqualified"
targetNamespace="http://api.webservice.quotews.broadridge.com/"
xmlns:tns="http://api.webservice.quotews.broadridge.com/"
xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:complexType name="baseWebServiceData">
<xs:sequence>
<xs:element minOccurs="0" name="extra" type="tns:MarshalledMap" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="MarshalledMap">
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" name="entry"
type="tns:IdentifiedObject" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="IdentifiedObject">
<xs:sequence>
<xs:element name="id" type="xs:anyType" />
<xs:element minOccurs="0" name="value" type="xs:anyType" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="QuoteServiceRequest">
<xs:complexContent>
<xs:extension base="tns:baseWebServiceData">
<xs:sequence>
<xs:element minOccurs="0" name="realtime" type="xs:boolean" />
<xs:element minOccurs="0" name="account" type="xs:string" />
<xs:element minOccurs="0" name="application" type="xs:string" />
<xs:element maxOccurs="unbounded" minOccurs="0" name="service"
type="xs:string" />
<xs:element maxOccurs="unbounded" minOccurs="0" name="symbol"
type="tns:SymbolInfo" />
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="SymbolInfo">
<xs:complexContent>
<xs:extension base="tns:baseWebServiceData">
<xs:sequence>
<xs:element minOccurs="0" name="type" type="xs:string" />
<xs:element maxOccurs="unbounded" minOccurs="0" name="symbols"
type="xs:string" />
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="QuoteServiceReply">
<xs:complexContent>
<xs:extension base="tns:baseWebServiceData">
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" name="quote"
type="tns:QuoteData" />
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="QuoteData">
<xs:complexContent>
<xs:extension base="tns:baseWebServiceData">
<xs:sequence>
<xs:element minOccurs="0" name="symbol" type="xs:string" />
<xs:element minOccurs="0" name="price" type="xs:decimal" />
<xs:element minOccurs="0" name="change" type="xs:decimal" />
<xs:element minOccurs="0" name="datetime" type="xs:string" />
<xs:element minOccurs="0" name="size" type="xs:long" />
<xs:element minOccurs="0" name="sharevolume" type="xs:long" />
<xs:element minOccurs="0" name="exchange" type="xs:string" />
<xs:element minOccurs="0" name="askprice" type="xs:decimal" />
<xs:element minOccurs="0" name="asksize" type="xs:long" />
<xs:element minOccurs="0" name="bidsize" type="xs:long" />
<xs:element minOccurs="0" name="bidprice" type="xs:decimal" />
<xs:element minOccurs="0" name="high" type="xs:decimal" />
<xs:element minOccurs="0" name="low" type="xs:decimal" />
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:element name="getSymbolTypes" type="tns:getSymbolTypes" />
<xs:complexType name="getSymbolTypes">
<xs:sequence />
</xs:complexType>
<xs:element name="getSymbolTypesResponse" type="tns:getSymbolTypesResponse"
/>
<xs:complexType name="getSymbolTypesResponse">
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" name="return"
type="xs:string" />
</xs:sequence>
</xs:complexType>
<xs:element name="getQuotes" type="tns:getQuotes" />
<xs:complexType name="getQuotes">
<xs:sequence>
<xs:element minOccurs="0" name="arg0" type="tns:QuoteServiceRequest" />
</xs:sequence>
</xs:complexType>
<xs:element name="getQuotesResponse" type="tns:getQuotesResponse" />
<xs:complexType name="getQuotesResponse">
<xs:sequence>
<xs:element minOccurs="0" name="return" type="tns:QuoteServiceReply" />
</xs:sequence>
</xs:complexType>
</xs:schema>
</wsdl:types>
<wsdl:message name="getSymbolTypes">
<wsdl:part element="tns:getSymbolTypes" name="parameters" />
</wsdl:message>
<wsdl:message name="getSymbolTypesResponse">
<wsdl:part element="tns:getSymbolTypesResponse" name="parameters" />
</wsdl:message>
<wsdl:message name="getQuotes">
<wsdl:part element="tns:getQuotes" name="parameters" />
</wsdl:message>
<wsdl:message name="getQuotesResponse">
<wsdl:part element="tns:getQuotesResponse" name="parameters" />
</wsdl:message>
<wsdl:portType name="QuoteService">
<wsdl:operation name="getSymbolTypes">
<wsdl:input message="tns:getSymbolTypes" name="getSymbolTypes" />
<wsdl:output message="tns:getSymbolTypesResponse"
name="getSymbolTypesResponse" />
</wsdl:operation>
<wsdl:operation name="getQuotes">
<wsdl:input message="tns:getQuotes" name="getQuotes" />
<wsdl:output message="tns:getQuotesResponse" name="getQuotesResponse" />
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="QuoteServiceSoapBinding" type="tns:QuoteService">
<soap:binding style="document"
transport="http://schemas.xmlsoap.org/soap/http" />
<wsdl:operation name="getSymbolTypes">
<soap:operation soapAction="" style="document" />
<wsdl:input name="getSymbolTypes">
<soap:body use="literal" />
</wsdl:input>
<wsdl:output name="getSymbolTypesResponse">
<soap:body use="literal" />
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="getQuotes">
<soap:operation soapAction="" style="document" />
<wsdl:input name="getQuotes">
<soap:body use="literal" />
</wsdl:input>
<wsdl:output name="getQuotesResponse">
<soap:body use="literal" />
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="QuoteService">
<wsdl:port binding="tns:QuoteServiceSoapBinding" name="QuoteServicePort">
<soap:address
location="http://206.88.41.168:8086/quoteService/services/quoteService" />
</wsdl:port>
</wsdl:service>
</wsdl:definitions>

I am using gSOAP 2.6.0 to generate a client to call the getQuotes service.
The
issue I am having is that the request sent to the web service by the gSOAP
client does not have the correct namespace qualifieres on the payload. As a
result the Apache-CXF/XFire parser does not bind the payload to an object
and
the service receives an empty request.

Here is the request that is sent by the gSOAP client:

<?xml version="1.0" encoding="UTF-8" ?>
<SOAP-ENV:Envelope
xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ns1="http://api.webservice.quotews.broadridge.com/"
xmlns:ns2="QuoteServiceSoapBinding"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<SOAP-ENV:Body id="_0">
<getQuotes xmlns="http://api.webservice.quotews.broadridge.com/"
xsi:type="ns1:getQuotes">
<arg0 xsi:type="ns1:QuoteServiceRequest">
<realtime>true</realtime>
<account xsi:type="xsd:string">111111101</account>
<application xsi:type="xsd:string">StockMarketGame</application>
<service xsi:type="xsd:string">eSignal</service>
<symbol xsi:type="ns1:SymbolInfo">
<type xsi:type="xsd:string">stock</type>
<symbols xsi:type="xsd:string">BR</symbols>
</symbol>
</arg0>
</getQuotes>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Is there a way to fix this problem by editing the WSDL? I have read postings
on
the web that mention editing the WSDL by hand, but I don't have a clue what
to
change to make things work.

Any suggestions are greatly appreciated.

Stu

-- 
View this message in context: http://www.nabble.com/gSOAP-client-failing-to-call-Apache-CXF-XFire-server...-tp25456882p25456882.html
Sent from the cxf-user mailing list archive at Nabble.com.


Mime
View raw message