<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<body link="#355491" alink="#4262a1" vlink="#355491" style="background: #e2e2e2; margin: 0; padding: 20px;">

<div>
        <table cellpadding="0" bgcolor="#FFFFFF" border="0" cellspacing="0" style="border: 1px solid #dadada; margin-bottom: 30px; width: 100%; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
                <tbody>
                        <tr>

                                <td>

                                        <table border="0" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF" style="border: solid 2px #ccc; background: #dadada; width: 100%; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
                                                <tbody>
                                                        <tr>
                                                                <td bgcolor="#000000" valign="middle" height="58px" style="border-bottom: 1px solid #ccc; padding: 20px; -moz-border-radius-topleft: 3px; -moz-border-radius-topright: 3px; -webkit-border-top-right-radius: 5px; -webkit-border-top-left-radius: 5px;">
                                                                        <h1 style="color: #333333; font: bold 22px Arial, Helvetica, sans-serif; margin: 0; display: block !important;">
                                                                        <!-- To have a header image/logo replace the name below with your img tag -->
                                                                        <!-- Email clients will render the images when the message is read so any image -->
                                                                        <!-- must be made available on a public server, so that all recipients can load the image. -->
                                                                        <a href="http://community.jboss.org/index.jspa" style="text-decoration: none; color: #E1E1E1">Community</a></h1>
                                                                </td>

                                                        </tr>
                                                        <tr>
                                                                <td bgcolor="#FFFFFF" style="font: normal 12px Arial, Helvetica, sans-serif; color:#333333; padding: 20px;  -moz-border-radius-bottomleft: 4px; -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 5px; -webkit-border-bottom-left-radius: 5px;"><h3 style="margin: 10px 0 5px; font-size: 17px; font-weight: normal;">
    CXF jms integration
</h3>
<span style="margin-bottom: 10px;">
    reply from <a href="http://community.jboss.org/people/jim.ma">Jim Ma</a> in <i>JBoss Web Services Development</i> - <a href="http://community.jboss.org/message/541238#541238">View the full discussion</a>
</span>
<hr style="margin: 20px 0; border: none; background-color: #dadada; height: 1px;">

<div class="jive-rendered-content"><p>Thanks Alessio and Richard's comments again . Let me summarize our discussion points first , then I will give the issues I can see from my previous experimental work on cxf/jms integration in past two weeks, then you and Richard can continue to add your thoughts and comments:</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><blockquote class="jive-quote">1)&#160; Use jbossws-cxf.xml (cxf style configuration file) not the new introduced jbossws-endpoints.xml&#160;&#160; .<br/></blockquote><p><br/>Looks like my previous 4 reasons are not the problems at all .&#160; To simplify the things , we can use jbossws-cxf.xml to deploy jms transport web service.&#160; I agreed for this direction.The one problem I can see if we use jbossws-cxf.xml to deploy jms endpoint so far : jbossws-cxf.xml is now used to customize the default generated cxf deployment descriptor by http endpoint , it will be mixed up with jms endpoint when user specifies the jbossws-cxf.xml for http endpoint ,and also want to deploy the jms endpoint with the same jbossws-cxf.xml. Let's take a example :</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>////////////////&lt;web.xml&gt;//////////////////<br/>&#160; &lt;servlet&gt;<br/>&#160;&#160;&#160; &lt;servlet-name&gt;HelloService&lt;/servlet-name&gt;<br/>&#160;&#160;&#160; &lt;servlet-class&gt;org.jboss.test.ws.jaxws.samples.HelloImpl&lt;/servlet-class&gt;<br/>&#160; &lt;/servlet&gt;</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>&#160; &lt;servlet-mapping&gt;<br/>&#160;&#160;&#160; &lt;servlet-name&gt;HelloService&lt;/servlet-name&gt;<br/>&#160;&#160;&#160; &lt;url-pattern&gt;/*&lt;/url-pattern&gt;<br/>&#160; &lt;/servlet-mapping&gt;</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>/////////////////&lt;jbossws-cxf.xml&gt;//////////////////////<br/>&#160;&#160;&#160; &lt;jaxws:endpoint id='HttpHelloService'<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160; implementor='org.jboss.test.ws.jaxws.samples.HelloImpl&gt;<br/>&#160;&#160;&#160; &lt;/jaxws:endpoint&gt;<br/>&#160;&#160;&#160;&#160;&#160;&#160; <br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;!--jms endpoint-&gt;<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;jaxws:endpoint id='JMSHelloService'<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; wsdlLocation="./wsdl/jms-samples.wsdl"&#160;&#160;&#160; <br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; implementor='org.jboss.test.ws.jaxws.samples.HelloImpl&gt;<br/>&#160;&#160;&#160; &lt;/jaxws:endpoint&gt;</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>We name the configuration file to only deploy jms endpoint to something like jbossws-cxf-jms.xml ?&#160; or we do not support deploy the jms endpoint and http endpoin in one deployment archive ?</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><blockquote class="jive-quote">2)&#160; the approach Richard suggested to do jms integration :<br/>&#160;&#160;&#160; * extend our UMDM (located in SPI) to provide JMS endpoint abstractions<br/>&#160;&#160;&#160; * extend our DA framework to distinguish DA aspects intended to create web based endpoints and jms based endpoints<br/>&#160;&#160;&#160; * update our ASIL (concretely WSDeploymentAspectDeployer) to distinguish between Web DAs and JMS DAs<br/>&#160;&#160;&#160; * implement CXF DA that will map jboss-cxf.xml MD to our UMDM (ensures CXF -&gt; SPI dependency)<br/>&#160;&#160;&#160; * implement ASIL DA that will create JMS MD from our UMDM (ensures ASIL -&gt; SPI dependency)<br/>&#160;&#160;&#160; * implement CXF DA that will register plain JMS endpoints with CXF (ensures CXF -&gt; SPI dependency)<br/></blockquote><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>If you look at my cxf integration work two weeks ago, you can find what I did except the jbossws-endpoints are mainly follow this suggested approach.&#160; But after I realized the jms endpoints needs the jms queue/topic deployment dependencies, I created the BeanMataData and deliever the KernalDeploymentDeployer to deploy the jms endpoints . At present , we can not resolve the deployment dependency in the DA.</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>Add also distinguish the http endpoint and jms endpoint in&#160; jbossws-cxf.xml is difficult, for some configuration file (like the example in 1) you need to parse the wsdl , then you can figour out.&#160; </p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><blockquote class="jive-quote">3) The Endpoint and ASIL dispatch<br/>&#160;&#160; * Endpoint<br/>&#160;&#160;&#160; - ServletEndpoint -&gt; url address<br/>&#160;&#160;&#160; - JMSEndpoint -&gt; jms address<br/>&#160;&#160; * DA<br/>&#160;&#160; - ServletDA<br/>&#160;&#160; - JMSDA</blockquote><p><br/>&#160; OK. You convinced me to create JMSEndpoint for jms transport endpoint .&#160; It's ideal to use ServletDA to deploy the ServletEndpoint and JMSDA to handle jms endpoint. But again, DA can not handle the dependency deployment which is required by jms transport endpoints deployment in CXF.&#160; Do you have some ideas to change the DA api and eable the dependency in DA ?</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><blockquote class="jive-quote"><br/>4) jms endpoint from wsdl (soap over jms support) sample</blockquote><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p><span>I've created a test case for this : </span><a class="jive-link-external-small" href="https://svn.jboss.org/repos/jbossws/stack/cxf/branches/jms-integration/modules/testsuite/cxf-tests/src/test/java/org/jboss/test/ws/jaxws/samples/endpointsdd/jmstransport/EndpointsDDFromWsdlJMSTransportTestCase.java" target="_blank">https://svn.jboss.org/repos/jbossws/stack/cxf/branches/jms-integration/modules/testsuite/cxf-tests/src/test/java/org/jboss/test/ws/jaxws/samples/endpointsdd/jmstransport/EndpointsDDFromWsdlJMSTransportTestCase.java</a></p></div>

<div style="background-color: #f4f4f4; padding: 10px; margin-top: 20px;">
    <p style="margin: 0;">Reply to this message by <a href="http://community.jboss.org/message/541238#541238">going to Community</a></p>
        <p style="margin: 0;">Start a new discussion in JBoss Web Services Development at <a href="http://community.jboss.org/choose-container!input.jspa?contentType=1&containerType=14&container=2047">Community</a></p>
</div></td>
                        </tr>
                    </tbody>
                </table>


                </td>
            </tr>
        </tbody>
    </table>

</div>

</body>
</html>