axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Lahiru Sandakith" <sandak...@gmail.com>
Subject Re: JAX-WS: problems with annotated methods
Date Wed, 28 Nov 2007 02:46:33 GMT
Hi Nick,

I was also looking at the possibilities of JSR-181 annotated class exposing
as a Axis2/JAXWS service.


On Nov 28, 2007 2:39 AM, Nicholas L Gallardo <nlgallar@us.ibm.com> wrote:

>  Keith,
>
> Are you talking about a JAX-WS specific deployer, or the POJO deployer?
> I'm not aware of a JAX-WS specific one, but certainly agree that one is
> needed.
>
This is about POJO Deployer, Simply we get this class

package jaxws.example;

import javax.jws.WebMethod;
import javax.jws.WebService;

@WebService(name= "WSASJAX_Service2", targetNamespace =
"http://www.webtest.org/jaxws
")
public class JAXWSService1 {

    @WebMethod(operationName = "echoMethodString")
    public String echoMethod(String s){
        return s;
    }
}

* make it a jar
* edit the axis2.xml entry specific on POJODeployer to pick up .jar files
* put the jar into the repository/pojo directory
* start axis2.

When we do that we see the service with 2 methods echoMethodString and
echoMethod.  This is  how to reproduce the issue.

Also I saw that in the POJODeployer class code, If the JAXWS jars are
present in the classpath then it will try to deploy it as a JAXWS endpoint,
else it will deploy it as a Axis2 endpoint.
https://svn.apache.org/repos/asf/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/POJODeployer.javaguess
this maybe the cause to the problem.

>
>
> My guess as to what's happening...
>
> Right now, we have POJO deployment, but we don't have good JAX-WS
> integration into the deployment infrastructure.
>
 So actually what will be the procedure in the JAXWS module that we have in
the Axis2, to get a service in to the axis2 deployment? What will be the
packaging, is it the same as the AAR model, and do we need the wsdl too.

> You're bean is being picked up as a POJO and deployed as such which is
> where the "echoMethod" entry is coming from.
>
True.

>
>
> Then, when your request hits the JAXWSMessageReceiver the first time, the
> JAX-WS layer goes through its own metadata initialization. This includes
> building up not only a EndpointDescription/OperationDescription, but a set
> of AxisService/AxisOperation objects to match. These are being mapped to
> "echomethodString" which is where the other entry comes from.
>
> When you say "It takes echoMethod and echomethodString as two different
> methods.", what exactly do you mean there? They are reflected as two
> operations in the WSDL?
>
No actually the ?wsdl generation fails in this above described scenario.

>
>
> To the point of the WSDL 1.1 generation, that leads me to believe this
> isn't being deployed as a JAX-WS endpoint at all. We've known for a while
> that since we don't have formal tooling for JAX-WS that there is no
> generation. I'm guessing that you're endpoint is being deployed as a normal
> POJO endpoint using the base Axis2 runtime instead of JAX-WS.
>
Yes, Agreed these are issues in the POJODeployer and seems is we make the
web method like this

    @WebMethod(operationName = "echoString")
    public String echoMethod(String s){
        return s;
    }

The scenario worked for me but making the annotated oprtation name same as
the method name,  breaks the whole concept of  having the JSR-181
annotations at the first place.
Will look in to more on this, I am looking forward on the way that how I
can  make use of the JAXWS module  in regarding  JSR-181 annotated class.

Thanks
Sandakith

>
>
> Regards,
>
> -Nick
>
>
> [image: Inactive hide details for "keith chapman"
> <keithgchapman@gmail.com>]"keith chapman" < keithgchapman@gmail.com>
>
>
>
>     *"keith chapman" <keithgchapman@gmail.com>*
>
>             11/20/2007 01:49 AM
>             Please respond to
>             axis-dev@ws.apache.org
>
>
> To
>
> axis-dev@ws.apache.org
> cc
>
>
> Subject
>
> Re: JAX-WS: problems with annotated methods
>
> Hi,
>
> This is due to a bug in the jaxws deployer and MessageReceiver. This can
> be solved as follows,
>
> During deployment name the axisOperation according to the annotation
> ("echomethodString") in this case and put a parameter into the axisOperation
> stating the actual method name, therefore in the messageReceiver we know
> which method to call. Can somebody familiar with JaxWS code do this fix
> please.
>
> Thanks,
> Keith.
> On Nov 20, 2007 11:42 AM, Charitha Kankanamge <*charitha@wso2.com*<charitha@wso2.com>>
> wrote:
>
>    Hi devs,
>
>    I was trying to deploy jax-ws based service using axis2. Here is my
>    service impl class. please note that, I did not include any wsdl
>    inside
>    the service jar.
>
>    @WebService(name= "WSASJAX_Service2", targetNamespace =
>    "*http://www.webtest.org/jaxws* <http://www.webtest.org/jaxws>")
>    public class jaxwsservice2 {
>    @WebMethod(operationName = "echomethodString")
>    public String echoMethod(String s){
>    return s;
>    }
>
>    }
>
>    Axis2 does not handle this service correctly. It takes echoMethod
>    and
>    echomethodString as two different methods. Also Axis2 was unable to
>    generate wsdl1.1 using the above service impl class. WSDL generation
>    was
>    successful when I removed the annotation members of @WEbMethod
>    annotation.
>
>    It seems that the Axis2 JAX-WS implementation is unable to handle
>    some
>    of the annotations which have annon members. I reported a JIRA for
>    this
>    issue at *https://issues.apache.org/jira/browse/AXIS2-3352*<https://issues.apache.org/jira/browse/AXIS2-3352>
>
>    since this is a fundamental scenario, it will be great if this is
>    resolved ASAP.
>
>    Please let me know if there are any issues in the above steps which
>    were
>    used to generate jax-ws service.
>
>    regards
>    Charitha
>
>
>
>
>    ---------------------------------------------------------------------
>
>    To unsubscribe, e-mail: *axis-dev-unsubscribe@ws.apache.org*<axis-dev-unsubscribe@ws.apache.org>
>    For additional commands, e-mail: *axis-dev-help@ws.apache.org *<axis-dev-help@ws.apache.org>
>
>
>
>
> --
> Keith Chapman
> WSO2 Inc.
> Oxygen for Web Services Developers.*
> **http://wso2.org/* <http://wso2.org/>
>



-- 
Thanks
Lahiru Sandakith

http://sandakith.wordpress.com/
GPG Key Fingerprint : 8CD8 68E0 4CBC 75CB 25BC  1AB1 FE5E 7464 1F01 9A0F

Mime
View raw message