dev@glassfish.java.net

Re: how does glassfish process _at_WebService annotation ??

From: Mark Hansen <mark_at_javector.com>
Date: Mon, 06 Mar 2006 21:22:38 -0500

I'd be happy to start a page that reflects Vijay's comments plus
whatever I glean from looking through the source code. Maybe someone
can email me a link to whatever authoring guidelines/how-tos are
available to get me started. -- Mark

Carla Mott wrote:

> HI Vijay,
>
> Thanks for providing this info.
>
> If you look at the page
> https://glassfish.dev.java.net/public/ServerModules.html
> it lists the logical modules in GlassFish and Web Services is one.
>
> Is this info on our website? If not then please either add it to the
> appropriate page or create a page with this info as I think it is
> helpful.
>
> That or Mark can start the page taking what was on this thread and
> then you can
> add to it. I have a template for a starting place.
>
> What do you guys think?
>
> Carla
>
>
> Vijay Ramachandran wrote:
>
>> For a servlet endpoint : All requests are routed through JAXWSServlet
>> (for JAXWS endpoints) or JAXRPCServlet (for JAXRPC endpoints). The
>> code is @ appserv-core/src/java/com/sun/enterprise/webservice. At the
>> time of deployment, we generate a web.xml which does this redirection
>> of a request to the endpoint to this JAXWSServlet / JAXRPCServlet.
>> You will see this if you deploy a WAR with servlet endpoint and
>> checjk
>> gf_home/domains/domain1/generated/xml/j2ee-modules/<module-name>/WEB-INF/*.xml
>>
>>
>> For EJB endpoints : The requests come to
>> appserv-core/src/java/com/sun/enterprise/webservice/EjbWebServiceServlet
>> and from there we get the proper EjbMessageDispatcher to pass it on
>> to the appropriate endpoint
>>
>> Hope this given you an idea
>>
>> Vijay
>>
>> Mark Hansen wrote:
>>
>>> I'm trying to understand what is getting deployed that actually
>>> receives the SOAP messages at the web service's endpoint URL. My
>>> understanding is that this must be a servlet. So, I am assuming
>>> that the container generates a servlet wrapper for the @WebService
>>> annotated class and that the servlet is deployed at the endpoint
>>> URL, receives the SOAP messages on HttpRequests, and then passes the
>>> SOAP message to some kind of context creator, that then hands the
>>> context off to the protocol binding associated with the
>>> @WebService. Am I way off?
>>>
>>> -- Mark
>>>
>>> Vijay Ramachandran wrote:
>>>
>>>> I am not sure I understand your query. Can you please elaborate ?
>>>>
>>>> Mark Hansen wrote:
>>>>
>>>>> Thanks. Very helpful.
>>>>>
>>>>> If it is a WAR being deployed, is a javax.servlet.http.HttpServlet
>>>>> wrapper generated to send/receive SOAP over HTTP?
>>>>>
>>>>> -- Mark
>>>>>
>>>>> Vijay Ramachandran wrote:
>>>>>
>>>>>> Take a look at
>>>>>> appserv-commons/src/java/com/sun/enterprise/deployment/annotation/handlers/WebServiceHandler
>>>>>>
>>>>>>
>>>>>> During deployment of a service, all deployment descriptors (if
>>>>>> any) will be loaded and then the annotations are processed. On
>>>>>> seeing an @WebService, the annotation framework call
>>>>>> WebServiceHandler which processes the annotation. While
>>>>>> processing the annotation, we check if there a deployment desc
>>>>>> entry already available and if so, the annotation values will not
>>>>>> override the equivalent defined in the descriptor. At the end of
>>>>>> the annotation processing phase, we have all the information
>>>>>> required with which we generate WSDLs and other portable
>>>>>> artifacts (if not packaged).
>>>>>>
>>>>>> Hope this helps
>>>>>>
>>>>>> Vijay
>>>>>>
>>>>>> Mark Hansen wrote:
>>>>>>
>>>>>>> I'd like to better understand how Glassfish processes the
>>>>>>> @WebService
>>>>>>> annotation (and other JSR-181 annotations) to create and deploy an
>>>>>>> annotated class as a runnable web service. Can anyone suggest what
>>>>>>> packages/classes to start looking at? Could anyone maybe just
>>>>>>> sketch
>>>>>>> out how it works in general.
>>>>>>>
>>>>>>> Thanks in advance,
>>>>>>>
>>>>>>> Mark
>>>>>>>
>>>>>>> ---------------------------------------------------------------------
>>>>>>>
>>>>>>> To unsubscribe, e-mail: dev-unsubscribe_at_glassfish.dev.java.net
>>>>>>> For additional commands, e-mail: dev-help_at_glassfish.dev.java.net
>>>>>>>
>>>>>>
>>>>>> ---------------------------------------------------------------------
>>>>>>
>>>>>> To unsubscribe, e-mail: dev-unsubscribe_at_glassfish.dev.java.net
>>>>>> For additional commands, e-mail: dev-help_at_glassfish.dev.java.net
>>>>>>
>>>>>
>>>>> ---------------------------------------------------------------------
>>>>> To unsubscribe, e-mail: dev-unsubscribe_at_glassfish.dev.java.net
>>>>> For additional commands, e-mail: dev-help_at_glassfish.dev.java.net
>>>>>
>>>>
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: dev-unsubscribe_at_glassfish.dev.java.net
>>>> For additional commands, e-mail: dev-help_at_glassfish.dev.java.net
>>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: dev-unsubscribe_at_glassfish.dev.java.net
>>> For additional commands, e-mail: dev-help_at_glassfish.dev.java.net
>>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: dev-unsubscribe_at_glassfish.dev.java.net
>> For additional commands, e-mail: dev-help_at_glassfish.dev.java.net
>>
>
>