[
https://issues.apache.org/jira/browse/CXF-4201?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
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: https://issues.apache.org/jira/browse/CXF-4201
> 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: cxfbug.zip, cxfbug_client.zip
>
>
> 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 = "http://dummy/")
> java.math.BigInteger anotherParam
>
>
> );
> @WebMethod
> public void anotherMethod(
> @WebParam(partName = "badParam", name = "badParam", targetNamespace =
> "http://dummy/")
> java.lang.String badParam
> );
> }
> This causes a javax.xml.ws.soap.SOAPFaultException: 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 cxfbug.zip and cxfbug_client.zip 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:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira