cxf-users mailing list archives

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

Version 2.2.2 of CXF is being used.

I notice in the WSDL that the default namespace is unqualified, but how do I
make the rest of the document unqualified?  Do I just strip all the
namespaces out by hand, or is there a CXF option that can be used when
generating the WSDL?  From what I have seen, I agree that this is the crux
of the issue, I am just not sure how to go about resolving it.

Thank you for your assistance, it really is greatly appreciated.

Stu


bimargulies wrote:
> 
> What version of CXF?
> 
> I would recommend aiming for 'unqualified' for work with gsoap.
> 
> On Tue, Sep 15, 2009 at 12:08 PM, sbrock
> <stuart.brock@broadridge.com>wrote:
> 
>>
>> 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.
>>
>>
> 
> 

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


Mime
View raw message