You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by "Ivan (JIRA)" <ji...@apache.org> on 2011/04/11 04:37:05 UTC

[jira] [Created] (AXIS2-4999) Not dectecting wrapper classes for bare style SEI

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: java-dev-unsubscribe@axis.apache.org
For additional commands, e-mail: java-dev-help@axis.apache.org


[jira] [Updated] (AXIS2-4999) Not dectecting wrapper classes for bare style SEI

Posted by "Ivan (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/AXIS2-4999?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Ivan updated AXIS2-4999:
------------------------

    Attachment: AXIS2-4999-01.patch

Update the patch a bit, seems that only the wrapper class detection for request/response needs to be ingored.

> 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
>         Attachments: AXIS2-4999-01.patch, AXIS2-4999.patch
>
>
> 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: java-dev-unsubscribe@axis.apache.org
For additional commands, e-mail: java-dev-help@axis.apache.org


[jira] [Resolved] (AXIS2-4999) Not dectecting wrapper classes for bare style SEI

Posted by "Ivan (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/AXIS2-4999?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Ivan resolved AXIS2-4999.
-------------------------

    Resolution: Invalid

Finally, I found that my failed cases passed while using customized class finder, so close this JIRA as invalid. But it still looked to me that no need to check the wrapper class if the binding style is bare, and no need to add the classes of non jaxb annotation in the context, since JAX-WS use JAXB as default binding solution. Guess that Axis2 might provide some extra binding features, so need to do this. Anyway, sorry for the noise.

> 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
>         Attachments: AXIS2-4999-01.patch, AXIS2-4999.patch
>
>
> 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: java-dev-unsubscribe@axis.apache.org
For additional commands, e-mail: java-dev-help@axis.apache.org


[jira] [Updated] (AXIS2-4999) Not dectecting wrapper classes for bare style SEI

Posted by "Ivan (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/AXIS2-4999?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Ivan updated AXIS2-4999:
------------------------

    Attachment: AXIS2-4999.patch

Attach a proposed patch, please help to review, thanks.

> 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
>         Attachments: AXIS2-4999.patch
>
>
> 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: java-dev-unsubscribe@axis.apache.org
For additional commands, e-mail: java-dev-help@axis.apache.org