You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cxf.apache.org by "Daniel Kulp (JIRA)" <ji...@apache.org> on 2007/01/18 18:00:30 UTC

[jira] Commented: (CXF-342) Servlet transport should be independent of the JAX-WS frontend

    [ https://issues.apache.org/jira/browse/CXF-342?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12465809 ] 

Daniel Kulp commented on CXF-342:
---------------------------------

How does using reflection change the fact that it's JAX-WS only or open it up to other frontends?

The fact is that Endpoint.publish(...) is JAX-WS specific.   Whether it's called via reflection or directly doesn't change the fact that its JAX-WS specific and belongs in the JAX-WS layer.

To move this out of JAX-WS, the "endpoint publishing" stuff needs to be abstracted out into an interface that the frontends can implement and the servlet would have to load all of those found on the classpath (spring loading like everything else).    The <endpoint> tag in the cxf-servlet.xml file would need to be extended somehow to provide implementation details as to which frontend will handle it.   Better would be to make it based on the namespace or something.  

Exmaple:
<endpoints .....>
     <jaxws:endpoint  name="Foo" interface="FooImpl" ..../>
     <javascript:endpoint name="JSFoo"  script="WEB-INF/sripts/JSFoo.js"/>
     <pojo:endpoint ...../>
</endpoints>



> Servlet transport should be independent of the JAX-WS frontend
> --------------------------------------------------------------
>
>                 Key: CXF-342
>                 URL: https://issues.apache.org/jira/browse/CXF-342
>             Project: CXF
>          Issue Type: Improvement
>          Components: Transports
>            Reporter: Eoghan Glynn
>         Assigned To: willem Jiang
>
> The servlet transport is implemented as part of the JAX-WS frontend, but the only real dependency on JAX-WS is the hardcoding of the instantiation of org.apache.cxf.jaxws.EndpointImpl and the Endpoint.publish() call. 
> This should be done via reflection instead, with  the class to instantiate and the publish method configured in the cxf-servlet.xml.
> That way the servlet transport could be used with any front-end (as opposed to be being limited to JAX-WS) and the code could be moved out of the rt-frontend-jaxws module and into the rt-transpots-http module.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira