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.
