dev@glassfish.java.net

Re: how does glassfish process _at_WebService annotation ??

From: Carla Mott <Carla.Mott_at_Sun.COM>
Date: Tue, 07 Mar 2006 11:51:12 -0800

Great, thanks Mark.

Here is the template I was talking about. It's also in
the workspace in the www directory.
glassfish/www/javaee5/tech_page_template.html

There is a description in each of the sections which should provide
the info you need. You and Vijay can decide what to call the page. I
would suggest that we create a directory 'web_services' under
glassfish/www/javaee5 and put the file there. Eventually, if there
are supporting files they can be added there too.

Once you have a draft either Vijay or I can check it in. On java.net
there is no staging area so to get an idea of what the page will
look like you need to check it into the repository. If I'm the one
to check it in I will share the url with you two to review and update.
When the edits are done we can add a link from the modules page.

Let me know if you have any questions or feedback.

Thanks,
Carla




Mark Hansen wrote:
> 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
>>>
>>
>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe_at_glassfish.dev.java.net
> For additional commands, e-mail: dev-help_at_glassfish.dev.java.net
>


-- 
Carla Mott
Sun Microsystems		
carla.mott_at_sun.com

GlassFish Project - Webtier
GlassFish Project - <Technology> home page

 New to GlassFish | Community Guidelines  | Downloads | FAQ How-Tos


Start with a welcome section with a high level description of what the user will find on this page.  For a complete
example see the webtier page.  The above nav bar has pointers to things that are useful for developers.  Feel free to  add to the list.

<technology> News

This section highlights what is currently happening in this group.  Should be updated periodically.

Page Contents

Technologies


Several different software components including source and binary, support the GlassFish project.  The source components are released under the Common Development and Distribution License (CDDL) v1.0 whereas the binary components are covered under the binary license. You must agree to these licenses as part of installation before viewing and/or using the code.

High level description of how the code is organized in the repository with pointers to those sections.  This
is so users can start to navigate the code. 

Follow with a high level description of the design including diagrams if possible. 

Unit/Acceptance Tests

List the tests which are required to be run before a commit.  Per commit procedures the Quicklook tests
are required for all areas.  Some technologies have additional tests and those should be listed here.

Include instructions on how to run the tests.  For an example see the webtier page.

Supporting Documentation

This sections contains pointers to useful documents and information about the webtier technologies in GlassFish.

Specifications:

Include pointers to the specifications that are implemented by this technology.

General information:

Include any documentation that is useful for developers.  Design docs and functional specs will be stored under the Documents and Files link in the left nav bar.  There is alot of good documentation available on java.sun.com so linclude llinks to that too.

ToDo List

Maintain a list of things to do in Issue tracker so all can figure out what needs to be done.  This is a great way to get external developer involved in your area.

ToDo list will be maintained using Issue Tracker Task issue type. You can query Issue Tracker using issue type Task or click here to check out the ToDo list.