cxf-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Daniel Kulp (Resolved) (JIRA)" <>
Subject [jira] [Resolved] (CXF-4201) Error if two methods start with a parameter of the same name
Date Mon, 26 Mar 2012 15:30:27 GMT


Daniel Kulp resolved CXF-4201.

    Resolution: Won't Fix
      Assignee: Daniel Kulp

Fixing this would require MASSIVE changes in CXF to buffer the parts coming in, break streaming,
recalculate potential operations, etc...   

In addition, such constructs are not WSI-Basic Profile compliant.   Per the profile (section
4.4.1): "For document-literal bindings, the Profile requires that at most one part, abstractly
defined with the element attribute, be serialized into the soap:Body element."  In this case,
two elements are being serialized into the soap:Body and is thus not compliant.

Furthur, the WSI-BP spec states:  "The profile defines the "operation signature" to be the
fully qualified name of the child element of SOAP body of the SOAP input message described
by an operation in a WSDL binding."   With only a single element allowed, this makes it simple
for frameworks like CXF to map the element to the given operation.   

In anycase, as this issue is outside of the BasicProfile compliance, it's not something we're
likely to address.

> Error if two methods start with a parameter of the same name
> ------------------------------------------------------------
>                 Key: CXF-4201
>                 URL:
>             Project: CXF
>          Issue Type: Bug
>          Components: JAX-WS Runtime
>    Affects Versions: 2.5.2
>         Environment: Java 6, Jetty, Java 5, Glassfish 2
>            Reporter: Björn
>            Assignee: Daniel Kulp
>              Labels: jax-ws,
>         Attachments:,
> I have two methods in my webservice that start with the same parameter (but one has two
parameters, I know there is a general SOAP issue if two methods have identical signature):

> @WebService(targetNamespace = "http://dummy/", name = "Dummy")
> @SOAPBinding(parameterStyle = SOAPBinding.ParameterStyle.BARE)
> public interface Dummy {
>     @WebMethod
>     public void method(
>         @WebParam(partName = "badParam", name = "badParam", targetNamespace = "http://dummy/")
>         java.lang.String badParam,
>         @WebParam(partName = "anotherParam", name = "anotherParam", targetNamespace =
>         java.math.BigInteger anotherParam
>     );
>     @WebMethod
>     public void anotherMethod(
>         @WebParam(partName = "badParam", name = "badParam", targetNamespace = "http://dummy/")
>         java.lang.String badParam
>     );
> }
> This causes a Message part {http://dummy/}anotherParam
was not recognized.  (Does it exist in service WSDL?)
> If I try to call those methods (I call them with the default test client generated with
the Maven plugin).
> I have attached and which are test projects where you can
start the service with maven and then execute the default client against it, also with maven.

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:!default.jspa
For more information on JIRA, see:


View raw message