You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@cxf.apache.org by av...@solnet.ch on 2008/03/31 18:55:12 UTC

JAX-WS with soap-header and soap-body parameters

hi all,

while testing a wsdl-first JAX-WS, classes generated using cxf 2.0.5
snapshot (behaviour was the same with cxf 2.0.2 and 2.0.4)  with wsdl2java
-all -exsh true,
i'm getting following error within the generated sample-server:

INFO: Application has thrown exception, unwinding now
org.apache.cxf.interceptor.Fault: wrong number of arguments while invoking
public java.lang.String
net.aaa.Service1SoapImpl.removeAccount(java.lang.String,net.aaa.AuthHeader)
with params [ddddddddddd].
	at
org.apache.cxf.service.invoker.AbstractInvoker.createFault(AbstractInvoker.java:109)

how to make it work?

regards,
andré


ps: snippets from wsdl:

<snipp>
    <s:element name="AuthHeader" type="tns:AuthHeader" />
      <s:complexType name="AuthHeader">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="1" name="Username"
type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="Password"
type="s:string" />
        </s:sequence>
        <s:anyAttribute />
      </s:complexType>
      <s:element name="RemoveAccount">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="username"
type="s:string" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="RemoveAccountResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1"
name="RemoveAccountResult" type="s:string" />
          </s:sequence>
        </s:complexType>
      </s:element>
<snipp>

<snipp>

<wsdl:message name="RemoveAccountSoapIn">
    <wsdl:part name="parameters" element="tns:RemoveAccount" />
  </wsdl:message>
  <wsdl:message name="RemoveAccountSoapOut">
    <wsdl:part name="parameters" element="tns:RemoveAccountResponse" />
  </wsdl:message>
  <wsdl:message name="RemoveAccountAuthHeader">
    <wsdl:part name="AuthHeader" element="tns:AuthHeader" />
  </wsdl:message>
<snipp>

<snipp>
<wsdl:portType name="Service1Soap">
..
    <wsdl:operation name="RemoveAccount">
      <wsdl:input message="tns:RemoveAccountSoapIn" />
      <wsdl:output message="tns:RemoveAccountSoapOut" />
    </wsdl:operation>
..
  </wsdl:portType>
<snipp>

<snipp>
<wsdl:binding name="Service1Soap" type="tns:Service1Soap">
    <soap:binding transport="http://schemas.xmlsoap.org/soap/http" />
..
<wsdl:operation name="RemoveAccount">
      <soap12:operation soapAction="http://aaa.net/RemoveAccount"
style="document" />
      <wsdl:input>
        <soap12:body use="literal" />
        <soap12:header message="tns:RemoveAccountAuthHeader"
part="AuthHeader" use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap12:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
..
</wsdl:binding>
<snipp>

Version Info:
/**
 * This class was generated by Apache CXF (incubator)
2.0.5-incubator-SNAPSHOT
 * Mon Mar 31 16:34:26 CEST 2008
 * Generated source version: 2.0.5-incubator-SNAPSHOT
 *
 */