You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cxf.apache.org by "Daniel Kulp (JIRA)" <ji...@apache.org> on 2009/10/28 18:39:59 UTC
[jira] Resolved: (CXF-1598) Soap message generated via
JaxWsProxyFactoryBean created client fails
[ https://issues.apache.org/jira/browse/CXF-1598?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Daniel Kulp resolved CXF-1598.
------------------------------
Resolution: Cannot Reproduce
Fix Version/s: Invalid
I'm resolving this as the soap messages that are now being generated are correct as per schema. If the service is rejecting it, then it's a bug in that service. You may need to write a custom interceptor/XMLStreamWriter or something to manipulate the message to workaround the bug in that service.
> Soap message generated via JaxWsProxyFactoryBean created client fails
> ---------------------------------------------------------------------
>
> Key: CXF-1598
> URL: https://issues.apache.org/jira/browse/CXF-1598
> Project: CXF
> Issue Type: Bug
> Components: JAX-WS Runtime
> Affects Versions: 2.1
> Environment: Windows XP, Ubuntu 7.04, jdk 1.5.0_09, CXF 2.1
> Reporter: Alton Idowu
> Assignee: Daniel Kulp
> Fix For: Invalid
>
> Attachments: cxf1598.zip
>
>
> The soap messages generated through DynamicClientFactory and JaxWsProxyFactoryBean are different. The message generated via the DynamicClientFactory created client generates a soap message with qualified parameters that is accepted by web service provider. However, the message JaxWsProxyFactoryBean created client generates a soap message with unqualified parameters that is rejected by the web service provider. Is there a parameter or custom interceptor code that I can use to force the JaxWsProxyFactoryBean created client to qualify the parameters? Unfortunately, changing the web service provider is not an option as their change management process is very arduous.
> Soap message generated via the DynamicClientFactory client:
> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
> <soap:Body>
> <ns1:executeQuery xmlns:ns1="urn:test.ilss.sup">
> <in0 xmlns="urn:test.ilss.sup">
> TEST DATA
> </in0>
> </ns1:executeQuery>
> </soap:Body>
> </soap:Envelope>
> Soap message generated via the JaxWsProxyFactoryBean client:
> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
> <soap:Body>
> <ns2:executeQuery xmlns:ns2="urn:test.ilss.sup">
> <in0>
> TEST DATA
> </in0>
> </ns2:executeQuery>
> </soap:Body>
> </soap:Envelope>
> The web service provider sends the following message for the JaxWsProxyFactoryBean client:
> <?xml version='1.0' encoding='UTF-8'?>
> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
> <soap:Body>
> <soap:Fault>
> <faultcode>Server</faultcode>
> <faultstring>Parameter in0 does not exist!</faultstring>
> </soap:Fault>
> </soap:Body>
> </soap:Envelope>
> WSDL:
> <?xml version="1.0" encoding="UTF-8"?>
> <wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns="urn:test.ilss.sup" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="urn:test.ilss.sup">
> <wsdl:types>
> <xsd:schema targetNamespace="urn:test.ilss.sup" elementFormDefault="qualified" attributeFormDefault="qualified">
> <xsd:element name="executeQuery">
> <xsd:complexType>
> <xsd:sequence>
> <xsd:element name="in0" type="xsd:string" minOccurs="1" maxOccurs="1" />
> </xsd:sequence>
> </xsd:complexType>
> </xsd:element>
> <xsd:element name="executeQueryResponse">
> <xsd:complexType>
> <xsd:sequence>
> <xsd:element name="out" type="xsd:string" minOccurs="1" maxOccurs="1" />
> </xsd:sequence>
> </xsd:complexType>
> </xsd:element>
> </xsd:schema>
> </wsdl:types>
> <wsdl:message name="executeQueryResponse">
> <wsdl:part element="tns:executeQueryResponse" name="parameters" />
> </wsdl:message>
> <wsdl:message name="executeQueryRequest">
> <wsdl:part element="tns:executeQuery" name="parameters" />
> </wsdl:message>
> <wsdl:portType name="servicePortType">
> <wsdl:operation name="executeQuery">
> <wsdl:input message="tns:executeQueryRequest" name="executeQueryRequest" />
> <wsdl:output message="tns:executeQueryResponse" name="executeQueryResponse" />
> </wsdl:operation>
> </wsdl:portType>
> <wsdl:binding name="serviceHttpBinding" type="tns:servicePortType">
> <wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" />
> <wsdl:operation name="executeQuery">
> <wsdlsoap:operation soapAction="" />
> <wsdl:input name="executeQueryRequest">
> <wsdlsoap:body use="literal" />
> </wsdl:input>
> <wsdl:output name="executeQueryResponse">
> <wsdlsoap:body use="literal" />
> </wsdl:output>
> </wsdl:operation>
> </wsdl:binding>
> <wsdl:service name="service">
> <wsdl:port binding="tns:serviceHttpBinding" name="serviceHttpPort">
> <wsdlsoap:address location="http://****/vip/queryservice.ws" />
> </wsdl:port>
> </wsdl:service>
> </wsdl:definitions>
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.