I believe its fixed in 1.2.5

On 3/19/07, Shal Jain <[EMAIL PROTECTED]> wrote:

XFIRE version 1.2.4
Using Eclipse XFIRE plugin to generate classes from the WSDL
Webservice and client both written using XFIRE

I am running into issues handle soap:header elements defined in the WSDL
The two problems that I am seeing are
a) How do I actually send the header element and have it appear in the SOAP
header (w/out registering an outHandler against the client)
b) When creating the client, the method interface requires passing in the
header element as part of the parameter stack
which results in an Illegal Argument XFault because the WSDL really defines
that as a header obj.

I am including all the necessary bits to see if someone has a recommended
solution

Including the relevant components from the WSDL
<types>
        <s:schema elementFormDefault="qualified"
targetNamespace="http://www.xyz.com/MyService";>
        <s:element name="Token" >
                <s:complexType>
                        <s:sequence>
                                <s:element name="Token_1" type="s:string"
maxOccurs="1" minOccurs="1"/>
                        </s:sequence>
                </s:complexType>
        </s:element>
</s:schema>
</types>


<message name="tokenMessage">
        <part name="header" element="y:Token" />
</message>



<binding...>

        <operation name="oper1">
                <soap:operation
soapAction="http://www.xyz.com/MyService/oper1"/>
                <input>
                        <soap:header message="y:tokenMessage" part="header"
use="literal"/>
                        <soap:body use="literal"/>
                </input>
                <output>
                        <soap:body use="literal"/>
                </output>
        </operation>
</binding>

The generated interface (MyServicePortType.java) looks something like this


    @WebMethod(operationName = "oper1", action =
"http://www.xyz.com/MyService/oper1";)
    @WebResult(name = "oper1Result", targetNamespace =
"http://www.xyz.com/MyService";)
    public String oper1(
        @WebParam(name = "inpCode", targetNamespace =
"http://www.xyz.com/MyService";)
        int inpCode,
        @WebParam(name = "Token", targetNamespace =
"http://www.xyz.com/MyService";, header = true)
        com.xyz.myservice.Token Token);


Actual client code

    Service serviceModel = new ObjectServiceFactory().create(
            MyServicePortType.class, "MyService",
        "http://xfire.codehaus.org/MTOMService";, null);

    MyServicePortType service = null;
    try {
      service = (MyServicePortType) new XFireProxyFactory().create(
          serviceModel,
"http://localhost:8080/MyService/services/MyService";);
    } catch (MalformedURLException e) {
      e.printStackTrace();
      assertTrue(false);
    }

    Client client = Client.getInstance(service);
    client.setProperty("mtom-enabled","true");

    Token token = new Token();

    service.oper1(42,        token);        <--- making this call throws an
illegal argument exception.  Also, the token is not placed into the SOAP
header







 Shal Jain
 FoundationIP - Part of CPA Software Solutions

 Tel: +1 612-236-9981
 [EMAIL PROTECTED]
 Fax: +1 612-332-0080

 900 Second Avenue South, Suite 1700
 Minneapolis, Minnesota  55402

 CPA is the world's leading provider of outsourced IP services.  For further
information about our products and services go to www.cpaglobal.com


********************************************************************************
The information in this message is confidential and may be legally
privileged. It is intended solely for the addressee; access to this
email by anyone else is unauthorized.

If you are not the intended recipient: (1) you are kindly requested
to return a copy of this message to the sender indicating that you
have received it in error, and to destroy the received copy; and (2)
any disclosure or distribution of this message, as well as any action
taken or omitted to be taken in reliance on its content, is prohibited
and may be unlawful.
********************************************************************************




--
-----
When one of our products stops working, we'll blame another vendor
within 24 hours.

---------------------------------------------------------------------
To unsubscribe from this list please visit:

   http://xircles.codehaus.org/manage_email

Reply via email to