Not dectecting wrapper classes for bare style SEI
-------------------------------------------------

                 Key: AXIS2-4999
                 URL: https://issues.apache.org/jira/browse/AXIS2-4999
             Project: Axis2
          Issue Type: Bug
          Components: jaxws
    Affects Versions: 1.6.0
            Reporter: Ivan


I found that the class 
org.apache.axis2.jaxws.runtime.description.marshal.impl.ArtifactProcessor is 
used to find the wrapper class for request, response and fault. But is it 
required to check the parameter first, and if it is of bare style, the 
following codes could be ignored. ?
    --->
    void build() {
        for (EndpointDescription ed : serviceDesc.getEndpointDescriptions()) {
            if (ed.getEndpointInterfaceDescription() != null && 
ed.getEndpointInterfaceDescription().getSoapBindingParameterStyle() == 
SOAPBinding.ParameterStyle.WRAPPED) { <--- add the parameter style chceking
                for (OperationDescription opDesc : 
ed.getEndpointInterfaceDescription()
                    .getOperations()) {
   <---

   I found that in some cases, e.g.
   @WebService
   @SOAPBinding(parameterStyle=BARE)
   public interface Hello {
       public void hello();
      ...
   }
   In this case, the SEI class has the same name with its method, and in 
ArtifactProcessor, even it is marked as BARE parameter style, Hello will be 
configured as the request wrapper class. Also, it is added to the 
context-packages, in the later message process, it would throw exception like 
Hello is not in the jaxbContext.
  Thoughts ?

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to