metro-jax-ws icon indicating copy to clipboard operation
metro-jax-ws copied to clipboard

Retain WebParam order as they are defined in the WSDL

Open Tomas-Kraus opened this issue 3 years ago • 0 comments

Consider this snippet:

<wsdl:operation name="CreateProject">
    <soap:operation
        soapAction="urn:.../CreateProject" />
    <wsdl:input>
        <soap:header use="literal" part="metadata" message="tns:RequestMetadata" />
        <soap:body use="literal" />
    </wsdl:input>
    <wsdl:output>
        <soap:body use="literal" />
    </wsdl:output>
</wsdl:operation>

But the created signature is this:

@WebMethod(operationName = "CreateProject", action = "urn:.../CreateProject")
	@WebResult(name = "CreatedProject", targetNamespace = "urn:...", partName = "respone")
	public String createProject(
		@WebParam(name = "CreateProject", targetNamespace = "urn:...", partName = "request")
		CreateProject request,
		@WebParam(name = "RequestMetadata", targetNamespace = "urn:...", header = true, partName = "metadata")
		RequestMetadata metadata);

The order of the @WebParams are not retained as they are defined in the WSDL. That should be standrd or at least an wsimport option.

Affected Versions

[2.2.8]

Source: https://github.com/javaee/metro-jax-ws/issues/1146 Author: glassfishrobot

Tomas-Kraus avatar Jun 02 '22 17:06 Tomas-Kraus