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 Lahiru Sandakith <sa...@gmail.com> on 2007/12/01 01:54:38 UTC
Re: [Axis2] JAX-WS: problems with annotated methods
Hi Nick,
Thanks for the reply.
On Nov 30, 2007 8:31 PM, Nicholas L Gallardo <nl...@us.ibm.com> wrote:
> Lahriu,
>
> Thanks for the insights. I agree that there's a gap that needs to be
> closed here. I'll write up the thoughts I've had for a little while on this
> and float them to the list.
>
great,
>
>
> I don't know if I'll have time to affect all of this, but I will at least
> try to lay it out and others can contribute if they'd like to pick pieces of
> it up.
>
sure, lets try to discuss and come up with a list that we all can fill,
Thanks
Sandakith.
>
>
> Thanks,
>
> -Nick
>
>
>
>
> [image: Inactive hide details for "Lahiru Sandakith"
> <sa...@gmail.com>]"Lahiru Sandakith" <sa...@gmail.com>
>
>
>
> *"Lahiru Sandakith" <sa...@gmail.com>*
>
> 11/28/2007 09:35 PM
> Please respond to
> axis-dev@ws.apache.org
>
>
> To
>
> axis-dev@ws.apache.org
> cc
>
>
> Subject
>
> Re: [Axis2] JAX-WS: problems with annotated methods
>
> Hi Nick,
>
> Forwarding this with Axis2 lable.
>
> Looking at the issue, we found that in the scenario that we talk about
> POJODeployer being able to deploy a JSR-181 annotated pojo through JAXWS in
> Axis2. I found some issues and with the help of Deepal we fixed them
> yesterday.
>
> 1) Service not exposing with the annotated name correctly , Fixed
> 2) Operation if not exposing with the annotated name correctly , Fixed
> 3) ?wsdl not reflet the service correctly , Fixed
>
> then we tried to invoke the service with a client and in rest way.
> But then we fond that the service that got deployed did not attached with
> the JAXWS Message Receiver and it being exposed with the default RPC Message
> Receiver, with some debuggig we found that in the DiscrptionFactory the
> axisService JAXWS module
>
> public static AxisService createAxisService(Class serviceImplClass) {
> ServiceDescription serviceDescription =
> createServiceDescription(serviceImplClass);
> EndpointDescription[] edArray = serviceDescription.getEndpointDescriptions();
> AxisService axisService = edArray[0].getAxisService();
> return axisService;
> }
>
> did not attached the correct MR to the axisService.
>
> I guess this is an issue, and would like to have your thoughts on this and
> about the overall deployment integration of JAXWS to Axis2 as mentioned in
> the earlier mail.
>
> Thanks
> Sandakith
>
>
>
>
> On Nov 28, 2007 8:16 AM, Lahiru Sandakith <*s...@gmail.com>>
> wrote:
>
> 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*<nl...@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
> * <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.java
> *<https://svn.apache.org/repos/asf/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/POJODeployer.java>guess 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
>
>
> "keith chapman" <* keithgchapman@gmail.com*<ke...@gmail.com>
> >
>
>
>
>
> *"keith chapman" <**...@gmail.com>
> *>*
>
> 11/20/2007 01:49 AM
>
>
> Please respond to*
> **axis-dev@ws.apache.org* <ax...@ws.apache.org>
> To
> *
> **axis-dev@ws.apache.org* <ax...@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 <*c...@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*<ax...@ws.apache.org>
> For additional commands, e-mail: *axis-dev-help@ws.apache.org
> * <ax...@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/* <http://sandakith.wordpress.com/>
> GPG Key Fingerprint : 8CD8 68E0 4CBC 75CB 25BC 1AB1 FE5E 7464 1F01
> 9A0F
>
>
>
>
> --
> Thanks
> Lahiru Sandakith
> *
> **http://sandakith.wordpress.com/* <http://sandakith.wordpress.com/>
> GPG Key Fingerprint : 8CD8 68E0 4CBC 75CB 25BC 1AB1 FE5E 7464 1F01 9A0F
>
--
Thanks
Lahiru Sandakith
http://sandakith.wordpress.com/
GPG Key Fingerprint : 8CD8 68E0 4CBC 75CB 25BC 1AB1 FE5E 7464 1F01 9A0F