geronimo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Lin Sun <linsun....@gmail.com>
Subject Re: Questions for Axis2 folks re: JAXWS
Date Thu, 15 Mar 2007 17:28:51 GMT
Hi Jeff/Lasantha,

I just posted this prob on axis2-dev list [1].   Currently the Java2WSDL 
tool which is what is being used to generate the targetnamespace doesn't 
seem to handle any of the annotation stuff... not sure if it will ever 
handle.:-(

An alternative is to use the sun's wsgen tool provided by 
jaxws-tools.jar to generate the wsdl file from Java in the geronimo 
integration code.  I tried to use the tool and it did generate the 
targetnamespace correctly.

[1]: http://marc.theaimsgroup.com/?l=axis-dev&m=117397929613538&w=2

Lin

Jeff Genender wrote:
> 
> Lasantha Ranaweera wrote:
>> Not exactly sure whether I am getting your problem exactly or not  :-( .
>>
>> Line 99 decides whether application archive contains WSDL file or not
>> (according to Axis2 builder). If it is there we are going to fill WSDL
>> information from G side. Otherwise it will be handed over to Axis2 side
>> (services with annotations). So looking at your problem regarding
>> annotations what I say is it should be handled by Axis2 (all the
>> validation & execution stuff). The annotation processing will be handled
>> as a web service receives SOAP requests. Starting point for JAXWS based
>> SOAP messages is receive() method of JAXWSMessageReciever.
>>
> 
> The problem is, Axis2 is generating a wsdl upon the client request for a
> wsdl, and not looking at the WebService annotation to get the wsdl's
> location.  The code step through below shows the problem clearly.
> 
> 
>> HTH.
>>
>> Lasantha
>>
>> Jeff Genender wrote:
>>> o.a.g.Axis2WebserviceContainer, line 99. A not-filled in PortInfo is
>>> passed in since G is not processing a WebService annotation, and thus an
>>> AxisService.create is called on line 104.
>>>
>>> When Axis2WebserviceContainer.getWsdl() is ultimately called,
>>> doService2() is called (line 212), then to processGetRequest (line 398),
>>> leading us to line 435 where the PortInfo is checked as to whether a
>>> wsdl file has been passed in or not.  If it has, it spits out the wsdl.
>>>  If it has not, then the AxisService.printWsdl() is called and that call
>>> spits out a generated wsdl.
>>>
>>> The crux here is that the PortInfo object does not have all of the info
>>> filled in such as seiClass, wsdl file, etc.  That stuff would have been
>>> gotten from examining the WebService annotation.
>>>
>>> The question is, where does that examination or, should that
>>> examination, take place? Geronimo or Axis2?
>>>
>>> Jeff
>>>
>>> Lasantha Ranaweera wrote:
>>>  
>>>> Jeff,
>>>>
>>>> Sorry for a late reply due to my time stamp difference and don't know
>>>> exactly you have solved this problem right now or not. Anyway here is my
>>>> comment.
>>>>
>>>> Since you haven't given me exact source code I won't be able to point
>>>> you in to the exact source code in the Axis2. May be remote debugging
>>>> ...  ;-) .
>>>>
>>>> Thanks,
>>>> Lasantha
>>>>
>>>> Jeff Genender wrote:
>>>>    
>>>>> Ok...
>>>>>
>>>>> I am pretty certain at this stage that the WebService annotation is not
>>>>> getting processed.  Can you point me to the code that handles this in
>>>>> Axis2?
>>>>>
>>>>> Thanks,
>>>>>
>>>>> Jeff
>>>>>
>>>>>
>>>>>
>>>>> Jeff Genender wrote:
>>>>>  
>>>>>      
>>>>>> Thanks...this is very helpful.
>>>>>>
>>>>>> Then by this, looking at the PortInfo, it appears as though it is
not
>>>>>> stuffing in the WSDL file, which tells me it's a G thang ;-)
>>>>>>
>>>>>> Jeff
>>>>>>
>>>>>> Lasantha Ranaweera wrote:
>>>>>>           
>>>>>>> Hi Jeff,
>>>>>>>
>>>>>>> To my understanding if we have given a WSDL in an archive it
>>>>>>> should get
>>>>>>> the priority than the information in the annotations.
>>>>>>>
>>>>>>> In Axis2 integration there are two parts of implementation with
>>>>>>> one for
>>>>>>> with WSDL which is mainly handling by G side while with annotations
>>>>>>> from
>>>>>>> Axis2. For me it is something missing in G side.
>>>>>>>
>>>>>>> Somebody in the list please correct me  if I am wrong here .
>>>>>>>
>>>>>>> Thanks,
>>>>>>> Lasantha
>>>>>>> Jeff Genender wrote:
>>>>>>>               
>>>>>>>> Hi,
>>>>>>>>
>>>>>>>> I have noticed when I deploy a war file (with a WSDL), I
have a
>>>>>>>> certain
>>>>>>>> target name specified both in the WSDL and in the code that
uses a
>>>>>>>> WebService annotation.
>>>>>>>>
>>>>>>>> However, when I go retrieve the WSDL, I notice the target
name
>>>>>>>> seems to
>>>>>>>> be munged according to the package name (backwards) of the
code that
>>>>>>>> contains the WebService annotation.
>>>>>>>>
>>>>>>>> Example...
>>>>>>>>
>>>>>>>> I have include a WSDL called Hello.wsdl that is in the war
file
>>>>>>>> in the
>>>>>>>> web-inf/wsdl directory and starts with:
>>>>>>>>
>>>>>>>> <wsdl:definitions targetNamespace="http://example.com/hello/xsd">
>>>>>>>> ...
>>>>>>>>
>>>>>>>> I have a HelloWorld.java that has this:
>>>>>>>>
>>>>>>>> package test.mypackage;
>>>>>>>>
>>>>>>>> import javax.jws.WebMethod;
>>>>>>>> import javax.jws.WebService;
>>>>>>>>
>>>>>>>> @WebService(name="HelloWorld", targetNamespace =
>>>>>>>> "http://example.org/hello/xsd")
>>>>>>>> public class HelloWorld {
>>>>>>>>
>>>>>>>>     @WebMethod
>>>>>>>>     public String sayHello(String me){
>>>>>>>>         return "Hello "+me;
>>>>>>>>     }
>>>>>>>> }
>>>>>>>>
>>>>>>>> However, when I request the wsdl...I get something like this:
>>>>>>>>
>>>>>>>> <wsdl:definitions targetNamespace="http://mypackage.test/xsd">
>>>>>>>> ...
>>>>>>>>
>>>>>>>> Notice the targetnamespace was munged and changed from it's
>>>>>>>> originally
>>>>>>>> declared namespace of "http://example.com/hello/xsd".  I
want the
>>>>>>>> one
>>>>>>>> that is both declared in the included wsdl (or the one declared
>>>>>>>> in the
>>>>>>>> annotation).
>>>>>>>>
>>>>>>>> Is this a facet of Axis2 or is Geronimo not passing a proper
>>>>>>>> PortInfo
>>>>>>>> object with the necessary stuff filled in?
>>>>>>>>
>>>>>>>> Any light on this subject would be greatly appreciated ;-)
>>>>>>>>
>>>>>>>> Thanks,
>>>>>>>>
>>>>>>>> Jeff
>>>>>>>>
>>>>>>>>                       
>>>>>         
>>>   
> 


Mime
View raw message