axis-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Ivan <xhh...@gmail.com>
Subject Check the parameter style first in ArtifactProcessor ?
Date Wed, 06 Apr 2011 08:51:04 GMT
Hi, devs
    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 ?
-- 
Ivan

Mime
View raw message