geronimo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Lasantha Ranaweera <lasan...@opensource.lk>
Subject Re: Questions for Axis2 folks re: JAXWS
Date Wed, 07 Mar 2007 06:16:57 GMT
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.

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