WSDLToJava fails to generate parameter for request header
---------------------------------------------------------

                 Key: CXF-907
                 URL: https://issues.apache.org/jira/browse/CXF-907
             Project: CXF
          Issue Type: Bug
          Components: Tooling
    Affects Versions: 2.1
         Environment: Windows XP
            Reporter: Manuel Bleichenbacher
         Attachments: gepir.wsdl

I'm writing a client for a web service that uses both request and response 
header data in each operation. WSDLToJava nicely generates an output parameter 
for the response header data but misses to do the same for the request header 
data.

So instead of:
    @SOAPBinding(parameterStyle = SOAPBinding.ParameterStyle.BARE)
    @WebMethod(action = "http://www.gepir.org/GetPartyByGTIN";, operationName = 
"GetPartyByGTIN")
    public void getPartyByGTIN(
        @WebParam(targetNamespace = "http://www.gepir.org/";, partName = 
"partyGtin", name = "GetPartyByGTIN")
        org.gepir.GetPartyByGTIN partyGtin,
        @WebParam(targetNamespace = "http://www.gepir.org/";, header = true, 
partName = "gepirRequestHeader", name = "gepirRequestHeader")
        org.gepir.GepirRequestHeader gepirRequestHeader,
        @WebParam(targetNamespace = "http://www.gepir.org/";, mode = Mode.OUT, 
partName = "GetPartyByGTINResult", name = "gepirParty")
        javax.xml.ws.Holder<org.gepir.GepirParty> getPartyByGTINResult,
        @WebParam(targetNamespace = "http://www.gepir.org/";, header = true, 
mode = Mode.OUT, partName = "gepirResponseHeader", name = "gepirResponseHeader")
        javax.xml.ws.Holder<org.gepir.GepirResponseHeader> gepirResponseHeader
    );

it just generates (the second parameter is missing):

    @SOAPBinding(parameterStyle = SOAPBinding.ParameterStyle.BARE)
    @WebMethod(action = "http://www.gepir.org/GetPartyByGTIN";, operationName = 
"GetPartyByGTIN")
    public void getPartyByGTIN(
        @WebParam(targetNamespace = "http://www.gepir.org/";, partName = 
"partyGtin", name = "GetPartyByGTIN")
        org.gepir.GetPartyByGTIN partyGtin,
        @WebParam(targetNamespace = "http://www.gepir.org/";, mode = Mode.OUT, 
partName = "GetPartyByGTINResult", name = "gepirParty")
        javax.xml.ws.Holder<org.gepir.GepirParty> getPartyByGTINResult,
        @WebParam(targetNamespace = "http://www.gepir.org/";, header = true, 
mode = Mode.OUT, partName = "gepirResponseHeader", name = "gepirResponseHeader")
        javax.xml.ws.Holder<org.gepir.GepirResponseHeader> gepirResponseHeader
    );

This applies to all operations/methods.

I've added the missing parameter manually for the moment. Then the client 
nicely works.

The WSDL file can be found at http://gepir.gs1.ch/v3/router.asmx?wsdl. But you 
have to delete the routetHttpGet and routerHttpPost ports and bindings before 
using it. They don't seem to be valid.



-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to