cxf-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Alton Idowu (JIRA)" <j...@apache.org>
Subject [jira] Updated: (CXF-1598) Soap message generated via JaxWsProxyFactoryBean created client fails
Date Wed, 21 May 2008 00:20:55 GMT

     [ https://issues.apache.org/jira/browse/CXF-1598?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Alton Idowu updated CXF-1598:
-----------------------------

    Description: 
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>



  was:
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:mil.af.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:mil.af.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>




> 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
>    Affects Versions: 2.1
>         Environment: Windows XP, Ubuntu 7.04, jdk 1.5.0_09, CXF 2.1
>            Reporter: Alton Idowu
>
> 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.


Mime
View raw message