You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@cxf.apache.org by Jim Ma <ma...@gmail.com> on 2010/09/14 07:27:29 UTC

Re: svn commit: r986571 - in /cxf/trunk: distribution/src/main/release/samples/jms-spec-demo/wsdl/ rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/ rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/jms/interceptor/ rt/bindings/soa

Hi all ,
After this commit,  the SoapJMSInInterceptor is added to check the
"SOAPJMS_conentType" and other key/value pairs in message header .  It
requires the "SOAPJMS_contentType" and other properties added in the
jms message. Are such header (jms message property) checks in
SoapJMSInInterceptor  required in SOAP JMS specification ?  If the
answer is yes , do we actually need to require user to add these
properties to each jms request message as we do in
SOAPJMSTestSuiteTest now ?

I also want to keep the following java first jms test case work
without properties setting in jms message ? Can the SoapJMSInteceptor
automatically be disabled for this test case ?

------SEI impl-----------
@javax.jws.WebService(portName = "GreeterPort",
                      serviceName = "JMSGreeterService",
                      targetNamespace = "http://cxf.apache.org/jms_greeter",
public class GreeterJMSImpl {
    public String greetMe(String me) {
        LOG.info("Executing operation greetMe");
        System.out.println("Executing operation greetMe");
        System.out.println("Message received: " + me + "\n");
        return "Hello " + me;
    }


-----------------cxf.xml ------------------------------------
<?xml version="1.0" encoding="UTF-8"?>
<beans
  ....
  http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd
  http://cxf.apache.org/transports/jms
http://cxf.apache.org/schemas/configuration/jms.xsd'>

  <jaxws:endpoint
    implementor='org.apache.cxf.jms_greeter.GreeterJMSImpl'
    transportId="http://www.w3.org/2010/soapjms/">
  </jaxws:endpoint>

  <jms:destination
name="{http://cxf.apache.org/jms_greeter}GreeterPort.jms-destination">
    <jms:address
      destinationStyle="queue"
      jndiConnectionFactoryName="ConnectionFactory"
      jndiDestinationName="queue/RequestQueue"
      jndiReplyDestinationName="queue/ResponseQueue">
    </jms:address>
  </jms:destination>

  <jms:conduit name="{http://cxf.apache.org/jms_greeter}GreeterPort..jms-conduit">
    <jms:address
      destinationStyle="queue"
      jndiConnectionFactoryName="ConnectionFactory"
      jndiDestinationName="queue/RequestQueue"
      jndiReplyDestinationName="queue/ResponseQueue">
    </jms:address>
  </jms:conduit>
</beans>

---Client code -------
String reqMessage ="<env:Envelope
xmlns:env='http://schemas.xmlsoap.org/soap/envelope/'>...</env:Envelope>";
InitialContext context = new InitialContext();
QueueConnectionFactory connectionFactory
(QueueConnectionFactory)context.lookup("ConnectionFactory");
Queue reqQueue = (Queue)context.lookup("queue/RequestQueue");
Queue resQueue = (Queue)context.lookup("queue/ResponseQueue");
QueueConnection con = connectionFactory.createQueueConnection();
QueueSession session = con.createQueueSession(false, Session.AUTO_ACKNOWLEDGE);
QueueReceiver receiver = session.createReceiver(resQueue);
ResponseListener responseListener = new ResponseListener();
receiver.setMessageListener(responseListener);
con.start();

TextMessage message = session.createTextMessage(reqMessage);
message.setJMSReplyTo(resQueue);
waitForResponse = true;
QueueSender sender = session.createSender(reqQueue);
sender.send(message);
sender.close();
int timeout = 5;
while (waitForResponse && timeout > 0)
 {
     Thread.sleep(1000);
      timeout = timeout -1;
 }


Cheers,
Jim




On Wed, Aug 18, 2010 at 1:53 PM,  <ni...@apache.org> wrote:
> Author: ningjiang
> Date: Wed Aug 18 05:53:13 2010
> New Revision: 986571
>
> URL: http://svn.apache.org/viewvc?rev=986571&view=rev
> Log:
> CXF-2949, CXF-2950, CXF-2951, applied Peter's patch of soapjms
>
> Modified:
>    cxf/trunk/distribution/src/main/release/samples/jms-spec-demo/wsdl/jms_greeter.wsdl
>    cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/SoapBindingFactory.java
>    cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/SoapTransportFactory.java
>    cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/jms/interceptor/SoapFaultFactory.java
>    cxf/trunk/rt/bindings/soap/src/main/resources/META-INF/cxf/bus-extensions.xml
>    cxf/trunk/rt/bindings/soap/src/main/resources/META-INF/cxf/cxf-extension-soap.xml
>    cxf/trunk/rt/bindings/soap/src/test/java/org/apache/cxf/binding/soap/jms/interceptor/SoapFaultFactoryTest.java
>    cxf/trunk/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/spec/JMSSpecConstants.java
>    cxf/trunk/rt/transports/jms/src/main/resources/schemas/wsdl/spec/jms-spec-wsdl.xsd
>    cxf/trunk/systests/transports/src/test/java/org/apache/cxf/jms/testsuite/testcases/SOAPJMSTestSuiteTest.java
>    cxf/trunk/systests/transports/src/test/java/org/apache/cxf/jms/testsuite/util/JMSTestUtil.java
>    cxf/trunk/systests/transports/src/test/java/org/apache/cxf/jms/testsuite/util/testcases.xml
>    cxf/trunk/testutils/src/main/resources/wsdl/jms_spec_test.wsdl
>    cxf/trunk/testutils/src/main/resources/wsdl/jms_spec_testsuite.wsdl
>
> Modified: cxf/trunk/distribution/src/main/release/samples/jms-spec-demo/wsdl/jms_greeter.wsdl
> URL: http://svn.apache.org/viewvc/cxf/trunk/distribution/src/main/release/samples/jms-spec-demo/wsdl/jms_greeter.wsdl?rev=986571&r1=986570&r2=986571&view=diff
> ==============================================================================
> --- cxf/trunk/distribution/src/main/release/samples/jms-spec-demo/wsdl/jms_greeter.wsdl (original)
> +++ cxf/trunk/distribution/src/main/release/samples/jms-spec-demo/wsdl/jms_greeter.wsdl Wed Aug 18 05:53:13 2010
> @@ -19,7 +19,7 @@
>        targetNamespace="http://cxf.apache.org/jms_greeter" xmlns="http://schemas.xmlsoap.org/wsdl/"
>        xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://cxf.apache.org/jms_greeter"
>        xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
> -       xmlns:x1="http://cxf.apache.org/jms_greeter/types" xmlns:soapjms="http://www.w3.org/2008/07/soap/bindings/JMS/">
> +       xmlns:x1="http://cxf.apache.org/jms_greeter/types" xmlns:soapjms="http://www.w3.org/2010/soapjms/">
>        <wsdl:types>
>                <schema targetNamespace="http://cxf.apache.org/jms_greeter/types"
>                        xmlns="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
> @@ -93,7 +93,7 @@
>
>        <wsdl:binding name="JMSGreeterPortBinding" type="tns:JMSGreeterPortType">
>                <soap:binding style="document"
> -                       transport="http://www.w3.org/2008/07/soap/bindings/JMS/" />
> +                       transport="http://www.w3.org/2010/soapjms/" />
>                <soapjms:jndiConnectionFactoryName>ConnectionFactory</soapjms:jndiConnectionFactoryName>
>                <soapjms:jndiInitialContextFactory>
>                        org.apache.activemq.jndi.ActiveMQInitialContextFactory
>
> Modified: cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/SoapBindingFactory.java
> URL: http://svn.apache.org/viewvc/cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/SoapBindingFactory.java?rev=986571&r1=986570&r2=986571&view=diff
> ==============================================================================
> --- cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/SoapBindingFactory.java (original)
> +++ cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/SoapBindingFactory.java Wed Aug 18 05:53:13 2010
> @@ -146,8 +146,8 @@ public class SoapBindingFactory extends
>         info.setName(config.getBindingName(si));
>         info.setStyle(config.getStyle());
>         if ("http://cxf.apache.org/transports/jms".equals(config.getTransportURI())) {
> -            info.setTransportURI("http://www.w3.org/2008/07/soap/bindings/JMS/");
> -            config.setTransportURI("http://www.w3.org/2008/07/soap/bindings/JMS/");
> +            info.setTransportURI("http://www.w3.org/2010/soapjms/");
> +            config.setTransportURI("http://www.w3.org/2010/soapjms/");
>         } else {
>             info.setTransportURI(config.getTransportURI());
>         }
> @@ -380,7 +380,7 @@ public class SoapBindingFactory extends
>             }
>
>             //jms
> -            if (sbi.getTransportURI().equals("http://www.w3.org/2008/07/soap/bindings/JMS/")) {
> +            if (sbi.getTransportURI().equals("http://www.w3.org/2010/soapjms/")) {
>                 sb.getInInterceptors().add(new SoapJMSInInterceptor());
>             }
>         } else {
>
> Modified: cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/SoapTransportFactory.java
> URL: http://svn.apache.org/viewvc/cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/SoapTransportFactory.java?rev=986571&r1=986570&r2=986571&view=diff
> ==============================================================================
> --- cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/SoapTransportFactory.java (original)
> +++ cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/SoapTransportFactory.java Wed Aug 18 05:53:13 2010
> @@ -77,7 +77,7 @@ public class SoapTransportFactory extend
>         return Collections.singleton("soap.tcp");
>     }
>     public String mapTransportURI(String s, String address) {
> -        if ("http://www.w3.org/2008/07/soap/bindings/JMS/".equals(s)
> +        if ("http://www.w3.org/2010/soapjms/".equals(s)
>             || (address != null && address.startsWith("jms"))) {
>             s = "http://cxf.apache.org/transports/jms";
>         } else if (SOAP_11_HTTP_BINDING.equals(s)
> @@ -173,7 +173,7 @@ public class SoapTransportFactory extend
>                     info.addExtensor(sa);
>                     info.setAddress(sa.getLocationURI());
>                     if (isJMSSpecAddress(sa.getLocationURI())) {
> -                        info.setTransportId("http://www.w3.org/2008/07/soap/bindings/JMS/");
> +                        info.setTransportId("http://www.w3.org/2010/soapjms/");
>                     }
>                 } else {
>                     info.addExtensor(extensor);
>
> Modified: cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/jms/interceptor/SoapFaultFactory.java
> URL: http://svn.apache.org/viewvc/cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/jms/interceptor/SoapFaultFactory.java?rev=986571&r1=986570&r2=986571&view=diff
> ==============================================================================
> --- cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/jms/interceptor/SoapFaultFactory.java (original)
> +++ cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/jms/interceptor/SoapFaultFactory.java Wed Aug 18 05:53:13 2010
> @@ -19,9 +19,6 @@
>
>  package org.apache.cxf.binding.soap.jms.interceptor;
>
> -import java.util.logging.Level;
> -import java.util.logging.Logger;
> -
>  import javax.xml.namespace.QName;
>
>  import org.w3c.dom.Document;
> @@ -32,16 +29,12 @@ import org.apache.cxf.binding.soap.Soap1
>  import org.apache.cxf.binding.soap.SoapBinding;
>  import org.apache.cxf.binding.soap.SoapFault;
>  import org.apache.cxf.binding.soap.SoapVersion;
> -import org.apache.cxf.common.logging.LogUtils;
> -import org.apache.cxf.helpers.XMLUtils;
>  import org.apache.cxf.interceptor.Fault;
>
>  /**
>  *
>  */
>  public class SoapFaultFactory  {
> -
> -    private static final Logger LOG = LogUtils.getL7dLogger(SoapFaultFactory.class);
>
>     private SoapVersion version;
>
> @@ -63,20 +56,7 @@ public class SoapFaultFactory  {
>
>     Fault createSoap11Fault(JMSFault jmsFault) {
>         SoapFault fault = new SoapFault(jmsFault.getReason(),
> -            jmsFault.isSender() ? version.getSender() : version.getReceiver());
> -        QName subCode = jmsFault.getSubCode();
> -        fault.setSubCode(subCode);
> -        try {
> -            Document doc = XMLUtils.newDocument();
> -            Element detail = doc.createElementNS(Soap11.SOAP_NAMESPACE, "detail");
> -            Element detailChild = doc.createElementNS(subCode.getNamespaceURI(), subCode.getLocalPart());
> -            detailChild.setTextContent(fault.getReason());
> -            detail.appendChild(detailChild);
> -            fault.setDetail(detail);
> -        } catch (Exception ex) {
> -            LogUtils.log(LOG, Level.SEVERE, "MARSHAL_FAULT_DETAIL_EXC", ex);
> -            ex.printStackTrace();
> -        }
> +            jmsFault.getSubCode());
>         return fault;
>     }
>
>
> Modified: cxf/trunk/rt/bindings/soap/src/main/resources/META-INF/cxf/bus-extensions.xml
> URL: http://svn.apache.org/viewvc/cxf/trunk/rt/bindings/soap/src/main/resources/META-INF/cxf/bus-extensions.xml?rev=986571&r1=986570&r2=986571&view=diff
> ==============================================================================
> --- cxf/trunk/rt/bindings/soap/src/main/resources/META-INF/cxf/bus-extensions.xml (original)
> +++ cxf/trunk/rt/bindings/soap/src/main/resources/META-INF/cxf/bus-extensions.xml Wed Aug 18 05:53:13 2010
> @@ -25,7 +25,7 @@
>         <namespace>http://schemas.xmlsoap.org/wsdl/soap/</namespace>
>         <namespace>http://schemas.xmlsoap.org/wsdl/soap12/</namespace>
>         <namespace>http://www.w3.org/2003/05/soap/bindings/HTTP/</namespace>
> -        <namespace>http://www.w3.org/2008/07/soap/bindings/JMS/</namespace>
> +        <namespace>http://www.w3.org/2010/soapjms/</namespace>
>         <namespace>http://schemas.xmlsoap.org/wsdl/soap/http</namespace>
>         <namespace>http://schemas.xmlsoap.org/soap/http</namespace>
>     </extension>
>
> Modified: cxf/trunk/rt/bindings/soap/src/main/resources/META-INF/cxf/cxf-extension-soap.xml
> URL: http://svn.apache.org/viewvc/cxf/trunk/rt/bindings/soap/src/main/resources/META-INF/cxf/cxf-extension-soap.xml?rev=986571&r1=986570&r2=986571&view=diff
> ==============================================================================
> --- cxf/trunk/rt/bindings/soap/src/main/resources/META-INF/cxf/cxf-extension-soap.xml (original)
> +++ cxf/trunk/rt/bindings/soap/src/main/resources/META-INF/cxf/cxf-extension-soap.xml Wed Aug 18 05:53:13 2010
> @@ -39,7 +39,7 @@ http://www.springframework.org/schema/be
>                        <value>http://schemas.xmlsoap.org/wsdl/soap12/</value>
>                        <value>http://schemas.xmlsoap.org/soap/http/</value>
>                 <value>http://schemas.xmlsoap.org/wsdl/soap/http</value>
> -               <value>http://www.w3.org/2008/07/soap/bindings/JMS/</value>
> +               <value>http://www.w3.org/2010/soapjms/</value>
>                 <value>http://www.w3.org/2003/05/soap/bindings/HTTP/</value>
>                <value>http://schemas.xmlsoap.org/soap/http</value>
>             </list>
>
> Modified: cxf/trunk/rt/bindings/soap/src/test/java/org/apache/cxf/binding/soap/jms/interceptor/SoapFaultFactoryTest.java
> URL: http://svn.apache.org/viewvc/cxf/trunk/rt/bindings/soap/src/test/java/org/apache/cxf/binding/soap/jms/interceptor/SoapFaultFactoryTest.java?rev=986571&r1=986570&r2=986571&view=diff
> ==============================================================================
> --- cxf/trunk/rt/bindings/soap/src/test/java/org/apache/cxf/binding/soap/jms/interceptor/SoapFaultFactoryTest.java (original)
> +++ cxf/trunk/rt/bindings/soap/src/test/java/org/apache/cxf/binding/soap/jms/interceptor/SoapFaultFactoryTest.java Wed Aug 18 05:53:13 2010
> @@ -45,10 +45,12 @@ public class SoapFaultFactoryTest extend
>         control = EasyMock.createNiceControl();
>     }
>
> -    JMSFault setupJMSFault(boolean isSender, QName code, Object detail) {
> +    JMSFault setupJMSFault(boolean isSender, QName code, Object detail, boolean isSoap12) {
>         jmsFault = control.createMock(JMSFault.class);
>         EasyMock.expect(jmsFault.getReason()).andReturn("reason");
> -        EasyMock.expect(jmsFault.isSender()).andReturn(isSender);
> +        if (isSoap12) {
> +            EasyMock.expect(jmsFault.isSender()).andReturn(isSender);
> +        }
>         EasyMock.expect(jmsFault.getSubCode()).andReturn(code);
>         if (null != detail) {
>             EasyMock.expect(jmsFault.getDetail()).andReturn(detail);
> @@ -62,14 +64,14 @@ public class SoapFaultFactoryTest extend
>     public void createSoap11Fault() {
>         SoapBinding sb = control.createMock(SoapBinding.class);
>         EasyMock.expect(sb.getSoapVersion()).andReturn(Soap11.getInstance());
> -        setupJMSFault(true, SoapJMSConstants.getContentTypeMismatchQName(), null);
> +        setupJMSFault(true, SoapJMSConstants.getContentTypeMismatchQName(), null, false);
>         control.replay();
> +
>         SoapFaultFactory factory = new SoapFaultFactory(sb);
>         SoapFault fault = (SoapFault)factory.createFault(jmsFault);
>         assertEquals("reason", fault.getReason());
> -        assertEquals(Soap11.getInstance().getSender(), fault.getFaultCode());
> -        assertEquals(SoapJMSConstants.getContentTypeMismatchQName(), fault.getSubCode());
> -        assertNotNull(fault.getDetail());
> +        assertEquals(SoapJMSConstants.getContentTypeMismatchQName(), fault.getFaultCode());
> +        assertNull(fault.getDetail());
>         assertSame(jmsFault, fault.getCause());
>         control.verify();
>     }
> @@ -78,7 +80,7 @@ public class SoapFaultFactoryTest extend
>     public void createSoap12Fault() {
>         SoapBinding sb = control.createMock(SoapBinding.class);
>         EasyMock.expect(sb.getSoapVersion()).andReturn(Soap12.getInstance());
> -        setupJMSFault(true, SoapJMSConstants.getMismatchedSoapActionQName(), null);
> +        setupJMSFault(true, SoapJMSConstants.getMismatchedSoapActionQName(), null, true);
>         control.replay();
>         SoapFaultFactory factory = new SoapFaultFactory(sb);
>         SoapFault fault = (SoapFault)factory.createFault(jmsFault);
>
> Modified: cxf/trunk/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/spec/JMSSpecConstants.java
> URL: http://svn.apache.org/viewvc/cxf/trunk/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/spec/JMSSpecConstants.java?rev=986571&r1=986570&r2=986571&view=diff
> ==============================================================================
> --- cxf/trunk/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/spec/JMSSpecConstants.java (original)
> +++ cxf/trunk/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/spec/JMSSpecConstants.java Wed Aug 18 05:53:13 2010
> @@ -26,7 +26,7 @@ package org.apache.cxf.transport.jms.spe
>  public final class JMSSpecConstants {
>
>     public static final String SOAP_JMS_SPECIFICIATION_TRANSPORTID
> -        = "http://www.w3.org/2008/07/soap/bindings/JMS/";
> +        = "http://www.w3.org/2010/soapjms/";
>     public static final String SOAP_JMS_NAMESPACE = SOAP_JMS_SPECIFICIATION_TRANSPORTID;
>
>     public static final String SOAP_JMS_PREFIX = "SOAPJMS_";
>
> Modified: cxf/trunk/rt/transports/jms/src/main/resources/schemas/wsdl/spec/jms-spec-wsdl.xsd
> URL: http://svn.apache.org/viewvc/cxf/trunk/rt/transports/jms/src/main/resources/schemas/wsdl/spec/jms-spec-wsdl.xsd?rev=986571&r1=986570&r2=986571&view=diff
> ==============================================================================
> --- cxf/trunk/rt/transports/jms/src/main/resources/schemas/wsdl/spec/jms-spec-wsdl.xsd (original)
> +++ cxf/trunk/rt/transports/jms/src/main/resources/schemas/wsdl/spec/jms-spec-wsdl.xsd Wed Aug 18 05:53:13 2010
> @@ -15,9 +15,9 @@
>                License.
>        -->
>  <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
> -       xmlns:soapjms="http://www.w3.org/2008/07/soap/bindings/JMS/"
> +       xmlns:soapjms="http://www.w3.org/2010/soapjms/"
>        xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
> -       targetNamespace="http://www.w3.org/2008/07/soap/bindings/JMS/"
> +       targetNamespace="http://www.w3.org/2010/soapjms/"
>        elementFormDefault="qualified" jaxb:version="2.0">
>
>        <xs:element name="jndiContextParameter" type="soapjms:jndiContextParameterType" />
>
> Modified: cxf/trunk/systests/transports/src/test/java/org/apache/cxf/jms/testsuite/testcases/SOAPJMSTestSuiteTest.java
> URL: http://svn.apache.org/viewvc/cxf/trunk/systests/transports/src/test/java/org/apache/cxf/jms/testsuite/testcases/SOAPJMSTestSuiteTest.java?rev=986571&r1=986570&r2=986571&view=diff
> ==============================================================================
> --- cxf/trunk/systests/transports/src/test/java/org/apache/cxf/jms/testsuite/testcases/SOAPJMSTestSuiteTest.java (original)
> +++ cxf/trunk/systests/transports/src/test/java/org/apache/cxf/jms/testsuite/testcases/SOAPJMSTestSuiteTest.java Wed Aug 18 05:53:13 2010
> @@ -155,7 +155,10 @@ public class SOAPJMSTestSuiteTest extend
>         final JMSSimplePortType simplePort = getPort("JMSSimpleService0001", "SimplePort",
>                                                      JMSSimpleService0001.class,
>                                                      JMSSimplePortType.class);
> -        twoWayTest(testcase, simplePort);
> +        JMSMessageHeadersType requestHeader = new JMSMessageHeadersType();
> +        requestHeader.setJMSCorrelationID("Correlator0002");
> +
> +        twoWayTestWithRequestHeader(testcase, simplePort, requestHeader);
>     }
>
>     @Test
>
> Modified: cxf/trunk/systests/transports/src/test/java/org/apache/cxf/jms/testsuite/util/JMSTestUtil.java
> URL: http://svn.apache.org/viewvc/cxf/trunk/systests/transports/src/test/java/org/apache/cxf/jms/testsuite/util/JMSTestUtil.java?rev=986571&r1=986570&r2=986571&view=diff
> ==============================================================================
> --- cxf/trunk/systests/transports/src/test/java/org/apache/cxf/jms/testsuite/util/JMSTestUtil.java (original)
> +++ cxf/trunk/systests/transports/src/test/java/org/apache/cxf/jms/testsuite/util/JMSTestUtil.java Wed Aug 18 05:53:13 2010
> @@ -205,6 +205,9 @@ public final class JMSTestUtil {
>         if (messageProperties.isSetExpiration()) {
>             jmsMessage.setJMSPriority(messageProperties.getExpiration());
>         }
> +        if (messageProperties.isSetCorrelationID()) {
> +            jmsMessage.setJMSCorrelationID(messageProperties.getCorrelationID());
> +        }
>
>         if (messageProperties.isSetTargetService()
>             && !"".equals(messageProperties.getTargetService().trim())) {
>
> Modified: cxf/trunk/systests/transports/src/test/java/org/apache/cxf/jms/testsuite/util/testcases.xml
> URL: http://svn.apache.org/viewvc/cxf/trunk/systests/transports/src/test/java/org/apache/cxf/jms/testsuite/util/testcases.xml?rev=986571&r1=986570&r2=986571&view=diff
> ==============================================================================
> --- cxf/trunk/systests/transports/src/test/java/org/apache/cxf/jms/testsuite/util/testcases.xml (original)
> +++ cxf/trunk/systests/transports/src/test/java/org/apache/cxf/jms/testsuite/util/testcases.xml Wed Aug 18 05:53:13 2010
> @@ -45,7 +45,7 @@
>                        <priority>4</priority>
>                        <expiration>0</expiration>
>                        <replyTo></replyTo>
> -                       <correlationID></correlationID>
> +                       <correlationID>Correlator0002</correlationID>
>                        <destination>queue://testqueue0001</destination>
>                        <redelivered>false</redelivered>
>                        <bindingVersion>1.0</bindingVersion>
> @@ -62,7 +62,7 @@
>                        <priority>4</priority>
>                        <expiration>0</expiration>
>                        <replyTo></replyTo>
> -                       <correlationID></correlationID>
> +                       <correlationID>Correlator0002</correlationID>
>                        <destination></destination>
>                        <redelivered>false</redelivered>
>                        <bindingVersion>1.0</bindingVersion>
> @@ -103,7 +103,7 @@
>                        <priority>4</priority>
>                        <expiration>0</expiration>
>                        <replyTo></replyTo>
> -                       <correlationID></correlationID>
> +                       <correlationID>Correlator0002</correlationID>
>                        <destination>queue://testqueue0101</destination>
>                        <redelivered>false</redelivered>
>                        <bindingVersion>1.0</bindingVersion>
> @@ -120,7 +120,7 @@
>                        <priority>4</priority>
>                        <expiration>0</expiration>
>                        <replyTo></replyTo>
> -                       <correlationID></correlationID>
> +                       <correlationID>Correlator0002</correlationID>
>                        <destination></destination>
>                        <redelivered>false</redelivered>
>                        <bindingVersion>1.0</bindingVersion>
>
> Modified: cxf/trunk/testutils/src/main/resources/wsdl/jms_spec_test.wsdl
> URL: http://svn.apache.org/viewvc/cxf/trunk/testutils/src/main/resources/wsdl/jms_spec_test.wsdl?rev=986571&r1=986570&r2=986571&view=diff
> ==============================================================================
> --- cxf/trunk/testutils/src/main/resources/wsdl/jms_spec_test.wsdl (original)
> +++ cxf/trunk/testutils/src/main/resources/wsdl/jms_spec_test.wsdl Wed Aug 18 05:53:13 2010
> @@ -27,7 +27,7 @@
>     xmlns:xsd="http://www.w3.org/2001/XMLSchema"
>     xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
>     xmlns:x1="http://cxf.apache.org/jms_greeter/types"
> -    xmlns:soapjms="http://www.w3.org/2008/07/soap/bindings/JMS/">
> +    xmlns:soapjms="http://www.w3.org/2010/soapjms/">
>     <wsdl:types>
>         <schema targetNamespace="http://cxf.apache.org/jms_greeter/types"
>             xmlns="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
> @@ -105,7 +105,7 @@
>
>
>     <wsdl:binding name="JMSGreeterPortBinding" type="tns:JMSGreeterPortType">
> -        <soap:binding style="document" transport="http://www.w3.org/2008/07/soap/bindings/JMS/"/>
> +        <soap:binding style="document" transport="http://www.w3.org/2010/soapjms/"/>
>
>
>         <soapjms:jndiContextParameter name="name"
>
> Modified: cxf/trunk/testutils/src/main/resources/wsdl/jms_spec_testsuite.wsdl
> URL: http://svn.apache.org/viewvc/cxf/trunk/testutils/src/main/resources/wsdl/jms_spec_testsuite.wsdl?rev=986571&r1=986570&r2=986571&view=diff
> ==============================================================================
> --- cxf/trunk/testutils/src/main/resources/wsdl/jms_spec_testsuite.wsdl (original)
> +++ cxf/trunk/testutils/src/main/resources/wsdl/jms_spec_testsuite.wsdl Wed Aug 18 05:53:13 2010
> @@ -29,7 +29,7 @@
>     xmlns:xsd="http://www.w3.org/2001/XMLSchema"
>     xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
>     xmlns:x1="http://cxf.apache.org/jms_simple/types"
> -    xmlns:soapjms="http://www.w3.org/2008/07/soap/bindings/JMS/">
> +    xmlns:soapjms="http://www.w3.org/2010/soapjms/">
>     <wsdl:types>
>         <schema targetNamespace="http://cxf.apache.org/jms_simple/types"
>             xmlns="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
> @@ -61,7 +61,7 @@
>     </wsdl:portType>
>
>     <wsdl:binding name="JMSSimplePortBinding" type="tns:JMSSimplePortType">
> -        <soap:binding style="document" transport="http://www.w3.org/2008/07/soap/bindings/JMS/"/>
> +        <soap:binding style="document" transport="http://www.w3.org/2010/soapjms/"/>
>
>         <wsdl:operation name="echo">
>             <soap:operation soapAction="echo" style="document"/>
> @@ -82,7 +82,7 @@
>     </wsdl:binding>
>
>     <wsdl:binding name="JMSSimpleSOAP12PortBinding" type="tns:JMSSimplePortType">
> -        <soap12:binding style="document" transport="http://www.w3.org/2008/07/soap/bindings/JMS/"/>
> +        <soap12:binding style="document" transport="http://www.w3.org/2010/soapjms/"/>
>
>         <wsdl:operation name="echo">
>             <soap12:operation soapAction="echo" style="document"/>
> @@ -103,7 +103,7 @@
>     </wsdl:binding>
>
>     <wsdl:binding name="JMSSimplePortBinding0006" type="tns:JMSSimplePortType">
> -        <soap:binding style="document" transport="http://www.w3.org/2008/07/soap/bindings/JMS/"/>
> +        <soap:binding style="document" transport="http://www.w3.org/2010/soapjms/"/>
>
>         <soapjms:deliveryMode>NON_PERSISTENT</soapjms:deliveryMode>
>         <soapjms:timeToLive>7200000</soapjms:timeToLive>
> @@ -129,7 +129,7 @@
>     </wsdl:binding>
>
>     <wsdl:binding name="JMSSimplePortBinding0009" type="tns:JMSSimplePortType">
> -        <soap:binding style="document" transport="http://www.w3.org/2008/07/soap/bindings/JMS/"/>
> +        <soap:binding style="document" transport="http://www.w3.org/2010/soapjms/"/>
>
>         <soapjms:deliveryMode>PERSISTENT</soapjms:deliveryMode>
>         <soapjms:timeToLive>7200000</soapjms:timeToLive>
> @@ -155,7 +155,7 @@
>     </wsdl:binding>
>
>     <wsdl:binding name="JMSSimplePortBinding0010" type="tns:JMSSimplePortType">
> -        <soap:binding style="document" transport="http://www.w3.org/2008/07/soap/bindings/JMS/"/>
> +        <soap:binding style="document" transport="http://www.w3.org/2010/soapjms/"/>
>
>         <soapjms:deliveryMode>NON_PERSISTENT</soapjms:deliveryMode>
>         <soapjms:timeToLive>7200000</soapjms:timeToLive>
> @@ -181,7 +181,7 @@
>     </wsdl:binding>
>
>     <wsdl:binding name="JMSSimplePortBinding0013" type="tns:JMSSimplePortType">
> -        <soap:binding style="document" transport="http://www.w3.org/2008/07/soap/bindings/JMS/"/>
> +        <soap:binding style="document" transport="http://www.w3.org/2010/soapjms/"/>
>
>         <soapjms:timeToLive>7200000</soapjms:timeToLive>
>
> @@ -204,7 +204,7 @@
>     </wsdl:binding>
>
>     <wsdl:binding name="JMSSimplePortBinding0014" type="tns:JMSSimplePortType">
> -        <soap:binding style="document" transport="http://www.w3.org/2008/07/soap/bindings/JMS/"/>
> +        <soap:binding style="document" transport="http://www.w3.org/2010/soapjms/"/>
>
>         <soapjms:timeToLive>7200000</soapjms:timeToLive>
>         <soapjms:priority>4</soapjms:priority>
>
>
>

Re: svn commit: r986571 - in /cxf/trunk: distribution/src/main/release/samples/jms-spec-demo/wsdl/ rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/ rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/jms/interceptor/ rt/bindings/soa

Posted by Willem Jiang <wi...@gmail.com>.
Hi Jim

On 9/14/10 1:27 PM, Jim Ma wrote:
> Hi all ,
> After this commit,  the SoapJMSInInterceptor is added to check the
> "SOAPJMS_conentType" and other key/value pairs in message header .  It
> requires the "SOAPJMS_contentType" and other properties added in the
> jms message. Are such header (jms message property) checks in
> SoapJMSInInterceptor  required in SOAP JMS specification ?  If the
> answer is yes , do we actually need to require user to add these
> properties to each jms request message as we do in
> SOAPJMSTestSuiteTest now ?

SoapJMSInInterceptor is used to check if the message headers meet the 
requirements of SOAP over JMS specification.


>
> I also want to keep the following java first jms test case work
> without properties setting in jms message ? Can the SoapJMSInteceptor
> automatically be disabled for this test case ?

If you don't want to use it, you just need to make sure you don't use 
the transportId for the SOAP over JMS.
You can change the use other JMS transportId such as 
"http://cxf.apache.org/transports/jms/configuration"


Willem
>
> ------SEI impl-----------
> @javax.jws.WebService(portName = "GreeterPort",
>                        serviceName = "JMSGreeterService",
>                        targetNamespace = "http://cxf.apache.org/jms_greeter",
> public class GreeterJMSImpl {
>      public String greetMe(String me) {
>          LOG.info("Executing operation greetMe");
>          System.out.println("Executing operation greetMe");
>          System.out.println("Message received: " + me + "\n");
>          return "Hello " + me;
>      }
>
>
> -----------------cxf.xml ------------------------------------
> <?xml version="1.0" encoding="UTF-8"?>
> <beans
>    ....
>    http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd
>    http://cxf.apache.org/transports/jms
> http://cxf.apache.org/schemas/configuration/jms.xsd'>
>
>    <jaxws:endpoint
>      implementor='org.apache.cxf.jms_greeter.GreeterJMSImpl'
>      transportId="http://www.w3.org/2010/soapjms/">
>    </jaxws:endpoint>
>
>    <jms:destination
> name="{http://cxf.apache.org/jms_greeter}GreeterPort.jms-destination">
>      <jms:address
>        destinationStyle="queue"
>        jndiConnectionFactoryName="ConnectionFactory"
>        jndiDestinationName="queue/RequestQueue"
>        jndiReplyDestinationName="queue/ResponseQueue">
>      </jms:address>
>    </jms:destination>
>
>    <jms:conduit name="{http://cxf.apache.org/jms_greeter}GreeterPort..jms-conduit">
>      <jms:address
>        destinationStyle="queue"
>        jndiConnectionFactoryName="ConnectionFactory"
>        jndiDestinationName="queue/RequestQueue"
>        jndiReplyDestinationName="queue/ResponseQueue">
>      </jms:address>
>    </jms:conduit>
> </beans>
>
> ---Client code -------
> String reqMessage ="<env:Envelope
> xmlns:env='http://schemas.xmlsoap.org/soap/envelope/'>...</env:Envelope>";
> InitialContext context = new InitialContext();
> QueueConnectionFactory connectionFactory
> (QueueConnectionFactory)context.lookup("ConnectionFactory");
> Queue reqQueue = (Queue)context.lookup("queue/RequestQueue");
> Queue resQueue = (Queue)context.lookup("queue/ResponseQueue");
> QueueConnection con = connectionFactory.createQueueConnection();
> QueueSession session = con.createQueueSession(false, Session.AUTO_ACKNOWLEDGE);
> QueueReceiver receiver = session.createReceiver(resQueue);
> ResponseListener responseListener = new ResponseListener();
> receiver.setMessageListener(responseListener);
> con.start();
>
> TextMessage message = session.createTextMessage(reqMessage);
> message.setJMSReplyTo(resQueue);
> waitForResponse = true;
> QueueSender sender = session.createSender(reqQueue);
> sender.send(message);
> sender.close();
> int timeout = 5;
> while (waitForResponse&&  timeout>  0)
>   {
>       Thread.sleep(1000);
>        timeout = timeout -1;
>   }
>
>
> Cheers,
> Jim
>
>
>
>
> On Wed, Aug 18, 2010 at 1:53 PM,<ni...@apache.org>  wrote:
>> Author: ningjiang
>> Date: Wed Aug 18 05:53:13 2010
>> New Revision: 986571
>>
>> URL: http://svn.apache.org/viewvc?rev=986571&view=rev
>> Log:
>> CXF-2949, CXF-2950, CXF-2951, applied Peter's patch of soapjms
>>
>> Modified:
>>     cxf/trunk/distribution/src/main/release/samples/jms-spec-demo/wsdl/jms_greeter.wsdl
>>     cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/SoapBindingFactory.java
>>     cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/SoapTransportFactory.java
>>     cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/jms/interceptor/SoapFaultFactory.java
>>     cxf/trunk/rt/bindings/soap/src/main/resources/META-INF/cxf/bus-extensions.xml
>>     cxf/trunk/rt/bindings/soap/src/main/resources/META-INF/cxf/cxf-extension-soap.xml
>>     cxf/trunk/rt/bindings/soap/src/test/java/org/apache/cxf/binding/soap/jms/interceptor/SoapFaultFactoryTest.java
>>     cxf/trunk/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/spec/JMSSpecConstants.java
>>     cxf/trunk/rt/transports/jms/src/main/resources/schemas/wsdl/spec/jms-spec-wsdl.xsd
>>     cxf/trunk/systests/transports/src/test/java/org/apache/cxf/jms/testsuite/testcases/SOAPJMSTestSuiteTest.java
>>     cxf/trunk/systests/transports/src/test/java/org/apache/cxf/jms/testsuite/util/JMSTestUtil.java
>>     cxf/trunk/systests/transports/src/test/java/org/apache/cxf/jms/testsuite/util/testcases.xml
>>     cxf/trunk/testutils/src/main/resources/wsdl/jms_spec_test.wsdl
>>     cxf/trunk/testutils/src/main/resources/wsdl/jms_spec_testsuite.wsdl
>>

Re: svn commit: r986571 - in /cxf/trunk: distribution/src/main/release/samples/jms-spec-demo/wsdl/ rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/ rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/jms/interceptor/ rt/bindings/soa

Posted by Willem Jiang <wi...@gmail.com>.
Hi Dan,

I agree with you and will commit a patch with your suggestion shortly.

Willem

On 9/15/10 9:23 AM, Daniel Kulp wrote:
> On Tuesday 14 September 2010 8:58:27 pm Willem Jiang wrote:
>> Hi Dan
>>
>> On 9/14/10 11:06 PM, Daniel Kulp wrote:
>>> On Tuesday 14 September 2010 8:47:34 am Willem Jiang wrote:
>>>> On 9/14/10 4:16 PM, Willem Jiang wrote:
>>>> After checking the change log and the chat log, I found why we have the
>>>> upper codes. The upper codes is try to support to specify the address
>>>> with JMS URI in code first model with JAXWS API (You can't specify the
>>>> transportId from that). But it will cause the side effect that CXF 2.3.0
>>>> will not support the old JMS configuration out of box.
>>>>
>>>> As we can't get the address string from the SoapBindingConfiguration to
>>>> workaround this issue, JAXWS API doesn't support the SOAP over JMS
>>>> specification out of box, and we still support the old JMS
>>>> configuration, so I suggest to remove this code.
>>>
>>> No, we really want a jaxws style Endpoint.publish("jms://.....") type
>>> thing to work with the soap/jms stuff.
>>>
>>> One option would be to have an extra flag on SoapBindingInfo that record
>>> if this is really a full "soap/jms spec compliant" thing or not.  The
>>> SoapBindingFactory could then use that flag to determine whether to add
>>> the extra interceptors or not.
>>>
>>> Would that work?
>>>
>>> Dan
>>
>> The address is bond to endpoint which is decoupled with the BingingInfo,
>> so it is hard to detect the address information when we create the
>> SoapBindingInfo.
>>
>> Here is a way to override the transportId without any addition
>> configuration for the jaxws style Endpoint.publish("jms://....."). As
>> the old JMS transport doesn't support the jms URI,
>
> Umm.. Yes it does.  There is only one JMS transport and it does support the
> JMS URL (as well as the old config).   You can set the binding type to the XML
> binding and use a JMS URL and that should also work (XML over JMS).
>
> The SOAP transport is the problem here.  When the SOAP transport is used, if
> it detects the old JMS transport ID (detected from the jms:// URL), it
> switches it to the new ID and then adds some interceptors that are now
> incompatible.   That's what needs to be turned off.   I believe it can switch
> the ID, but it cannot add the interceptor.
>
> How about this (should cover 95% of the usecase): if the URL is JUST jms://
> and nothing else, it doesn't flip the ID.   If there is anything beyond the
> jms://, assume it's the new style URL and flip.   Since the new style requires
> SOMETHING beyond there, that should work.   None of our old examples ever used
> anything other than jms:// for the address for old style stuff.
>
> WYT?
>
> Dan
>
>
>
>> we just need to hack
>> the transportId looking up processor from the
>> AbstractWSDLBasedEndpointFactory to set the transportId with soap over
>> jms transportId if there is an address which is started with "jms://".
>>
>> How about it?
>>
>> Willem
>>
>
>


Re: svn commit: r986571 - in /cxf/trunk: distribution/src/main/release/samples/jms-spec-demo/wsdl/ rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/ rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/jms/interceptor/ rt/bindings/soa

Posted by Daniel Kulp <dk...@apache.org>.
On Tuesday 14 September 2010 8:58:27 pm Willem Jiang wrote:
> Hi Dan
> 
> On 9/14/10 11:06 PM, Daniel Kulp wrote:
> > On Tuesday 14 September 2010 8:47:34 am Willem Jiang wrote:
> >> On 9/14/10 4:16 PM, Willem Jiang wrote:
> >> After checking the change log and the chat log, I found why we have the
> >> upper codes. The upper codes is try to support to specify the address
> >> with JMS URI in code first model with JAXWS API (You can't specify the
> >> transportId from that). But it will cause the side effect that CXF 2.3.0
> >> will not support the old JMS configuration out of box.
> >> 
> >> As we can't get the address string from the SoapBindingConfiguration to
> >> workaround this issue, JAXWS API doesn't support the SOAP over JMS
> >> specification out of box, and we still support the old JMS
> >> configuration, so I suggest to remove this code.
> > 
> > No, we really want a jaxws style Endpoint.publish("jms://.....") type
> > thing to work with the soap/jms stuff.
> > 
> > One option would be to have an extra flag on SoapBindingInfo that record
> > if this is really a full "soap/jms spec compliant" thing or not.  The
> > SoapBindingFactory could then use that flag to determine whether to add
> > the extra interceptors or not.
> > 
> > Would that work?
> > 
> > Dan
> 
> The address is bond to endpoint which is decoupled with the BingingInfo,
> so it is hard to detect the address information when we create the
> SoapBindingInfo.
> 
> Here is a way to override the transportId without any addition
> configuration for the jaxws style Endpoint.publish("jms://....."). As
> the old JMS transport doesn't support the jms URI,

Umm.. Yes it does.  There is only one JMS transport and it does support the 
JMS URL (as well as the old config).   You can set the binding type to the XML 
binding and use a JMS URL and that should also work (XML over JMS).

The SOAP transport is the problem here.  When the SOAP transport is used, if 
it detects the old JMS transport ID (detected from the jms:// URL), it 
switches it to the new ID and then adds some interceptors that are now 
incompatible.   That's what needs to be turned off.   I believe it can switch 
the ID, but it cannot add the interceptor.   

How about this (should cover 95% of the usecase): if the URL is JUST jms:// 
and nothing else, it doesn't flip the ID.   If there is anything beyond the 
jms://, assume it's the new style URL and flip.   Since the new style requires 
SOMETHING beyond there, that should work.   None of our old examples ever used 
anything other than jms:// for the address for old style stuff.

WYT?

Dan



> we just need to hack
> the transportId looking up processor from the
> AbstractWSDLBasedEndpointFactory to set the transportId with soap over
> jms transportId if there is an address which is started with "jms://".
> 
> How about it?
> 
> Willem
> 


-- 
Daniel Kulp
dkulp@apache.org
http://dankulp.com/blog

Re: svn commit: r986571 - in /cxf/trunk: distribution/src/main/release/samples/jms-spec-demo/wsdl/ rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/ rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/jms/interceptor/ rt/bindings/soa

Posted by Willem Jiang <wi...@gmail.com>.
Hi Dan
On 9/14/10 11:06 PM, Daniel Kulp wrote:
> On Tuesday 14 September 2010 8:47:34 am Willem Jiang wrote:
>> On 9/14/10 4:16 PM, Willem Jiang wrote:
>> After checking the change log and the chat log, I found why we have the
>> upper codes. The upper codes is try to support to specify the address
>> with JMS URI in code first model with JAXWS API (You can't specify the
>> transportId from that). But it will cause the side effect that CXF 2.3.0
>> will not support the old JMS configuration out of box.
>>
>> As we can't get the address string from the SoapBindingConfiguration to
>> workaround this issue, JAXWS API doesn't support the SOAP over JMS
>> specification out of box, and we still support the old JMS
>> configuration, so I suggest to remove this code.
>
> No, we really want a jaxws style Endpoint.publish("jms://.....") type thing to
> work with the soap/jms stuff.
>
> One option would be to have an extra flag on SoapBindingInfo that record if
> this is really a full "soap/jms spec compliant" thing or not.  The
> SoapBindingFactory could then use that flag to determine whether to add the
> extra interceptors or not.
>
> Would that work?
>
> Dan
>

The address is bond to endpoint which is decoupled with the BingingInfo, 
so it is hard to detect the address information when we create the 
SoapBindingInfo.

Here is a way to override the transportId without any addition 
configuration for the jaxws style Endpoint.publish("jms://....."). As 
the old JMS transport doesn't support the jms URI, we just need to hack 
the transportId looking up processor from the 
AbstractWSDLBasedEndpointFactory to set the transportId with soap over 
jms transportId if there is an address which is started with "jms://".

How about it?

Willem


>
>
>>
>> Any thoughts ?
>>
>> Willem
>>
>>> I will did a quick fix for it.
>>>
>>> Willem
>>>
>>>> On Tue, Sep 14, 2010 at 3:46 PM, Jim Ma<ma...@gmail.com>  wrote:
>>>>> The cxf.xml I just pasted is I modified to test .
>>>>> Here is the original one which works before the soap jms change :
>>>>>
>>>>> <?xml version="1.0" encoding="UTF-8"?>
>>>>> <beans
>>>>> xmlns='http://www.springframework.org/schema/beans'
>>>>> xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'
>>>>> xmlns:beans='http://www.springframework.org/schema/beans'
>>>>> xmlns:jms="http://cxf.apache.org/transports/jms"
>>>>> xmlns:jaxws='http://cxf.apache.org/jaxws'
>>>>> xsi:schemaLocation='http://www.springframework.org/schema/beans
>>>>> http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
>>>>> http://www.w3.org/2006/07/ws-policy
>>>>> http://www.w3.org/2006/07/ws-policy.xsd
>>>>> http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd
>>>>> http://cxf.apache.org/transports/jms
>>>>> http://cxf.apache.org/schemas/configuration/jms.xsd'>
>>>>>
>>>>> <jaxws:endpoint
>>>>> implementor='org.jboss.test.ws.jaxws.samples.jmsendpoints.jmstransport.
>>>>> OrganizationJmsEndpoint'
>>>>>
>>>>> transportId="http://cxf.apache.org/transports/jms">
>>>>> </jaxws:endpoint>
>>>>>
>>>>> <jms:destination
>>>>> name="{http://org.jboss.ws/samples/jmstransport}JmsPort.jms-destination
>>>>> ">
>>>>>
>>>>> <jms:address
>>>>> destinationStyle="queue"
>>>>> jndiConnectionFactoryName="ConnectionFactory"
>>>>> jndiDestinationName="queue/RequestQueue"
>>>>> jndiReplyDestinationName="queue/ResponseQueue">
>>>>> </jms:address>
>>>>> </jms:destination>
>>>>>
>>>>> <jms:conduit
>>>>> name="{http://org.jboss.ws/samples/jmstransport}JmsPort.jms-conduit">
>>>>> <jms:address
>>>>> destinationStyle="queue"
>>>>> jndiConnectionFactoryName="ConnectionFactory"
>>>>> jndiDestinationName="queue/RequestQueue"
>>>>> jndiReplyDestinationName="queue/ResponseQueue">
>>>>> </jms:address>
>>>>> </jms:conduit>
>>>>>
>>>>> </beans>
>>>>>
>>>>> On Tue, Sep 14, 2010 at 1:27 PM, Jim Ma<ma...@gmail.com>  wrote:
>>>>>> Hi all ,
>>>>>> After this commit, the SoapJMSInInterceptor is added to check the
>>>>>> "SOAPJMS_conentType" and other key/value pairs in message header . It
>>>>>> requires the "SOAPJMS_contentType" and other properties added in the
>>>>>> jms message. Are such header (jms message property) checks in
>>>>>> SoapJMSInInterceptor required in SOAP JMS specification ? If the
>>>>>> answer is yes , do we actually need to require user to add these
>>>>>> properties to each jms request message as we do in
>>>>>> SOAPJMSTestSuiteTest now ?
>>>>>>
>>>>>> I also want to keep the following java first jms test case work
>>>>>> without properties setting in jms message ? Can the SoapJMSInteceptor
>>>>>> automatically be disabled for this test case ?
>>>>>>
>>>>>> ------SEI impl-----------
>>>>>> @javax.jws.WebService(portName = "GreeterPort",
>>>>>> serviceName = "JMSGreeterService",
>>>>>> targetNamespace = "http://cxf.apache.org/jms_greeter",
>>>>>> public class GreeterJMSImpl {
>>>>>> public String greetMe(String me) {
>>>>>> LOG.info("Executing operation greetMe");
>>>>>> System.out.println("Executing operation greetMe");
>>>>>> System.out.println("Message received: " + me + "\n");
>>>>>> return "Hello " + me;
>>>>>> }
>>>>>>
>>>>>>
>>>>>> -----------------cxf.xml ------------------------------------
>>>>>> <?xml version="1.0" encoding="UTF-8"?>
>>>>>> <beans
>>>>>> ....
>>>>>> http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd
>>>>>> http://cxf.apache.org/transports/jms
>>>>>> http://cxf.apache.org/schemas/configuration/jms.xsd'>
>>>>>>
>>>>>> <jaxws:endpoint
>>>>>> implementor='org.apache.cxf.jms_greeter.GreeterJMSImpl'
>>>>>> transportId="http://www.w3.org/2010/soapjms/">
>>>>>> </jaxws:endpoint>
>>>>>>
>>>>>> <jms:destination
>>>>>> name="{http://cxf.apache.org/jms_greeter}GreeterPort.jms-destination">
>>>>>> <jms:address
>>>>>> destinationStyle="queue"
>>>>>> jndiConnectionFactoryName="ConnectionFactory"
>>>>>> jndiDestinationName="queue/RequestQueue"
>>>>>> jndiReplyDestinationName="queue/ResponseQueue">
>>>>>> </jms:address>
>>>>>> </jms:destination>
>>>>>>
>>>>>> <jms:conduit
>>>>>> name="{http://cxf.apache.org/jms_greeter}GreeterPort..jms-conduit">
>>>>>> <jms:address
>>>>>> destinationStyle="queue"
>>>>>> jndiConnectionFactoryName="ConnectionFactory"
>>>>>> jndiDestinationName="queue/RequestQueue"
>>>>>> jndiReplyDestinationName="queue/ResponseQueue">
>>>>>> </jms:address>
>>>>>> </jms:conduit>
>>>>>> </beans>
>>>>>>
>>>>>> ---Client code -------
>>>>>> String reqMessage ="<env:Envelope
>>>>>> xmlns:env='http://schemas.xmlsoap.org/soap/envelope/'>...</env:Envelop
>>>>>> e>";
>>>>>>
>>>>>> InitialContext context = new InitialContext();
>>>>>> QueueConnectionFactory connectionFactory
>>>>>> (QueueConnectionFactory)context.lookup("ConnectionFactory");
>>>>>> Queue reqQueue = (Queue)context.lookup("queue/RequestQueue");
>>>>>> Queue resQueue = (Queue)context.lookup("queue/ResponseQueue");
>>>>>> QueueConnection con = connectionFactory.createQueueConnection();
>>>>>> QueueSession session = con.createQueueSession(false,
>>>>>> Session.AUTO_ACKNOWLEDGE);
>>>>>> QueueReceiver receiver = session.createReceiver(resQueue);
>>>>>> ResponseListener responseListener = new ResponseListener();
>>>>>> receiver.setMessageListener(responseListener);
>>>>>> con.start();
>>>>>>
>>>>>> TextMessage message = session.createTextMessage(reqMessage);
>>>>>> message.setJMSReplyTo(resQueue);
>>>>>> waitForResponse = true;
>>>>>> QueueSender sender = session.createSender(reqQueue);
>>>>>> sender.send(message);
>>>>>> sender.close();
>>>>>> int timeout = 5;
>>>>>> while (waitForResponse&&  timeout>  0)
>>>>>> {
>>>>>> Thread.sleep(1000);
>>>>>> timeout = timeout -1;
>>>>>> }
>>>>>>
>>>>>>
>>>>>> Cheers,
>>>>>> Jim
>


Re: svn commit: r986571 - in /cxf/trunk: distribution/src/main/release/samples/jms-spec-demo/wsdl/ rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/ rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/jms/interceptor/ rt/bindings/soa

Posted by Daniel Kulp <dk...@apache.org>.
On Tuesday 14 September 2010 8:47:34 am Willem Jiang wrote:
> On 9/14/10 4:16 PM, Willem Jiang wrote:
> After checking the change log and the chat log, I found why we have the
> upper codes. The upper codes is try to support to specify the address
> with JMS URI in code first model with JAXWS API (You can't specify the
> transportId from that). But it will cause the side effect that CXF 2.3.0
> will not support the old JMS configuration out of box.
>
> As we can't get the address string from the SoapBindingConfiguration to
> workaround this issue, JAXWS API doesn't support the SOAP over JMS
> specification out of box, and we still support the old JMS
> configuration, so I suggest to remove this code.

No, we really want a jaxws style Endpoint.publish("jms://.....") type thing to 
work with the soap/jms stuff.   

One option would be to have an extra flag on SoapBindingInfo that record if 
this is really a full "soap/jms spec compliant" thing or not.  The 
SoapBindingFactory could then use that flag to determine whether to add the 
extra interceptors or not.

Would that work?

Dan



> 
> Any thoughts ?
> 
> Willem
> 
> > I will did a quick fix for it.
> > 
> > Willem
> > 
> >> On Tue, Sep 14, 2010 at 3:46 PM, Jim Ma<ma...@gmail.com> wrote:
> >>> The cxf.xml I just pasted is I modified to test .
> >>> Here is the original one which works before the soap jms change :
> >>> 
> >>> <?xml version="1.0" encoding="UTF-8"?>
> >>> <beans
> >>> xmlns='http://www.springframework.org/schema/beans'
> >>> xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'
> >>> xmlns:beans='http://www.springframework.org/schema/beans'
> >>> xmlns:jms="http://cxf.apache.org/transports/jms"
> >>> xmlns:jaxws='http://cxf.apache.org/jaxws'
> >>> xsi:schemaLocation='http://www.springframework.org/schema/beans
> >>> http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
> >>> http://www.w3.org/2006/07/ws-policy
> >>> http://www.w3.org/2006/07/ws-policy.xsd
> >>> http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd
> >>> http://cxf.apache.org/transports/jms
> >>> http://cxf.apache.org/schemas/configuration/jms.xsd'>
> >>> 
> >>> <jaxws:endpoint
> >>> implementor='org.jboss.test.ws.jaxws.samples.jmsendpoints.jmstransport.
> >>> OrganizationJmsEndpoint'
> >>> 
> >>> transportId="http://cxf.apache.org/transports/jms">
> >>> </jaxws:endpoint>
> >>> 
> >>> <jms:destination
> >>> name="{http://org.jboss.ws/samples/jmstransport}JmsPort.jms-destination
> >>> ">
> >>> 
> >>> <jms:address
> >>> destinationStyle="queue"
> >>> jndiConnectionFactoryName="ConnectionFactory"
> >>> jndiDestinationName="queue/RequestQueue"
> >>> jndiReplyDestinationName="queue/ResponseQueue">
> >>> </jms:address>
> >>> </jms:destination>
> >>> 
> >>> <jms:conduit
> >>> name="{http://org.jboss.ws/samples/jmstransport}JmsPort.jms-conduit">
> >>> <jms:address
> >>> destinationStyle="queue"
> >>> jndiConnectionFactoryName="ConnectionFactory"
> >>> jndiDestinationName="queue/RequestQueue"
> >>> jndiReplyDestinationName="queue/ResponseQueue">
> >>> </jms:address>
> >>> </jms:conduit>
> >>> 
> >>> </beans>
> >>> 
> >>> On Tue, Sep 14, 2010 at 1:27 PM, Jim Ma<ma...@gmail.com> wrote:
> >>>> Hi all ,
> >>>> After this commit, the SoapJMSInInterceptor is added to check the
> >>>> "SOAPJMS_conentType" and other key/value pairs in message header . It
> >>>> requires the "SOAPJMS_contentType" and other properties added in the
> >>>> jms message. Are such header (jms message property) checks in
> >>>> SoapJMSInInterceptor required in SOAP JMS specification ? If the
> >>>> answer is yes , do we actually need to require user to add these
> >>>> properties to each jms request message as we do in
> >>>> SOAPJMSTestSuiteTest now ?
> >>>> 
> >>>> I also want to keep the following java first jms test case work
> >>>> without properties setting in jms message ? Can the SoapJMSInteceptor
> >>>> automatically be disabled for this test case ?
> >>>> 
> >>>> ------SEI impl-----------
> >>>> @javax.jws.WebService(portName = "GreeterPort",
> >>>> serviceName = "JMSGreeterService",
> >>>> targetNamespace = "http://cxf.apache.org/jms_greeter",
> >>>> public class GreeterJMSImpl {
> >>>> public String greetMe(String me) {
> >>>> LOG.info("Executing operation greetMe");
> >>>> System.out.println("Executing operation greetMe");
> >>>> System.out.println("Message received: " + me + "\n");
> >>>> return "Hello " + me;
> >>>> }
> >>>> 
> >>>> 
> >>>> -----------------cxf.xml ------------------------------------
> >>>> <?xml version="1.0" encoding="UTF-8"?>
> >>>> <beans
> >>>> ....
> >>>> http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd
> >>>> http://cxf.apache.org/transports/jms
> >>>> http://cxf.apache.org/schemas/configuration/jms.xsd'>
> >>>> 
> >>>> <jaxws:endpoint
> >>>> implementor='org.apache.cxf.jms_greeter.GreeterJMSImpl'
> >>>> transportId="http://www.w3.org/2010/soapjms/">
> >>>> </jaxws:endpoint>
> >>>> 
> >>>> <jms:destination
> >>>> name="{http://cxf.apache.org/jms_greeter}GreeterPort.jms-destination">
> >>>> <jms:address
> >>>> destinationStyle="queue"
> >>>> jndiConnectionFactoryName="ConnectionFactory"
> >>>> jndiDestinationName="queue/RequestQueue"
> >>>> jndiReplyDestinationName="queue/ResponseQueue">
> >>>> </jms:address>
> >>>> </jms:destination>
> >>>> 
> >>>> <jms:conduit
> >>>> name="{http://cxf.apache.org/jms_greeter}GreeterPort..jms-conduit">
> >>>> <jms:address
> >>>> destinationStyle="queue"
> >>>> jndiConnectionFactoryName="ConnectionFactory"
> >>>> jndiDestinationName="queue/RequestQueue"
> >>>> jndiReplyDestinationName="queue/ResponseQueue">
> >>>> </jms:address>
> >>>> </jms:conduit>
> >>>> </beans>
> >>>> 
> >>>> ---Client code -------
> >>>> String reqMessage ="<env:Envelope
> >>>> xmlns:env='http://schemas.xmlsoap.org/soap/envelope/'>...</env:Envelop
> >>>> e>";
> >>>> 
> >>>> InitialContext context = new InitialContext();
> >>>> QueueConnectionFactory connectionFactory
> >>>> (QueueConnectionFactory)context.lookup("ConnectionFactory");
> >>>> Queue reqQueue = (Queue)context.lookup("queue/RequestQueue");
> >>>> Queue resQueue = (Queue)context.lookup("queue/ResponseQueue");
> >>>> QueueConnection con = connectionFactory.createQueueConnection();
> >>>> QueueSession session = con.createQueueSession(false,
> >>>> Session.AUTO_ACKNOWLEDGE);
> >>>> QueueReceiver receiver = session.createReceiver(resQueue);
> >>>> ResponseListener responseListener = new ResponseListener();
> >>>> receiver.setMessageListener(responseListener);
> >>>> con.start();
> >>>> 
> >>>> TextMessage message = session.createTextMessage(reqMessage);
> >>>> message.setJMSReplyTo(resQueue);
> >>>> waitForResponse = true;
> >>>> QueueSender sender = session.createSender(reqQueue);
> >>>> sender.send(message);
> >>>> sender.close();
> >>>> int timeout = 5;
> >>>> while (waitForResponse&& timeout> 0)
> >>>> {
> >>>> Thread.sleep(1000);
> >>>> timeout = timeout -1;
> >>>> }
> >>>> 
> >>>> 
> >>>> Cheers,
> >>>> Jim

-- 
Daniel Kulp
dkulp@apache.org
http://dankulp.com/blog

Re: svn commit: r986571 - in /cxf/trunk: distribution/src/main/release/samples/jms-spec-demo/wsdl/ rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/ rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/jms/interceptor/ rt/bindings/soa

Posted by Willem Jiang <wi...@gmail.com>.
On 9/14/10 4:16 PM, Willem Jiang wrote:
> On 9/14/10 4:01 PM, Jim Ma wrote:
>> We already replaced "http://cxf.apache.org/transports/jms" with
>> "http://www.w3.org/2010/soapjms/" in SOAPBindingFactory:
>>
>> if
>> ("http://cxf.apache.org/transports/jms".equals(config.getTransportURI()))
>> {
>> info.setTransportURI("http://www.w3.org/2010/soapjms/");
>> config.setTransportURI("http://www.w3.org/2010/soapjms/");
>> } else {
>> info.setTransportURI(config.getTransportURI());
>> }
>>
>> Does that mean we internally remove the
>> "http://cxf.apache.org/transports/jms" transport support and
>> completely move to soap jms stuff ?
>
> I don't think it's a good idea to override the old jms transport id
> "http://cxf.apache.org/transports/jms" with the new SOAP over JMS
> transportId, In this case we will face a problem that CXF 2.3.0 will not
> support the JMS configure of CXF 2.2.x.But I can't remember why this
> code was put into SOAPBindingFactory.

After checking the change log and the chat log, I found why we have the 
upper codes. The upper codes is try to support to specify the address 
with JMS URI in code first model with JAXWS API (You can't specify the 
transportId from that). But it will cause the side effect that CXF 2.3.0 
will not support the old JMS configuration out of box.

As we can't get the address string from the SoapBindingConfiguration to 
workaround this issue, JAXWS API doesn't support the SOAP over JMS 
specification out of box, and we still support the old JMS 
configuration, so I suggest to remove this code.

Any thoughts ?

Willem
>
> I will did a quick fix for it.
>
> Willem
>
>>
>> On Tue, Sep 14, 2010 at 3:46 PM, Jim Ma<ma...@gmail.com> wrote:
>>> The cxf.xml I just pasted is I modified to test .
>>> Here is the original one which works before the soap jms change :
>>>
>>> <?xml version="1.0" encoding="UTF-8"?>
>>> <beans
>>> xmlns='http://www.springframework.org/schema/beans'
>>> xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'
>>> xmlns:beans='http://www.springframework.org/schema/beans'
>>> xmlns:jms="http://cxf.apache.org/transports/jms"
>>> xmlns:jaxws='http://cxf.apache.org/jaxws'
>>> xsi:schemaLocation='http://www.springframework.org/schema/beans
>>> http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
>>> http://www.w3.org/2006/07/ws-policy
>>> http://www.w3.org/2006/07/ws-policy.xsd
>>> http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd
>>> http://cxf.apache.org/transports/jms
>>> http://cxf.apache.org/schemas/configuration/jms.xsd'>
>>>
>>> <jaxws:endpoint
>>> implementor='org.jboss.test.ws.jaxws.samples.jmsendpoints.jmstransport.OrganizationJmsEndpoint'
>>>
>>> transportId="http://cxf.apache.org/transports/jms">
>>> </jaxws:endpoint>
>>>
>>> <jms:destination
>>> name="{http://org.jboss.ws/samples/jmstransport}JmsPort.jms-destination">
>>>
>>> <jms:address
>>> destinationStyle="queue"
>>> jndiConnectionFactoryName="ConnectionFactory"
>>> jndiDestinationName="queue/RequestQueue"
>>> jndiReplyDestinationName="queue/ResponseQueue">
>>> </jms:address>
>>> </jms:destination>
>>>
>>> <jms:conduit
>>> name="{http://org.jboss.ws/samples/jmstransport}JmsPort.jms-conduit">
>>> <jms:address
>>> destinationStyle="queue"
>>> jndiConnectionFactoryName="ConnectionFactory"
>>> jndiDestinationName="queue/RequestQueue"
>>> jndiReplyDestinationName="queue/ResponseQueue">
>>> </jms:address>
>>> </jms:conduit>
>>>
>>> </beans>
>>>
>>> On Tue, Sep 14, 2010 at 1:27 PM, Jim Ma<ma...@gmail.com> wrote:
>>>> Hi all ,
>>>> After this commit, the SoapJMSInInterceptor is added to check the
>>>> "SOAPJMS_conentType" and other key/value pairs in message header . It
>>>> requires the "SOAPJMS_contentType" and other properties added in the
>>>> jms message. Are such header (jms message property) checks in
>>>> SoapJMSInInterceptor required in SOAP JMS specification ? If the
>>>> answer is yes , do we actually need to require user to add these
>>>> properties to each jms request message as we do in
>>>> SOAPJMSTestSuiteTest now ?
>>>>
>>>> I also want to keep the following java first jms test case work
>>>> without properties setting in jms message ? Can the SoapJMSInteceptor
>>>> automatically be disabled for this test case ?
>>>>
>>>> ------SEI impl-----------
>>>> @javax.jws.WebService(portName = "GreeterPort",
>>>> serviceName = "JMSGreeterService",
>>>> targetNamespace = "http://cxf.apache.org/jms_greeter",
>>>> public class GreeterJMSImpl {
>>>> public String greetMe(String me) {
>>>> LOG.info("Executing operation greetMe");
>>>> System.out.println("Executing operation greetMe");
>>>> System.out.println("Message received: " + me + "\n");
>>>> return "Hello " + me;
>>>> }
>>>>
>>>>
>>>> -----------------cxf.xml ------------------------------------
>>>> <?xml version="1.0" encoding="UTF-8"?>
>>>> <beans
>>>> ....
>>>> http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd
>>>> http://cxf.apache.org/transports/jms
>>>> http://cxf.apache.org/schemas/configuration/jms.xsd'>
>>>>
>>>> <jaxws:endpoint
>>>> implementor='org.apache.cxf.jms_greeter.GreeterJMSImpl'
>>>> transportId="http://www.w3.org/2010/soapjms/">
>>>> </jaxws:endpoint>
>>>>
>>>> <jms:destination
>>>> name="{http://cxf.apache.org/jms_greeter}GreeterPort.jms-destination">
>>>> <jms:address
>>>> destinationStyle="queue"
>>>> jndiConnectionFactoryName="ConnectionFactory"
>>>> jndiDestinationName="queue/RequestQueue"
>>>> jndiReplyDestinationName="queue/ResponseQueue">
>>>> </jms:address>
>>>> </jms:destination>
>>>>
>>>> <jms:conduit
>>>> name="{http://cxf.apache.org/jms_greeter}GreeterPort..jms-conduit">
>>>> <jms:address
>>>> destinationStyle="queue"
>>>> jndiConnectionFactoryName="ConnectionFactory"
>>>> jndiDestinationName="queue/RequestQueue"
>>>> jndiReplyDestinationName="queue/ResponseQueue">
>>>> </jms:address>
>>>> </jms:conduit>
>>>> </beans>
>>>>
>>>> ---Client code -------
>>>> String reqMessage ="<env:Envelope
>>>> xmlns:env='http://schemas.xmlsoap.org/soap/envelope/'>...</env:Envelope>";
>>>>
>>>> InitialContext context = new InitialContext();
>>>> QueueConnectionFactory connectionFactory
>>>> (QueueConnectionFactory)context.lookup("ConnectionFactory");
>>>> Queue reqQueue = (Queue)context.lookup("queue/RequestQueue");
>>>> Queue resQueue = (Queue)context.lookup("queue/ResponseQueue");
>>>> QueueConnection con = connectionFactory.createQueueConnection();
>>>> QueueSession session = con.createQueueSession(false,
>>>> Session.AUTO_ACKNOWLEDGE);
>>>> QueueReceiver receiver = session.createReceiver(resQueue);
>>>> ResponseListener responseListener = new ResponseListener();
>>>> receiver.setMessageListener(responseListener);
>>>> con.start();
>>>>
>>>> TextMessage message = session.createTextMessage(reqMessage);
>>>> message.setJMSReplyTo(resQueue);
>>>> waitForResponse = true;
>>>> QueueSender sender = session.createSender(reqQueue);
>>>> sender.send(message);
>>>> sender.close();
>>>> int timeout = 5;
>>>> while (waitForResponse&& timeout> 0)
>>>> {
>>>> Thread.sleep(1000);
>>>> timeout = timeout -1;
>>>> }
>>>>
>>>>
>>>> Cheers,
>>>> Jim
>>>>

Re: svn commit: r986571 - in /cxf/trunk: distribution/src/main/release/samples/jms-spec-demo/wsdl/ rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/ rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/jms/interceptor/ rt/bindings/soa

Posted by Willem Jiang <wi...@gmail.com>.
On 9/14/10 4:01 PM, Jim Ma wrote:
> We already replaced "http://cxf.apache.org/transports/jms" with
> "http://www.w3.org/2010/soapjms/" in SOAPBindingFactory:
>
>     if ("http://cxf.apache.org/transports/jms".equals(config.getTransportURI()))
> {
>              info.setTransportURI("http://www.w3.org/2010/soapjms/");
>              config.setTransportURI("http://www.w3.org/2010/soapjms/");
>          } else {
>              info.setTransportURI(config.getTransportURI());
>          }
>
> Does that mean we internally remove the
> "http://cxf.apache.org/transports/jms" transport support and
> completely move to soap jms stuff ?

I don't think it's a good idea to override the old jms transport id 
"http://cxf.apache.org/transports/jms" with the new SOAP over JMS 
transportId, In this case we will face a problem that CXF 2.3.0 will not 
support the JMS configure of CXF 2.2.x.But I can't remember why this 
code was put into SOAPBindingFactory.

I will did a quick fix for it.

Willem

>
> On Tue, Sep 14, 2010 at 3:46 PM, Jim Ma<ma...@gmail.com>  wrote:
>> The cxf.xml  I just pasted is I modified to test .
>> Here is the original one which works before the soap jms change :
>>
>> <?xml version="1.0" encoding="UTF-8"?>
>> <beans
>>   xmlns='http://www.springframework.org/schema/beans'
>>   xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'
>>   xmlns:beans='http://www.springframework.org/schema/beans'
>>   xmlns:jms="http://cxf.apache.org/transports/jms"
>>   xmlns:jaxws='http://cxf.apache.org/jaxws'
>>   xsi:schemaLocation='http://www.springframework.org/schema/beans
>> http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
>>   http://www.w3.org/2006/07/ws-policy http://www.w3.org/2006/07/ws-policy.xsd
>>   http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd
>>   http://cxf.apache.org/transports/jms
>> http://cxf.apache.org/schemas/configuration/jms.xsd'>
>>
>>   <jaxws:endpoint
>>     implementor='org.jboss.test.ws.jaxws.samples.jmsendpoints.jmstransport.OrganizationJmsEndpoint'
>>     transportId="http://cxf.apache.org/transports/jms">
>>   </jaxws:endpoint>
>>
>>   <jms:destination
>> name="{http://org.jboss.ws/samples/jmstransport}JmsPort.jms-destination">
>>     <jms:address
>>       destinationStyle="queue"
>>       jndiConnectionFactoryName="ConnectionFactory"
>>       jndiDestinationName="queue/RequestQueue"
>>       jndiReplyDestinationName="queue/ResponseQueue">
>>     </jms:address>
>>   </jms:destination>
>>
>>   <jms:conduit name="{http://org.jboss.ws/samples/jmstransport}JmsPort.jms-conduit">
>>     <jms:address
>>       destinationStyle="queue"
>>       jndiConnectionFactoryName="ConnectionFactory"
>>       jndiDestinationName="queue/RequestQueue"
>>       jndiReplyDestinationName="queue/ResponseQueue">
>>     </jms:address>
>>   </jms:conduit>
>>
>> </beans>
>>
>> On Tue, Sep 14, 2010 at 1:27 PM, Jim Ma<ma...@gmail.com>  wrote:
>>> Hi all ,
>>> After this commit,  the SoapJMSInInterceptor is added to check the
>>> "SOAPJMS_conentType" and other key/value pairs in message header .  It
>>> requires the "SOAPJMS_contentType" and other properties added in the
>>> jms message. Are such header (jms message property) checks in
>>> SoapJMSInInterceptor  required in SOAP JMS specification ?  If the
>>> answer is yes , do we actually need to require user to add these
>>> properties to each jms request message as we do in
>>> SOAPJMSTestSuiteTest now ?
>>>
>>> I also want to keep the following java first jms test case work
>>> without properties setting in jms message ? Can the SoapJMSInteceptor
>>> automatically be disabled for this test case ?
>>>
>>> ------SEI impl-----------
>>> @javax.jws.WebService(portName = "GreeterPort",
>>>                       serviceName = "JMSGreeterService",
>>>                       targetNamespace = "http://cxf.apache.org/jms_greeter",
>>> public class GreeterJMSImpl {
>>>     public String greetMe(String me) {
>>>         LOG.info("Executing operation greetMe");
>>>         System.out.println("Executing operation greetMe");
>>>         System.out.println("Message received: " + me + "\n");
>>>         return "Hello " + me;
>>>     }
>>>
>>>
>>> -----------------cxf.xml ------------------------------------
>>> <?xml version="1.0" encoding="UTF-8"?>
>>> <beans
>>>   ....
>>>   http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd
>>>   http://cxf.apache.org/transports/jms
>>> http://cxf.apache.org/schemas/configuration/jms.xsd'>
>>>
>>>   <jaxws:endpoint
>>>     implementor='org.apache.cxf.jms_greeter.GreeterJMSImpl'
>>>     transportId="http://www.w3.org/2010/soapjms/">
>>>   </jaxws:endpoint>
>>>
>>>   <jms:destination
>>> name="{http://cxf.apache.org/jms_greeter}GreeterPort.jms-destination">
>>>     <jms:address
>>>       destinationStyle="queue"
>>>       jndiConnectionFactoryName="ConnectionFactory"
>>>       jndiDestinationName="queue/RequestQueue"
>>>       jndiReplyDestinationName="queue/ResponseQueue">
>>>     </jms:address>
>>>   </jms:destination>
>>>
>>>   <jms:conduit name="{http://cxf.apache.org/jms_greeter}GreeterPort..jms-conduit">
>>>     <jms:address
>>>       destinationStyle="queue"
>>>       jndiConnectionFactoryName="ConnectionFactory"
>>>       jndiDestinationName="queue/RequestQueue"
>>>       jndiReplyDestinationName="queue/ResponseQueue">
>>>     </jms:address>
>>>   </jms:conduit>
>>> </beans>
>>>
>>> ---Client code -------
>>> String reqMessage ="<env:Envelope
>>> xmlns:env='http://schemas.xmlsoap.org/soap/envelope/'>...</env:Envelope>";
>>> InitialContext context = new InitialContext();
>>> QueueConnectionFactory connectionFactory
>>> (QueueConnectionFactory)context.lookup("ConnectionFactory");
>>> Queue reqQueue = (Queue)context.lookup("queue/RequestQueue");
>>> Queue resQueue = (Queue)context.lookup("queue/ResponseQueue");
>>> QueueConnection con = connectionFactory.createQueueConnection();
>>> QueueSession session = con.createQueueSession(false, Session.AUTO_ACKNOWLEDGE);
>>> QueueReceiver receiver = session.createReceiver(resQueue);
>>> ResponseListener responseListener = new ResponseListener();
>>> receiver.setMessageListener(responseListener);
>>> con.start();
>>>
>>> TextMessage message = session.createTextMessage(reqMessage);
>>> message.setJMSReplyTo(resQueue);
>>> waitForResponse = true;
>>> QueueSender sender = session.createSender(reqQueue);
>>> sender.send(message);
>>> sender.close();
>>> int timeout = 5;
>>> while (waitForResponse&&  timeout>  0)
>>>   {
>>>      Thread.sleep(1000);
>>>       timeout = timeout -1;
>>>   }
>>>
>>>
>>> Cheers,
>>> Jim
>>>
>>>
>>>
>>>
>>> On Wed, Aug 18, 2010 at 1:53 PM,<ni...@apache.org>  wrote:
>>>> Author: ningjiang
>>>> Date: Wed Aug 18 05:53:13 2010
>>>> New Revision: 986571
>>>>
>>>> URL: http://svn.apache.org/viewvc?rev=986571&view=rev
>>>> Log:
>>>> CXF-2949, CXF-2950, CXF-2951, applied Peter's patch of soapjms
>>>>
>>>> Modified:
>>>>     cxf/trunk/distribution/src/main/release/samples/jms-spec-demo/wsdl/jms_greeter.wsdl
>>>>     cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/SoapBindingFactory.java
>>>>     cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/SoapTransportFactory.java
>>>>     cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/jms/interceptor/SoapFaultFactory.java
>>>>     cxf/trunk/rt/bindings/soap/src/main/resources/META-INF/cxf/bus-extensions.xml
>>>>     cxf/trunk/rt/bindings/soap/src/main/resources/META-INF/cxf/cxf-extension-soap.xml
>>>>     cxf/trunk/rt/bindings/soap/src/test/java/org/apache/cxf/binding/soap/jms/interceptor/SoapFaultFactoryTest.java
>>>>     cxf/trunk/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/spec/JMSSpecConstants.java
>>>>     cxf/trunk/rt/transports/jms/src/main/resources/schemas/wsdl/spec/jms-spec-wsdl.xsd
>>>>     cxf/trunk/systests/transports/src/test/java/org/apache/cxf/jms/testsuite/testcases/SOAPJMSTestSuiteTest.java
>>>>     cxf/trunk/systests/transports/src/test/java/org/apache/cxf/jms/testsuite/util/JMSTestUtil.java
>>>>     cxf/trunk/systests/transports/src/test/java/org/apache/cxf/jms/testsuite/util/testcases.xml
>>>>     cxf/trunk/testutils/src/main/resources/wsdl/jms_spec_test.wsdl
>>>>     cxf/trunk/testutils/src/main/resources/wsdl/jms_spec_testsuite.wsdl
>>>>
>>>> Modified: cxf/trunk/distribution/src/main/release/samples/jms-spec-demo/wsdl/jms_greeter.wsdl
>>>> URL: http://svn.apache.org/viewvc/cxf/trunk/distribution/src/main/release/samples/jms-spec-demo/wsdl/jms_greeter.wsdl?rev=986571&r1=986570&r2=986571&view=diff
>>>> ==============================================================================
>>>> --- cxf/trunk/distribution/src/main/release/samples/jms-spec-demo/wsdl/jms_greeter.wsdl (original)
>>>> +++ cxf/trunk/distribution/src/main/release/samples/jms-spec-demo/wsdl/jms_greeter.wsdl Wed Aug 18 05:53:13 2010
>>>> @@ -19,7 +19,7 @@
>>>>         targetNamespace="http://cxf.apache.org/jms_greeter" xmlns="http://schemas.xmlsoap.org/wsdl/"
>>>>         xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://cxf.apache.org/jms_greeter"
>>>>         xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
>>>> -       xmlns:x1="http://cxf.apache.org/jms_greeter/types" xmlns:soapjms="http://www.w3.org/2008/07/soap/bindings/JMS/">
>>>> +       xmlns:x1="http://cxf.apache.org/jms_greeter/types" xmlns:soapjms="http://www.w3.org/2010/soapjms/">
>>>>         <wsdl:types>
>>>>                 <schema targetNamespace="http://cxf.apache.org/jms_greeter/types"
>>>>                         xmlns="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
>>>> @@ -93,7 +93,7 @@
>>>>
>>>>         <wsdl:binding name="JMSGreeterPortBinding" type="tns:JMSGreeterPortType">
>>>>                 <soap:binding style="document"
>>>> -                       transport="http://www.w3.org/2008/07/soap/bindings/JMS/" />
>>>> +                       transport="http://www.w3.org/2010/soapjms/" />
>>>>                 <soapjms:jndiConnectionFactoryName>ConnectionFactory</soapjms:jndiConnectionFactoryName>
>>>>                 <soapjms:jndiInitialContextFactory>
>>>>                         org.apache.activemq.jndi.ActiveMQInitialContextFactory
>>>>
>>>> Modified: cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/SoapBindingFactory.java
>>>> URL: http://svn.apache.org/viewvc/cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/SoapBindingFactory.java?rev=986571&r1=986570&r2=986571&view=diff
>>>> ==============================================================================
>>>> --- cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/SoapBindingFactory.java (original)
>>>> +++ cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/SoapBindingFactory.java Wed Aug 18 05:53:13 2010
>>>> @@ -146,8 +146,8 @@ public class SoapBindingFactory extends
>>>>          info.setName(config.getBindingName(si));
>>>>          info.setStyle(config.getStyle());
>>>>          if ("http://cxf.apache.org/transports/jms".equals(config.getTransportURI())) {
>>>> -            info.setTransportURI("http://www.w3.org/2008/07/soap/bindings/JMS/");
>>>> -            config.setTransportURI("http://www.w3.org/2008/07/soap/bindings/JMS/");
>>>> +            info.setTransportURI("http://www.w3.org/2010/soapjms/");
>>>> +            config.setTransportURI("http://www.w3.org/2010/soapjms/");
>>>>          } else {
>>>>              info.setTransportURI(config.getTransportURI());
>>>>          }
>>>> @@ -380,7 +380,7 @@ public class SoapBindingFactory extends
>>>>              }
>>>>
>>>>              //jms
>>>> -            if (sbi.getTransportURI().equals("http://www.w3.org/2008/07/soap/bindings/JMS/")) {
>>>> +            if (sbi.getTransportURI().equals("http://www.w3.org/2010/soapjms/")) {
>>>>                  sb.getInInterceptors().add(new SoapJMSInInterceptor());
>>>>              }
>>>>          } else {
>>>>
>>>> Modified: cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/SoapTransportFactory.java
>>>> URL: http://svn.apache.org/viewvc/cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/SoapTransportFactory.java?rev=986571&r1=986570&r2=986571&view=diff
>>>> ==============================================================================
>>>> --- cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/SoapTransportFactory.java (original)
>>>> +++ cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/SoapTransportFactory.java Wed Aug 18 05:53:13 2010
>>>> @@ -77,7 +77,7 @@ public class SoapTransportFactory extend
>>>>          return Collections.singleton("soap.tcp");
>>>>      }
>>>>      public String mapTransportURI(String s, String address) {
>>>> -        if ("http://www.w3.org/2008/07/soap/bindings/JMS/".equals(s)
>>>> +        if ("http://www.w3.org/2010/soapjms/".equals(s)
>>>>              || (address != null&&  address.startsWith("jms"))) {
>>>>              s = "http://cxf.apache.org/transports/jms";
>>>>          } else if (SOAP_11_HTTP_BINDING.equals(s)
>>>> @@ -173,7 +173,7 @@ public class SoapTransportFactory extend
>>>>                      info.addExtensor(sa);
>>>>                      info.setAddress(sa.getLocationURI());
>>>>                      if (isJMSSpecAddress(sa.getLocationURI())) {
>>>> -                        info.setTransportId("http://www.w3.org/2008/07/soap/bindings/JMS/");
>>>> +                        info.setTransportId("http://www.w3.org/2010/soapjms/");
>>>>                      }
>>>>                  } else {
>>>>                      info.addExtensor(extensor);
>>>>
>>>> Modified: cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/jms/interceptor/SoapFaultFactory.java
>>>> URL: http://svn.apache.org/viewvc/cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/jms/interceptor/SoapFaultFactory.java?rev=986571&r1=986570&r2=986571&view=diff
>>>> ==============================================================================
>>>> --- cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/jms/interceptor/SoapFaultFactory.java (original)
>>>> +++ cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/jms/interceptor/SoapFaultFactory.java Wed Aug 18 05:53:13 2010
>>>> @@ -19,9 +19,6 @@
>>>>
>>>>   package org.apache.cxf.binding.soap.jms.interceptor;
>>>>
>>>> -import java.util.logging.Level;
>>>> -import java.util.logging.Logger;
>>>> -
>>>>   import javax.xml.namespace.QName;
>>>>
>>>>   import org.w3c.dom.Document;
>>>> @@ -32,16 +29,12 @@ import org.apache.cxf.binding.soap.Soap1
>>>>   import org.apache.cxf.binding.soap.SoapBinding;
>>>>   import org.apache.cxf.binding.soap.SoapFault;
>>>>   import org.apache.cxf.binding.soap.SoapVersion;
>>>> -import org.apache.cxf.common.logging.LogUtils;
>>>> -import org.apache.cxf.helpers.XMLUtils;
>>>>   import org.apache.cxf.interceptor.Fault;
>>>>
>>>>   /**
>>>>   *
>>>>   */
>>>>   public class SoapFaultFactory  {
>>>> -
>>>> -    private static final Logger LOG = LogUtils.getL7dLogger(SoapFaultFactory.class);
>>>>
>>>>      private SoapVersion version;
>>>>
>>>> @@ -63,20 +56,7 @@ public class SoapFaultFactory  {
>>>>
>>>>      Fault createSoap11Fault(JMSFault jmsFault) {
>>>>          SoapFault fault = new SoapFault(jmsFault.getReason(),
>>>> -            jmsFault.isSender() ? version.getSender() : version.getReceiver());
>>>> -        QName subCode = jmsFault.getSubCode();
>>>> -        fault.setSubCode(subCode);
>>>> -        try {
>>>> -            Document doc = XMLUtils.newDocument();
>>>> -            Element detail = doc.createElementNS(Soap11.SOAP_NAMESPACE, "detail");
>>>> -            Element detailChild = doc.createElementNS(subCode.getNamespaceURI(), subCode.getLocalPart());
>>>> -            detailChild.setTextContent(fault.getReason());
>>>> -            detail.appendChild(detailChild);
>>>> -            fault.setDetail(detail);
>>>> -        } catch (Exception ex) {
>>>> -            LogUtils.log(LOG, Level.SEVERE, "MARSHAL_FAULT_DETAIL_EXC", ex);
>>>> -            ex.printStackTrace();
>>>> -        }
>>>> +            jmsFault.getSubCode());
>>>>          return fault;
>>>>      }
>>>>
>>>>
>>>> Modified: cxf/trunk/rt/bindings/soap/src/main/resources/META-INF/cxf/bus-extensions.xml
>>>> URL: http://svn.apache.org/viewvc/cxf/trunk/rt/bindings/soap/src/main/resources/META-INF/cxf/bus-extensions.xml?rev=986571&r1=986570&r2=986571&view=diff
>>>> ==============================================================================
>>>> --- cxf/trunk/rt/bindings/soap/src/main/resources/META-INF/cxf/bus-extensions.xml (original)
>>>> +++ cxf/trunk/rt/bindings/soap/src/main/resources/META-INF/cxf/bus-extensions.xml Wed Aug 18 05:53:13 2010
>>>> @@ -25,7 +25,7 @@
>>>>          <namespace>http://schemas.xmlsoap.org/wsdl/soap/</namespace>
>>>>          <namespace>http://schemas.xmlsoap.org/wsdl/soap12/</namespace>
>>>>          <namespace>http://www.w3.org/2003/05/soap/bindings/HTTP/</namespace>
>>>> -<namespace>http://www.w3.org/2008/07/soap/bindings/JMS/</namespace>
>>>> +<namespace>http://www.w3.org/2010/soapjms/</namespace>
>>>>          <namespace>http://schemas.xmlsoap.org/wsdl/soap/http</namespace>
>>>>          <namespace>http://schemas.xmlsoap.org/soap/http</namespace>
>>>>      </extension>
>>>>
>>>> Modified: cxf/trunk/rt/bindings/soap/src/main/resources/META-INF/cxf/cxf-extension-soap.xml
>>>> URL: http://svn.apache.org/viewvc/cxf/trunk/rt/bindings/soap/src/main/resources/META-INF/cxf/cxf-extension-soap.xml?rev=986571&r1=986570&r2=986571&view=diff
>>>> ==============================================================================
>>>> --- cxf/trunk/rt/bindings/soap/src/main/resources/META-INF/cxf/cxf-extension-soap.xml (original)
>>>> +++ cxf/trunk/rt/bindings/soap/src/main/resources/META-INF/cxf/cxf-extension-soap.xml Wed Aug 18 05:53:13 2010
>>>> @@ -39,7 +39,7 @@ http://www.springframework.org/schema/be
>>>>                         <value>http://schemas.xmlsoap.org/wsdl/soap12/</value>
>>>>                         <value>http://schemas.xmlsoap.org/soap/http/</value>
>>>>                  <value>http://schemas.xmlsoap.org/wsdl/soap/http</value>
>>>> -<value>http://www.w3.org/2008/07/soap/bindings/JMS/</value>
>>>> +<value>http://www.w3.org/2010/soapjms/</value>
>>>>                  <value>http://www.w3.org/2003/05/soap/bindings/HTTP/</value>
>>>>                 <value>http://schemas.xmlsoap.org/soap/http</value>
>>>>              </list>
>>>>
>>>> Modified: cxf/trunk/rt/bindings/soap/src/test/java/org/apache/cxf/binding/soap/jms/interceptor/SoapFaultFactoryTest.java
>>>> URL: http://svn.apache.org/viewvc/cxf/trunk/rt/bindings/soap/src/test/java/org/apache/cxf/binding/soap/jms/interceptor/SoapFaultFactoryTest.java?rev=986571&r1=986570&r2=986571&view=diff
>>>> ==============================================================================
>>>> --- cxf/trunk/rt/bindings/soap/src/test/java/org/apache/cxf/binding/soap/jms/interceptor/SoapFaultFactoryTest.java (original)
>>>> +++ cxf/trunk/rt/bindings/soap/src/test/java/org/apache/cxf/binding/soap/jms/interceptor/SoapFaultFactoryTest.java Wed Aug 18 05:53:13 2010
>>>> @@ -45,10 +45,12 @@ public class SoapFaultFactoryTest extend
>>>>          control = EasyMock.createNiceControl();
>>>>      }
>>>>
>>>> -    JMSFault setupJMSFault(boolean isSender, QName code, Object detail) {
>>>> +    JMSFault setupJMSFault(boolean isSender, QName code, Object detail, boolean isSoap12) {
>>>>          jmsFault = control.createMock(JMSFault.class);
>>>>          EasyMock.expect(jmsFault.getReason()).andReturn("reason");
>>>> -        EasyMock.expect(jmsFault.isSender()).andReturn(isSender);
>>>> +        if (isSoap12) {
>>>> +            EasyMock.expect(jmsFault.isSender()).andReturn(isSender);
>>>> +        }
>>>>          EasyMock.expect(jmsFault.getSubCode()).andReturn(code);
>>>>          if (null != detail) {
>>>>              EasyMock.expect(jmsFault.getDetail()).andReturn(detail);
>>>> @@ -62,14 +64,14 @@ public class SoapFaultFactoryTest extend
>>>>      public void createSoap11Fault() {
>>>>          SoapBinding sb = control.createMock(SoapBinding.class);
>>>>          EasyMock.expect(sb.getSoapVersion()).andReturn(Soap11.getInstance());
>>>> -        setupJMSFault(true, SoapJMSConstants.getContentTypeMismatchQName(), null);
>>>> +        setupJMSFault(true, SoapJMSConstants.getContentTypeMismatchQName(), null, false);
>>>>          control.replay();
>>>> +
>>>>          SoapFaultFactory factory = new SoapFaultFactory(sb);
>>>>          SoapFault fault = (SoapFault)factory.createFault(jmsFault);
>>>>          assertEquals("reason", fault.getReason());
>>>> -        assertEquals(Soap11.getInstance().getSender(), fault.getFaultCode());
>>>> -        assertEquals(SoapJMSConstants.getContentTypeMismatchQName(), fault.getSubCode());
>>>> -        assertNotNull(fault.getDetail());
>>>> +        assertEquals(SoapJMSConstants.getContentTypeMismatchQName(), fault.getFaultCode());
>>>> +        assertNull(fault.getDetail());
>>>>          assertSame(jmsFault, fault.getCause());
>>>>          control.verify();
>>>>      }
>>>> @@ -78,7 +80,7 @@ public class SoapFaultFactoryTest extend
>>>>      public void createSoap12Fault() {
>>>>          SoapBinding sb = control.createMock(SoapBinding.class);
>>>>          EasyMock.expect(sb.getSoapVersion()).andReturn(Soap12.getInstance());
>>>> -        setupJMSFault(true, SoapJMSConstants.getMismatchedSoapActionQName(), null);
>>>> +        setupJMSFault(true, SoapJMSConstants.getMismatchedSoapActionQName(), null, true);
>>>>          control.replay();
>>>>          SoapFaultFactory factory = new SoapFaultFactory(sb);
>>>>          SoapFault fault = (SoapFault)factory.createFault(jmsFault);
>>>>
>>>> Modified: cxf/trunk/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/spec/JMSSpecConstants.java
>>>> URL: http://svn.apache.org/viewvc/cxf/trunk/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/spec/JMSSpecConstants.java?rev=986571&r1=986570&r2=986571&view=diff
>>>> ==============================================================================
>>>> --- cxf/trunk/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/spec/JMSSpecConstants.java (original)
>>>> +++ cxf/trunk/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/spec/JMSSpecConstants.java Wed Aug 18 05:53:13 2010
>>>> @@ -26,7 +26,7 @@ package org.apache.cxf.transport.jms.spe
>>>>   public final class JMSSpecConstants {
>>>>
>>>>      public static final String SOAP_JMS_SPECIFICIATION_TRANSPORTID
>>>> -        = "http://www.w3.org/2008/07/soap/bindings/JMS/";
>>>> +        = "http://www.w3.org/2010/soapjms/";
>>>>      public static final String SOAP_JMS_NAMESPACE = SOAP_JMS_SPECIFICIATION_TRANSPORTID;
>>>>
>>>>      public static final String SOAP_JMS_PREFIX = "SOAPJMS_";
>>>>
>>>> Modified: cxf/trunk/rt/transports/jms/src/main/resources/schemas/wsdl/spec/jms-spec-wsdl.xsd
>>>> URL: http://svn.apache.org/viewvc/cxf/trunk/rt/transports/jms/src/main/resources/schemas/wsdl/spec/jms-spec-wsdl.xsd?rev=986571&r1=986570&r2=986571&view=diff
>>>> ==============================================================================
>>>> --- cxf/trunk/rt/transports/jms/src/main/resources/schemas/wsdl/spec/jms-spec-wsdl.xsd (original)
>>>> +++ cxf/trunk/rt/transports/jms/src/main/resources/schemas/wsdl/spec/jms-spec-wsdl.xsd Wed Aug 18 05:53:13 2010
>>>> @@ -15,9 +15,9 @@
>>>>                 License.
>>>>         -->
>>>>   <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
>>>> -       xmlns:soapjms="http://www.w3.org/2008/07/soap/bindings/JMS/"
>>>> +       xmlns:soapjms="http://www.w3.org/2010/soapjms/"
>>>>         xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
>>>> -       targetNamespace="http://www.w3.org/2008/07/soap/bindings/JMS/"
>>>> +       targetNamespace="http://www.w3.org/2010/soapjms/"
>>>>         elementFormDefault="qualified" jaxb:version="2.0">
>>>>
>>>>         <xs:element name="jndiContextParameter" type="soapjms:jndiContextParameterType" />
>>>>
>>>> Modified: cxf/trunk/systests/transports/src/test/java/org/apache/cxf/jms/testsuite/testcases/SOAPJMSTestSuiteTest.java
>>>> URL: http://svn.apache.org/viewvc/cxf/trunk/systests/transports/src/test/java/org/apache/cxf/jms/testsuite/testcases/SOAPJMSTestSuiteTest.java?rev=986571&r1=986570&r2=986571&view=diff
>>>> ==============================================================================
>>>> --- cxf/trunk/systests/transports/src/test/java/org/apache/cxf/jms/testsuite/testcases/SOAPJMSTestSuiteTest.java (original)
>>>> +++ cxf/trunk/systests/transports/src/test/java/org/apache/cxf/jms/testsuite/testcases/SOAPJMSTestSuiteTest.java Wed Aug 18 05:53:13 2010
>>>> @@ -155,7 +155,10 @@ public class SOAPJMSTestSuiteTest extend
>>>>          final JMSSimplePortType simplePort = getPort("JMSSimpleService0001", "SimplePort",
>>>>                                                       JMSSimpleService0001.class,
>>>>                                                       JMSSimplePortType.class);
>>>> -        twoWayTest(testcase, simplePort);
>>>> +        JMSMessageHeadersType requestHeader = new JMSMessageHeadersType();
>>>> +        requestHeader.setJMSCorrelationID("Correlator0002");
>>>> +
>>>> +        twoWayTestWithRequestHeader(testcase, simplePort, requestHeader);
>>>>      }
>>>>
>>>>      @Test
>>>>
>>>> Modified: cxf/trunk/systests/transports/src/test/java/org/apache/cxf/jms/testsuite/util/JMSTestUtil.java
>>>> URL: http://svn.apache.org/viewvc/cxf/trunk/systests/transports/src/test/java/org/apache/cxf/jms/testsuite/util/JMSTestUtil.java?rev=986571&r1=986570&r2=986571&view=diff
>>>> ==============================================================================
>>>> --- cxf/trunk/systests/transports/src/test/java/org/apache/cxf/jms/testsuite/util/JMSTestUtil.java (original)
>>>> +++ cxf/trunk/systests/transports/src/test/java/org/apache/cxf/jms/testsuite/util/JMSTestUtil.java Wed Aug 18 05:53:13 2010
>>>> @@ -205,6 +205,9 @@ public final class JMSTestUtil {
>>>>          if (messageProperties.isSetExpiration()) {
>>>>              jmsMessage.setJMSPriority(messageProperties.getExpiration());
>>>>          }
>>>> +        if (messageProperties.isSetCorrelationID()) {
>>>> +            jmsMessage.setJMSCorrelationID(messageProperties.getCorrelationID());
>>>> +        }
>>>>
>>>>          if (messageProperties.isSetTargetService()
>>>>              &&  !"".equals(messageProperties.getTargetService().trim())) {
>>>>
>>>> Modified: cxf/trunk/systests/transports/src/test/java/org/apache/cxf/jms/testsuite/util/testcases.xml
>>>> URL: http://svn.apache.org/viewvc/cxf/trunk/systests/transports/src/test/java/org/apache/cxf/jms/testsuite/util/testcases.xml?rev=986571&r1=986570&r2=986571&view=diff
>>>> ==============================================================================
>>>> --- cxf/trunk/systests/transports/src/test/java/org/apache/cxf/jms/testsuite/util/testcases.xml (original)
>>>> +++ cxf/trunk/systests/transports/src/test/java/org/apache/cxf/jms/testsuite/util/testcases.xml Wed Aug 18 05:53:13 2010
>>>> @@ -45,7 +45,7 @@
>>>>                         <priority>4</priority>
>>>>                         <expiration>0</expiration>
>>>>                         <replyTo></replyTo>
>>>> -<correlationID></correlationID>
>>>> +<correlationID>Correlator0002</correlationID>
>>>>                         <destination>queue://testqueue0001</destination>
>>>>                         <redelivered>false</redelivered>
>>>>                         <bindingVersion>1.0</bindingVersion>
>>>> @@ -62,7 +62,7 @@
>>>>                         <priority>4</priority>
>>>>                         <expiration>0</expiration>
>>>>                         <replyTo></replyTo>
>>>> -<correlationID></correlationID>
>>>> +<correlationID>Correlator0002</correlationID>
>>>>                         <destination></destination>
>>>>                         <redelivered>false</redelivered>
>>>>                         <bindingVersion>1.0</bindingVersion>
>>>> @@ -103,7 +103,7 @@
>>>>                         <priority>4</priority>
>>>>                         <expiration>0</expiration>
>>>>                         <replyTo></replyTo>
>>>> -<correlationID></correlationID>
>>>> +<correlationID>Correlator0002</correlationID>
>>>>                         <destination>queue://testqueue0101</destination>
>>>>                         <redelivered>false</redelivered>
>>>>                         <bindingVersion>1.0</bindingVersion>
>>>> @@ -120,7 +120,7 @@
>>>>                         <priority>4</priority>
>>>>                         <expiration>0</expiration>
>>>>                         <replyTo></replyTo>
>>>> -<correlationID></correlationID>
>>>> +<correlationID>Correlator0002</correlationID>
>>>>                         <destination></destination>
>>>>                         <redelivered>false</redelivered>
>>>>                         <bindingVersion>1.0</bindingVersion>
>>>>
>>>> Modified: cxf/trunk/testutils/src/main/resources/wsdl/jms_spec_test.wsdl
>>>> URL: http://svn.apache.org/viewvc/cxf/trunk/testutils/src/main/resources/wsdl/jms_spec_test.wsdl?rev=986571&r1=986570&r2=986571&view=diff
>>>> ==============================================================================
>>>> --- cxf/trunk/testutils/src/main/resources/wsdl/jms_spec_test.wsdl (original)
>>>> +++ cxf/trunk/testutils/src/main/resources/wsdl/jms_spec_test.wsdl Wed Aug 18 05:53:13 2010
>>>> @@ -27,7 +27,7 @@
>>>>      xmlns:xsd="http://www.w3.org/2001/XMLSchema"
>>>>      xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
>>>>      xmlns:x1="http://cxf.apache.org/jms_greeter/types"
>>>> -    xmlns:soapjms="http://www.w3.org/2008/07/soap/bindings/JMS/">
>>>> +    xmlns:soapjms="http://www.w3.org/2010/soapjms/">
>>>>      <wsdl:types>
>>>>          <schema targetNamespace="http://cxf.apache.org/jms_greeter/types"
>>>>              xmlns="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
>>>> @@ -105,7 +105,7 @@
>>>>
>>>>
>>>>      <wsdl:binding name="JMSGreeterPortBinding" type="tns:JMSGreeterPortType">
>>>> -<soap:binding style="document" transport="http://www.w3.org/2008/07/soap/bindings/JMS/"/>
>>>> +<soap:binding style="document" transport="http://www.w3.org/2010/soapjms/"/>
>>>>
>>>>
>>>>          <soapjms:jndiContextParameter name="name"
>>>>
>>>> Modified: cxf/trunk/testutils/src/main/resources/wsdl/jms_spec_testsuite.wsdl
>>>> URL: http://svn.apache.org/viewvc/cxf/trunk/testutils/src/main/resources/wsdl/jms_spec_testsuite.wsdl?rev=986571&r1=986570&r2=986571&view=diff
>>>> ==============================================================================
>>>> --- cxf/trunk/testutils/src/main/resources/wsdl/jms_spec_testsuite.wsdl (original)
>>>> +++ cxf/trunk/testutils/src/main/resources/wsdl/jms_spec_testsuite.wsdl Wed Aug 18 05:53:13 2010
>>>> @@ -29,7 +29,7 @@
>>>>      xmlns:xsd="http://www.w3.org/2001/XMLSchema"
>>>>      xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
>>>>      xmlns:x1="http://cxf.apache.org/jms_simple/types"
>>>> -    xmlns:soapjms="http://www.w3.org/2008/07/soap/bindings/JMS/">
>>>> +    xmlns:soapjms="http://www.w3.org/2010/soapjms/">
>>>>      <wsdl:types>
>>>>          <schema targetNamespace="http://cxf.apache.org/jms_simple/types"
>>>>              xmlns="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
>>>> @@ -61,7 +61,7 @@
>>>>      </wsdl:portType>
>>>>
>>>>      <wsdl:binding name="JMSSimplePortBinding" type="tns:JMSSimplePortType">
>>>> -<soap:binding style="document" transport="http://www.w3.org/2008/07/soap/bindings/JMS/"/>
>>>> +<soap:binding style="document" transport="http://www.w3.org/2010/soapjms/"/>
>>>>
>>>>          <wsdl:operation name="echo">
>>>>              <soap:operation soapAction="echo" style="document"/>
>>>> @@ -82,7 +82,7 @@
>>>>      </wsdl:binding>
>>>>
>>>>      <wsdl:binding name="JMSSimpleSOAP12PortBinding" type="tns:JMSSimplePortType">
>>>> -<soap12:binding style="document" transport="http://www.w3.org/2008/07/soap/bindings/JMS/"/>
>>>> +<soap12:binding style="document" transport="http://www.w3.org/2010/soapjms/"/>
>>>>
>>>>          <wsdl:operation name="echo">
>>>>              <soap12:operation soapAction="echo" style="document"/>
>>>> @@ -103,7 +103,7 @@
>>>>      </wsdl:binding>
>>>>
>>>>      <wsdl:binding name="JMSSimplePortBinding0006" type="tns:JMSSimplePortType">
>>>> -<soap:binding style="document" transport="http://www.w3.org/2008/07/soap/bindings/JMS/"/>
>>>> +<soap:binding style="document" transport="http://www.w3.org/2010/soapjms/"/>
>>>>
>>>>          <soapjms:deliveryMode>NON_PERSISTENT</soapjms:deliveryMode>
>>>>          <soapjms:timeToLive>7200000</soapjms:timeToLive>
>>>> @@ -129,7 +129,7 @@
>>>>      </wsdl:binding>
>>>>
>>>>      <wsdl:binding name="JMSSimplePortBinding0009" type="tns:JMSSimplePortType">
>>>> -<soap:binding style="document" transport="http://www.w3.org/2008/07/soap/bindings/JMS/"/>
>>>> +<soap:binding style="document" transport="http://www.w3.org/2010/soapjms/"/>
>>>>
>>>>          <soapjms:deliveryMode>PERSISTENT</soapjms:deliveryMode>
>>>>          <soapjms:timeToLive>7200000</soapjms:timeToLive>
>>>> @@ -155,7 +155,7 @@
>>>>      </wsdl:binding>
>>>>
>>>>      <wsdl:binding name="JMSSimplePortBinding0010" type="tns:JMSSimplePortType">
>>>> -<soap:binding style="document" transport="http://www.w3.org/2008/07/soap/bindings/JMS/"/>
>>>> +<soap:binding style="document" transport="http://www.w3.org/2010/soapjms/"/>
>>>>
>>>>          <soapjms:deliveryMode>NON_PERSISTENT</soapjms:deliveryMode>
>>>>          <soapjms:timeToLive>7200000</soapjms:timeToLive>
>>>> @@ -181,7 +181,7 @@
>>>>      </wsdl:binding>
>>>>
>>>>      <wsdl:binding name="JMSSimplePortBinding0013" type="tns:JMSSimplePortType">
>>>> -<soap:binding style="document" transport="http://www.w3.org/2008/07/soap/bindings/JMS/"/>
>>>> +<soap:binding style="document" transport="http://www.w3.org/2010/soapjms/"/>
>>>>
>>>>          <soapjms:timeToLive>7200000</soapjms:timeToLive>
>>>>
>>>> @@ -204,7 +204,7 @@
>>>>      </wsdl:binding>
>>>>
>>>>      <wsdl:binding name="JMSSimplePortBinding0014" type="tns:JMSSimplePortType">
>>>> -<soap:binding style="document" transport="http://www.w3.org/2008/07/soap/bindings/JMS/"/>
>>>> +<soap:binding style="document" transport="http://www.w3.org/2010/soapjms/"/>
>>>>
>>>>          <soapjms:timeToLive>7200000</soapjms:timeToLive>
>>>>          <soapjms:priority>4</soapjms:priority>
>>>>
>>>>
>>>>
>>>
>>
>


Re: svn commit: r986571 - in /cxf/trunk: distribution/src/main/release/samples/jms-spec-demo/wsdl/ rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/ rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/jms/interceptor/ rt/bindings/soa

Posted by Jim Ma <ma...@gmail.com>.
We already replaced "http://cxf.apache.org/transports/jms" with
"http://www.w3.org/2010/soapjms/" in SOAPBindingFactory:

   if ("http://cxf.apache.org/transports/jms".equals(config.getTransportURI()))
{
            info.setTransportURI("http://www.w3.org/2010/soapjms/");
            config.setTransportURI("http://www.w3.org/2010/soapjms/");
        } else {
            info.setTransportURI(config.getTransportURI());
        }

Does that mean we internally remove the
"http://cxf.apache.org/transports/jms" transport support and
completely move to soap jms stuff ?

On Tue, Sep 14, 2010 at 3:46 PM, Jim Ma <ma...@gmail.com> wrote:
> The cxf.xml  I just pasted is I modified to test .
> Here is the original one which works before the soap jms change :
>
> <?xml version="1.0" encoding="UTF-8"?>
> <beans
>  xmlns='http://www.springframework.org/schema/beans'
>  xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'
>  xmlns:beans='http://www.springframework.org/schema/beans'
>  xmlns:jms="http://cxf.apache.org/transports/jms"
>  xmlns:jaxws='http://cxf.apache.org/jaxws'
>  xsi:schemaLocation='http://www.springframework.org/schema/beans
> http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
>  http://www.w3.org/2006/07/ws-policy http://www.w3.org/2006/07/ws-policy.xsd
>  http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd
>  http://cxf.apache.org/transports/jms
> http://cxf.apache.org/schemas/configuration/jms.xsd'>
>
>  <jaxws:endpoint
>    implementor='org.jboss.test.ws.jaxws.samples.jmsendpoints.jmstransport.OrganizationJmsEndpoint'
>    transportId="http://cxf.apache.org/transports/jms">
>  </jaxws:endpoint>
>
>  <jms:destination
> name="{http://org.jboss.ws/samples/jmstransport}JmsPort.jms-destination">
>    <jms:address
>      destinationStyle="queue"
>      jndiConnectionFactoryName="ConnectionFactory"
>      jndiDestinationName="queue/RequestQueue"
>      jndiReplyDestinationName="queue/ResponseQueue">
>    </jms:address>
>  </jms:destination>
>
>  <jms:conduit name="{http://org.jboss.ws/samples/jmstransport}JmsPort.jms-conduit">
>    <jms:address
>      destinationStyle="queue"
>      jndiConnectionFactoryName="ConnectionFactory"
>      jndiDestinationName="queue/RequestQueue"
>      jndiReplyDestinationName="queue/ResponseQueue">
>    </jms:address>
>  </jms:conduit>
>
> </beans>
>
> On Tue, Sep 14, 2010 at 1:27 PM, Jim Ma <ma...@gmail.com> wrote:
>> Hi all ,
>> After this commit,  the SoapJMSInInterceptor is added to check the
>> "SOAPJMS_conentType" and other key/value pairs in message header .  It
>> requires the "SOAPJMS_contentType" and other properties added in the
>> jms message. Are such header (jms message property) checks in
>> SoapJMSInInterceptor  required in SOAP JMS specification ?  If the
>> answer is yes , do we actually need to require user to add these
>> properties to each jms request message as we do in
>> SOAPJMSTestSuiteTest now ?
>>
>> I also want to keep the following java first jms test case work
>> without properties setting in jms message ? Can the SoapJMSInteceptor
>> automatically be disabled for this test case ?
>>
>> ------SEI impl-----------
>> @javax.jws.WebService(portName = "GreeterPort",
>>                      serviceName = "JMSGreeterService",
>>                      targetNamespace = "http://cxf.apache.org/jms_greeter",
>> public class GreeterJMSImpl {
>>    public String greetMe(String me) {
>>        LOG.info("Executing operation greetMe");
>>        System.out.println("Executing operation greetMe");
>>        System.out.println("Message received: " + me + "\n");
>>        return "Hello " + me;
>>    }
>>
>>
>> -----------------cxf.xml ------------------------------------
>> <?xml version="1.0" encoding="UTF-8"?>
>> <beans
>>  ....
>>  http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd
>>  http://cxf.apache.org/transports/jms
>> http://cxf.apache.org/schemas/configuration/jms.xsd'>
>>
>>  <jaxws:endpoint
>>    implementor='org.apache.cxf.jms_greeter.GreeterJMSImpl'
>>    transportId="http://www.w3.org/2010/soapjms/">
>>  </jaxws:endpoint>
>>
>>  <jms:destination
>> name="{http://cxf.apache.org/jms_greeter}GreeterPort.jms-destination">
>>    <jms:address
>>      destinationStyle="queue"
>>      jndiConnectionFactoryName="ConnectionFactory"
>>      jndiDestinationName="queue/RequestQueue"
>>      jndiReplyDestinationName="queue/ResponseQueue">
>>    </jms:address>
>>  </jms:destination>
>>
>>  <jms:conduit name="{http://cxf.apache.org/jms_greeter}GreeterPort..jms-conduit">
>>    <jms:address
>>      destinationStyle="queue"
>>      jndiConnectionFactoryName="ConnectionFactory"
>>      jndiDestinationName="queue/RequestQueue"
>>      jndiReplyDestinationName="queue/ResponseQueue">
>>    </jms:address>
>>  </jms:conduit>
>> </beans>
>>
>> ---Client code -------
>> String reqMessage ="<env:Envelope
>> xmlns:env='http://schemas.xmlsoap.org/soap/envelope/'>...</env:Envelope>";
>> InitialContext context = new InitialContext();
>> QueueConnectionFactory connectionFactory
>> (QueueConnectionFactory)context.lookup("ConnectionFactory");
>> Queue reqQueue = (Queue)context.lookup("queue/RequestQueue");
>> Queue resQueue = (Queue)context.lookup("queue/ResponseQueue");
>> QueueConnection con = connectionFactory.createQueueConnection();
>> QueueSession session = con.createQueueSession(false, Session.AUTO_ACKNOWLEDGE);
>> QueueReceiver receiver = session.createReceiver(resQueue);
>> ResponseListener responseListener = new ResponseListener();
>> receiver.setMessageListener(responseListener);
>> con.start();
>>
>> TextMessage message = session.createTextMessage(reqMessage);
>> message.setJMSReplyTo(resQueue);
>> waitForResponse = true;
>> QueueSender sender = session.createSender(reqQueue);
>> sender.send(message);
>> sender.close();
>> int timeout = 5;
>> while (waitForResponse && timeout > 0)
>>  {
>>     Thread.sleep(1000);
>>      timeout = timeout -1;
>>  }
>>
>>
>> Cheers,
>> Jim
>>
>>
>>
>>
>> On Wed, Aug 18, 2010 at 1:53 PM,  <ni...@apache.org> wrote:
>>> Author: ningjiang
>>> Date: Wed Aug 18 05:53:13 2010
>>> New Revision: 986571
>>>
>>> URL: http://svn.apache.org/viewvc?rev=986571&view=rev
>>> Log:
>>> CXF-2949, CXF-2950, CXF-2951, applied Peter's patch of soapjms
>>>
>>> Modified:
>>>    cxf/trunk/distribution/src/main/release/samples/jms-spec-demo/wsdl/jms_greeter.wsdl
>>>    cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/SoapBindingFactory.java
>>>    cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/SoapTransportFactory.java
>>>    cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/jms/interceptor/SoapFaultFactory.java
>>>    cxf/trunk/rt/bindings/soap/src/main/resources/META-INF/cxf/bus-extensions.xml
>>>    cxf/trunk/rt/bindings/soap/src/main/resources/META-INF/cxf/cxf-extension-soap.xml
>>>    cxf/trunk/rt/bindings/soap/src/test/java/org/apache/cxf/binding/soap/jms/interceptor/SoapFaultFactoryTest.java
>>>    cxf/trunk/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/spec/JMSSpecConstants.java
>>>    cxf/trunk/rt/transports/jms/src/main/resources/schemas/wsdl/spec/jms-spec-wsdl.xsd
>>>    cxf/trunk/systests/transports/src/test/java/org/apache/cxf/jms/testsuite/testcases/SOAPJMSTestSuiteTest.java
>>>    cxf/trunk/systests/transports/src/test/java/org/apache/cxf/jms/testsuite/util/JMSTestUtil.java
>>>    cxf/trunk/systests/transports/src/test/java/org/apache/cxf/jms/testsuite/util/testcases.xml
>>>    cxf/trunk/testutils/src/main/resources/wsdl/jms_spec_test.wsdl
>>>    cxf/trunk/testutils/src/main/resources/wsdl/jms_spec_testsuite.wsdl
>>>
>>> Modified: cxf/trunk/distribution/src/main/release/samples/jms-spec-demo/wsdl/jms_greeter.wsdl
>>> URL: http://svn.apache.org/viewvc/cxf/trunk/distribution/src/main/release/samples/jms-spec-demo/wsdl/jms_greeter.wsdl?rev=986571&r1=986570&r2=986571&view=diff
>>> ==============================================================================
>>> --- cxf/trunk/distribution/src/main/release/samples/jms-spec-demo/wsdl/jms_greeter.wsdl (original)
>>> +++ cxf/trunk/distribution/src/main/release/samples/jms-spec-demo/wsdl/jms_greeter.wsdl Wed Aug 18 05:53:13 2010
>>> @@ -19,7 +19,7 @@
>>>        targetNamespace="http://cxf.apache.org/jms_greeter" xmlns="http://schemas.xmlsoap.org/wsdl/"
>>>        xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://cxf.apache.org/jms_greeter"
>>>        xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
>>> -       xmlns:x1="http://cxf.apache.org/jms_greeter/types" xmlns:soapjms="http://www.w3.org/2008/07/soap/bindings/JMS/">
>>> +       xmlns:x1="http://cxf.apache.org/jms_greeter/types" xmlns:soapjms="http://www.w3.org/2010/soapjms/">
>>>        <wsdl:types>
>>>                <schema targetNamespace="http://cxf.apache.org/jms_greeter/types"
>>>                        xmlns="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
>>> @@ -93,7 +93,7 @@
>>>
>>>        <wsdl:binding name="JMSGreeterPortBinding" type="tns:JMSGreeterPortType">
>>>                <soap:binding style="document"
>>> -                       transport="http://www.w3.org/2008/07/soap/bindings/JMS/" />
>>> +                       transport="http://www.w3.org/2010/soapjms/" />
>>>                <soapjms:jndiConnectionFactoryName>ConnectionFactory</soapjms:jndiConnectionFactoryName>
>>>                <soapjms:jndiInitialContextFactory>
>>>                        org.apache.activemq.jndi.ActiveMQInitialContextFactory
>>>
>>> Modified: cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/SoapBindingFactory.java
>>> URL: http://svn.apache.org/viewvc/cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/SoapBindingFactory.java?rev=986571&r1=986570&r2=986571&view=diff
>>> ==============================================================================
>>> --- cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/SoapBindingFactory.java (original)
>>> +++ cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/SoapBindingFactory.java Wed Aug 18 05:53:13 2010
>>> @@ -146,8 +146,8 @@ public class SoapBindingFactory extends
>>>         info.setName(config.getBindingName(si));
>>>         info.setStyle(config.getStyle());
>>>         if ("http://cxf.apache.org/transports/jms".equals(config.getTransportURI())) {
>>> -            info.setTransportURI("http://www.w3.org/2008/07/soap/bindings/JMS/");
>>> -            config.setTransportURI("http://www.w3.org/2008/07/soap/bindings/JMS/");
>>> +            info.setTransportURI("http://www.w3.org/2010/soapjms/");
>>> +            config.setTransportURI("http://www.w3.org/2010/soapjms/");
>>>         } else {
>>>             info.setTransportURI(config.getTransportURI());
>>>         }
>>> @@ -380,7 +380,7 @@ public class SoapBindingFactory extends
>>>             }
>>>
>>>             //jms
>>> -            if (sbi.getTransportURI().equals("http://www.w3.org/2008/07/soap/bindings/JMS/")) {
>>> +            if (sbi.getTransportURI().equals("http://www.w3.org/2010/soapjms/")) {
>>>                 sb.getInInterceptors().add(new SoapJMSInInterceptor());
>>>             }
>>>         } else {
>>>
>>> Modified: cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/SoapTransportFactory.java
>>> URL: http://svn.apache.org/viewvc/cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/SoapTransportFactory.java?rev=986571&r1=986570&r2=986571&view=diff
>>> ==============================================================================
>>> --- cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/SoapTransportFactory.java (original)
>>> +++ cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/SoapTransportFactory.java Wed Aug 18 05:53:13 2010
>>> @@ -77,7 +77,7 @@ public class SoapTransportFactory extend
>>>         return Collections.singleton("soap.tcp");
>>>     }
>>>     public String mapTransportURI(String s, String address) {
>>> -        if ("http://www.w3.org/2008/07/soap/bindings/JMS/".equals(s)
>>> +        if ("http://www.w3.org/2010/soapjms/".equals(s)
>>>             || (address != null && address.startsWith("jms"))) {
>>>             s = "http://cxf.apache.org/transports/jms";
>>>         } else if (SOAP_11_HTTP_BINDING.equals(s)
>>> @@ -173,7 +173,7 @@ public class SoapTransportFactory extend
>>>                     info.addExtensor(sa);
>>>                     info.setAddress(sa.getLocationURI());
>>>                     if (isJMSSpecAddress(sa.getLocationURI())) {
>>> -                        info.setTransportId("http://www.w3.org/2008/07/soap/bindings/JMS/");
>>> +                        info.setTransportId("http://www.w3.org/2010/soapjms/");
>>>                     }
>>>                 } else {
>>>                     info.addExtensor(extensor);
>>>
>>> Modified: cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/jms/interceptor/SoapFaultFactory.java
>>> URL: http://svn.apache.org/viewvc/cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/jms/interceptor/SoapFaultFactory.java?rev=986571&r1=986570&r2=986571&view=diff
>>> ==============================================================================
>>> --- cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/jms/interceptor/SoapFaultFactory.java (original)
>>> +++ cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/jms/interceptor/SoapFaultFactory.java Wed Aug 18 05:53:13 2010
>>> @@ -19,9 +19,6 @@
>>>
>>>  package org.apache.cxf.binding.soap.jms.interceptor;
>>>
>>> -import java.util.logging.Level;
>>> -import java.util.logging.Logger;
>>> -
>>>  import javax.xml.namespace.QName;
>>>
>>>  import org.w3c.dom.Document;
>>> @@ -32,16 +29,12 @@ import org.apache.cxf.binding.soap.Soap1
>>>  import org.apache.cxf.binding.soap.SoapBinding;
>>>  import org.apache.cxf.binding.soap.SoapFault;
>>>  import org.apache.cxf.binding.soap.SoapVersion;
>>> -import org.apache.cxf.common.logging.LogUtils;
>>> -import org.apache.cxf.helpers.XMLUtils;
>>>  import org.apache.cxf.interceptor.Fault;
>>>
>>>  /**
>>>  *
>>>  */
>>>  public class SoapFaultFactory  {
>>> -
>>> -    private static final Logger LOG = LogUtils.getL7dLogger(SoapFaultFactory.class);
>>>
>>>     private SoapVersion version;
>>>
>>> @@ -63,20 +56,7 @@ public class SoapFaultFactory  {
>>>
>>>     Fault createSoap11Fault(JMSFault jmsFault) {
>>>         SoapFault fault = new SoapFault(jmsFault.getReason(),
>>> -            jmsFault.isSender() ? version.getSender() : version.getReceiver());
>>> -        QName subCode = jmsFault.getSubCode();
>>> -        fault.setSubCode(subCode);
>>> -        try {
>>> -            Document doc = XMLUtils.newDocument();
>>> -            Element detail = doc.createElementNS(Soap11.SOAP_NAMESPACE, "detail");
>>> -            Element detailChild = doc.createElementNS(subCode.getNamespaceURI(), subCode.getLocalPart());
>>> -            detailChild.setTextContent(fault.getReason());
>>> -            detail.appendChild(detailChild);
>>> -            fault.setDetail(detail);
>>> -        } catch (Exception ex) {
>>> -            LogUtils.log(LOG, Level.SEVERE, "MARSHAL_FAULT_DETAIL_EXC", ex);
>>> -            ex.printStackTrace();
>>> -        }
>>> +            jmsFault.getSubCode());
>>>         return fault;
>>>     }
>>>
>>>
>>> Modified: cxf/trunk/rt/bindings/soap/src/main/resources/META-INF/cxf/bus-extensions.xml
>>> URL: http://svn.apache.org/viewvc/cxf/trunk/rt/bindings/soap/src/main/resources/META-INF/cxf/bus-extensions.xml?rev=986571&r1=986570&r2=986571&view=diff
>>> ==============================================================================
>>> --- cxf/trunk/rt/bindings/soap/src/main/resources/META-INF/cxf/bus-extensions.xml (original)
>>> +++ cxf/trunk/rt/bindings/soap/src/main/resources/META-INF/cxf/bus-extensions.xml Wed Aug 18 05:53:13 2010
>>> @@ -25,7 +25,7 @@
>>>         <namespace>http://schemas.xmlsoap.org/wsdl/soap/</namespace>
>>>         <namespace>http://schemas.xmlsoap.org/wsdl/soap12/</namespace>
>>>         <namespace>http://www.w3.org/2003/05/soap/bindings/HTTP/</namespace>
>>> -        <namespace>http://www.w3.org/2008/07/soap/bindings/JMS/</namespace>
>>> +        <namespace>http://www.w3.org/2010/soapjms/</namespace>
>>>         <namespace>http://schemas.xmlsoap.org/wsdl/soap/http</namespace>
>>>         <namespace>http://schemas.xmlsoap.org/soap/http</namespace>
>>>     </extension>
>>>
>>> Modified: cxf/trunk/rt/bindings/soap/src/main/resources/META-INF/cxf/cxf-extension-soap.xml
>>> URL: http://svn.apache.org/viewvc/cxf/trunk/rt/bindings/soap/src/main/resources/META-INF/cxf/cxf-extension-soap.xml?rev=986571&r1=986570&r2=986571&view=diff
>>> ==============================================================================
>>> --- cxf/trunk/rt/bindings/soap/src/main/resources/META-INF/cxf/cxf-extension-soap.xml (original)
>>> +++ cxf/trunk/rt/bindings/soap/src/main/resources/META-INF/cxf/cxf-extension-soap.xml Wed Aug 18 05:53:13 2010
>>> @@ -39,7 +39,7 @@ http://www.springframework.org/schema/be
>>>                        <value>http://schemas.xmlsoap.org/wsdl/soap12/</value>
>>>                        <value>http://schemas.xmlsoap.org/soap/http/</value>
>>>                 <value>http://schemas.xmlsoap.org/wsdl/soap/http</value>
>>> -               <value>http://www.w3.org/2008/07/soap/bindings/JMS/</value>
>>> +               <value>http://www.w3.org/2010/soapjms/</value>
>>>                 <value>http://www.w3.org/2003/05/soap/bindings/HTTP/</value>
>>>                <value>http://schemas.xmlsoap.org/soap/http</value>
>>>             </list>
>>>
>>> Modified: cxf/trunk/rt/bindings/soap/src/test/java/org/apache/cxf/binding/soap/jms/interceptor/SoapFaultFactoryTest.java
>>> URL: http://svn.apache.org/viewvc/cxf/trunk/rt/bindings/soap/src/test/java/org/apache/cxf/binding/soap/jms/interceptor/SoapFaultFactoryTest.java?rev=986571&r1=986570&r2=986571&view=diff
>>> ==============================================================================
>>> --- cxf/trunk/rt/bindings/soap/src/test/java/org/apache/cxf/binding/soap/jms/interceptor/SoapFaultFactoryTest.java (original)
>>> +++ cxf/trunk/rt/bindings/soap/src/test/java/org/apache/cxf/binding/soap/jms/interceptor/SoapFaultFactoryTest.java Wed Aug 18 05:53:13 2010
>>> @@ -45,10 +45,12 @@ public class SoapFaultFactoryTest extend
>>>         control = EasyMock.createNiceControl();
>>>     }
>>>
>>> -    JMSFault setupJMSFault(boolean isSender, QName code, Object detail) {
>>> +    JMSFault setupJMSFault(boolean isSender, QName code, Object detail, boolean isSoap12) {
>>>         jmsFault = control.createMock(JMSFault.class);
>>>         EasyMock.expect(jmsFault.getReason()).andReturn("reason");
>>> -        EasyMock.expect(jmsFault.isSender()).andReturn(isSender);
>>> +        if (isSoap12) {
>>> +            EasyMock.expect(jmsFault.isSender()).andReturn(isSender);
>>> +        }
>>>         EasyMock.expect(jmsFault.getSubCode()).andReturn(code);
>>>         if (null != detail) {
>>>             EasyMock.expect(jmsFault.getDetail()).andReturn(detail);
>>> @@ -62,14 +64,14 @@ public class SoapFaultFactoryTest extend
>>>     public void createSoap11Fault() {
>>>         SoapBinding sb = control.createMock(SoapBinding.class);
>>>         EasyMock.expect(sb.getSoapVersion()).andReturn(Soap11.getInstance());
>>> -        setupJMSFault(true, SoapJMSConstants.getContentTypeMismatchQName(), null);
>>> +        setupJMSFault(true, SoapJMSConstants.getContentTypeMismatchQName(), null, false);
>>>         control.replay();
>>> +
>>>         SoapFaultFactory factory = new SoapFaultFactory(sb);
>>>         SoapFault fault = (SoapFault)factory.createFault(jmsFault);
>>>         assertEquals("reason", fault.getReason());
>>> -        assertEquals(Soap11.getInstance().getSender(), fault.getFaultCode());
>>> -        assertEquals(SoapJMSConstants.getContentTypeMismatchQName(), fault.getSubCode());
>>> -        assertNotNull(fault.getDetail());
>>> +        assertEquals(SoapJMSConstants.getContentTypeMismatchQName(), fault.getFaultCode());
>>> +        assertNull(fault.getDetail());
>>>         assertSame(jmsFault, fault.getCause());
>>>         control.verify();
>>>     }
>>> @@ -78,7 +80,7 @@ public class SoapFaultFactoryTest extend
>>>     public void createSoap12Fault() {
>>>         SoapBinding sb = control.createMock(SoapBinding.class);
>>>         EasyMock.expect(sb.getSoapVersion()).andReturn(Soap12.getInstance());
>>> -        setupJMSFault(true, SoapJMSConstants.getMismatchedSoapActionQName(), null);
>>> +        setupJMSFault(true, SoapJMSConstants.getMismatchedSoapActionQName(), null, true);
>>>         control.replay();
>>>         SoapFaultFactory factory = new SoapFaultFactory(sb);
>>>         SoapFault fault = (SoapFault)factory.createFault(jmsFault);
>>>
>>> Modified: cxf/trunk/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/spec/JMSSpecConstants.java
>>> URL: http://svn.apache.org/viewvc/cxf/trunk/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/spec/JMSSpecConstants.java?rev=986571&r1=986570&r2=986571&view=diff
>>> ==============================================================================
>>> --- cxf/trunk/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/spec/JMSSpecConstants.java (original)
>>> +++ cxf/trunk/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/spec/JMSSpecConstants.java Wed Aug 18 05:53:13 2010
>>> @@ -26,7 +26,7 @@ package org.apache.cxf.transport.jms.spe
>>>  public final class JMSSpecConstants {
>>>
>>>     public static final String SOAP_JMS_SPECIFICIATION_TRANSPORTID
>>> -        = "http://www.w3.org/2008/07/soap/bindings/JMS/";
>>> +        = "http://www.w3.org/2010/soapjms/";
>>>     public static final String SOAP_JMS_NAMESPACE = SOAP_JMS_SPECIFICIATION_TRANSPORTID;
>>>
>>>     public static final String SOAP_JMS_PREFIX = "SOAPJMS_";
>>>
>>> Modified: cxf/trunk/rt/transports/jms/src/main/resources/schemas/wsdl/spec/jms-spec-wsdl.xsd
>>> URL: http://svn.apache.org/viewvc/cxf/trunk/rt/transports/jms/src/main/resources/schemas/wsdl/spec/jms-spec-wsdl.xsd?rev=986571&r1=986570&r2=986571&view=diff
>>> ==============================================================================
>>> --- cxf/trunk/rt/transports/jms/src/main/resources/schemas/wsdl/spec/jms-spec-wsdl.xsd (original)
>>> +++ cxf/trunk/rt/transports/jms/src/main/resources/schemas/wsdl/spec/jms-spec-wsdl.xsd Wed Aug 18 05:53:13 2010
>>> @@ -15,9 +15,9 @@
>>>                License.
>>>        -->
>>>  <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
>>> -       xmlns:soapjms="http://www.w3.org/2008/07/soap/bindings/JMS/"
>>> +       xmlns:soapjms="http://www.w3.org/2010/soapjms/"
>>>        xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
>>> -       targetNamespace="http://www.w3.org/2008/07/soap/bindings/JMS/"
>>> +       targetNamespace="http://www.w3.org/2010/soapjms/"
>>>        elementFormDefault="qualified" jaxb:version="2.0">
>>>
>>>        <xs:element name="jndiContextParameter" type="soapjms:jndiContextParameterType" />
>>>
>>> Modified: cxf/trunk/systests/transports/src/test/java/org/apache/cxf/jms/testsuite/testcases/SOAPJMSTestSuiteTest.java
>>> URL: http://svn.apache.org/viewvc/cxf/trunk/systests/transports/src/test/java/org/apache/cxf/jms/testsuite/testcases/SOAPJMSTestSuiteTest.java?rev=986571&r1=986570&r2=986571&view=diff
>>> ==============================================================================
>>> --- cxf/trunk/systests/transports/src/test/java/org/apache/cxf/jms/testsuite/testcases/SOAPJMSTestSuiteTest.java (original)
>>> +++ cxf/trunk/systests/transports/src/test/java/org/apache/cxf/jms/testsuite/testcases/SOAPJMSTestSuiteTest.java Wed Aug 18 05:53:13 2010
>>> @@ -155,7 +155,10 @@ public class SOAPJMSTestSuiteTest extend
>>>         final JMSSimplePortType simplePort = getPort("JMSSimpleService0001", "SimplePort",
>>>                                                      JMSSimpleService0001.class,
>>>                                                      JMSSimplePortType.class);
>>> -        twoWayTest(testcase, simplePort);
>>> +        JMSMessageHeadersType requestHeader = new JMSMessageHeadersType();
>>> +        requestHeader.setJMSCorrelationID("Correlator0002");
>>> +
>>> +        twoWayTestWithRequestHeader(testcase, simplePort, requestHeader);
>>>     }
>>>
>>>     @Test
>>>
>>> Modified: cxf/trunk/systests/transports/src/test/java/org/apache/cxf/jms/testsuite/util/JMSTestUtil.java
>>> URL: http://svn.apache.org/viewvc/cxf/trunk/systests/transports/src/test/java/org/apache/cxf/jms/testsuite/util/JMSTestUtil.java?rev=986571&r1=986570&r2=986571&view=diff
>>> ==============================================================================
>>> --- cxf/trunk/systests/transports/src/test/java/org/apache/cxf/jms/testsuite/util/JMSTestUtil.java (original)
>>> +++ cxf/trunk/systests/transports/src/test/java/org/apache/cxf/jms/testsuite/util/JMSTestUtil.java Wed Aug 18 05:53:13 2010
>>> @@ -205,6 +205,9 @@ public final class JMSTestUtil {
>>>         if (messageProperties.isSetExpiration()) {
>>>             jmsMessage.setJMSPriority(messageProperties.getExpiration());
>>>         }
>>> +        if (messageProperties.isSetCorrelationID()) {
>>> +            jmsMessage.setJMSCorrelationID(messageProperties.getCorrelationID());
>>> +        }
>>>
>>>         if (messageProperties.isSetTargetService()
>>>             && !"".equals(messageProperties.getTargetService().trim())) {
>>>
>>> Modified: cxf/trunk/systests/transports/src/test/java/org/apache/cxf/jms/testsuite/util/testcases.xml
>>> URL: http://svn.apache.org/viewvc/cxf/trunk/systests/transports/src/test/java/org/apache/cxf/jms/testsuite/util/testcases.xml?rev=986571&r1=986570&r2=986571&view=diff
>>> ==============================================================================
>>> --- cxf/trunk/systests/transports/src/test/java/org/apache/cxf/jms/testsuite/util/testcases.xml (original)
>>> +++ cxf/trunk/systests/transports/src/test/java/org/apache/cxf/jms/testsuite/util/testcases.xml Wed Aug 18 05:53:13 2010
>>> @@ -45,7 +45,7 @@
>>>                        <priority>4</priority>
>>>                        <expiration>0</expiration>
>>>                        <replyTo></replyTo>
>>> -                       <correlationID></correlationID>
>>> +                       <correlationID>Correlator0002</correlationID>
>>>                        <destination>queue://testqueue0001</destination>
>>>                        <redelivered>false</redelivered>
>>>                        <bindingVersion>1.0</bindingVersion>
>>> @@ -62,7 +62,7 @@
>>>                        <priority>4</priority>
>>>                        <expiration>0</expiration>
>>>                        <replyTo></replyTo>
>>> -                       <correlationID></correlationID>
>>> +                       <correlationID>Correlator0002</correlationID>
>>>                        <destination></destination>
>>>                        <redelivered>false</redelivered>
>>>                        <bindingVersion>1.0</bindingVersion>
>>> @@ -103,7 +103,7 @@
>>>                        <priority>4</priority>
>>>                        <expiration>0</expiration>
>>>                        <replyTo></replyTo>
>>> -                       <correlationID></correlationID>
>>> +                       <correlationID>Correlator0002</correlationID>
>>>                        <destination>queue://testqueue0101</destination>
>>>                        <redelivered>false</redelivered>
>>>                        <bindingVersion>1.0</bindingVersion>
>>> @@ -120,7 +120,7 @@
>>>                        <priority>4</priority>
>>>                        <expiration>0</expiration>
>>>                        <replyTo></replyTo>
>>> -                       <correlationID></correlationID>
>>> +                       <correlationID>Correlator0002</correlationID>
>>>                        <destination></destination>
>>>                        <redelivered>false</redelivered>
>>>                        <bindingVersion>1.0</bindingVersion>
>>>
>>> Modified: cxf/trunk/testutils/src/main/resources/wsdl/jms_spec_test.wsdl
>>> URL: http://svn.apache.org/viewvc/cxf/trunk/testutils/src/main/resources/wsdl/jms_spec_test.wsdl?rev=986571&r1=986570&r2=986571&view=diff
>>> ==============================================================================
>>> --- cxf/trunk/testutils/src/main/resources/wsdl/jms_spec_test.wsdl (original)
>>> +++ cxf/trunk/testutils/src/main/resources/wsdl/jms_spec_test.wsdl Wed Aug 18 05:53:13 2010
>>> @@ -27,7 +27,7 @@
>>>     xmlns:xsd="http://www.w3.org/2001/XMLSchema"
>>>     xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
>>>     xmlns:x1="http://cxf.apache.org/jms_greeter/types"
>>> -    xmlns:soapjms="http://www.w3.org/2008/07/soap/bindings/JMS/">
>>> +    xmlns:soapjms="http://www.w3.org/2010/soapjms/">
>>>     <wsdl:types>
>>>         <schema targetNamespace="http://cxf.apache.org/jms_greeter/types"
>>>             xmlns="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
>>> @@ -105,7 +105,7 @@
>>>
>>>
>>>     <wsdl:binding name="JMSGreeterPortBinding" type="tns:JMSGreeterPortType">
>>> -        <soap:binding style="document" transport="http://www.w3.org/2008/07/soap/bindings/JMS/"/>
>>> +        <soap:binding style="document" transport="http://www.w3.org/2010/soapjms/"/>
>>>
>>>
>>>         <soapjms:jndiContextParameter name="name"
>>>
>>> Modified: cxf/trunk/testutils/src/main/resources/wsdl/jms_spec_testsuite.wsdl
>>> URL: http://svn.apache.org/viewvc/cxf/trunk/testutils/src/main/resources/wsdl/jms_spec_testsuite.wsdl?rev=986571&r1=986570&r2=986571&view=diff
>>> ==============================================================================
>>> --- cxf/trunk/testutils/src/main/resources/wsdl/jms_spec_testsuite.wsdl (original)
>>> +++ cxf/trunk/testutils/src/main/resources/wsdl/jms_spec_testsuite.wsdl Wed Aug 18 05:53:13 2010
>>> @@ -29,7 +29,7 @@
>>>     xmlns:xsd="http://www.w3.org/2001/XMLSchema"
>>>     xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
>>>     xmlns:x1="http://cxf.apache.org/jms_simple/types"
>>> -    xmlns:soapjms="http://www.w3.org/2008/07/soap/bindings/JMS/">
>>> +    xmlns:soapjms="http://www.w3.org/2010/soapjms/">
>>>     <wsdl:types>
>>>         <schema targetNamespace="http://cxf.apache.org/jms_simple/types"
>>>             xmlns="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
>>> @@ -61,7 +61,7 @@
>>>     </wsdl:portType>
>>>
>>>     <wsdl:binding name="JMSSimplePortBinding" type="tns:JMSSimplePortType">
>>> -        <soap:binding style="document" transport="http://www.w3.org/2008/07/soap/bindings/JMS/"/>
>>> +        <soap:binding style="document" transport="http://www.w3.org/2010/soapjms/"/>
>>>
>>>         <wsdl:operation name="echo">
>>>             <soap:operation soapAction="echo" style="document"/>
>>> @@ -82,7 +82,7 @@
>>>     </wsdl:binding>
>>>
>>>     <wsdl:binding name="JMSSimpleSOAP12PortBinding" type="tns:JMSSimplePortType">
>>> -        <soap12:binding style="document" transport="http://www.w3.org/2008/07/soap/bindings/JMS/"/>
>>> +        <soap12:binding style="document" transport="http://www.w3.org/2010/soapjms/"/>
>>>
>>>         <wsdl:operation name="echo">
>>>             <soap12:operation soapAction="echo" style="document"/>
>>> @@ -103,7 +103,7 @@
>>>     </wsdl:binding>
>>>
>>>     <wsdl:binding name="JMSSimplePortBinding0006" type="tns:JMSSimplePortType">
>>> -        <soap:binding style="document" transport="http://www.w3.org/2008/07/soap/bindings/JMS/"/>
>>> +        <soap:binding style="document" transport="http://www.w3.org/2010/soapjms/"/>
>>>
>>>         <soapjms:deliveryMode>NON_PERSISTENT</soapjms:deliveryMode>
>>>         <soapjms:timeToLive>7200000</soapjms:timeToLive>
>>> @@ -129,7 +129,7 @@
>>>     </wsdl:binding>
>>>
>>>     <wsdl:binding name="JMSSimplePortBinding0009" type="tns:JMSSimplePortType">
>>> -        <soap:binding style="document" transport="http://www.w3.org/2008/07/soap/bindings/JMS/"/>
>>> +        <soap:binding style="document" transport="http://www.w3.org/2010/soapjms/"/>
>>>
>>>         <soapjms:deliveryMode>PERSISTENT</soapjms:deliveryMode>
>>>         <soapjms:timeToLive>7200000</soapjms:timeToLive>
>>> @@ -155,7 +155,7 @@
>>>     </wsdl:binding>
>>>
>>>     <wsdl:binding name="JMSSimplePortBinding0010" type="tns:JMSSimplePortType">
>>> -        <soap:binding style="document" transport="http://www.w3.org/2008/07/soap/bindings/JMS/"/>
>>> +        <soap:binding style="document" transport="http://www.w3.org/2010/soapjms/"/>
>>>
>>>         <soapjms:deliveryMode>NON_PERSISTENT</soapjms:deliveryMode>
>>>         <soapjms:timeToLive>7200000</soapjms:timeToLive>
>>> @@ -181,7 +181,7 @@
>>>     </wsdl:binding>
>>>
>>>     <wsdl:binding name="JMSSimplePortBinding0013" type="tns:JMSSimplePortType">
>>> -        <soap:binding style="document" transport="http://www.w3.org/2008/07/soap/bindings/JMS/"/>
>>> +        <soap:binding style="document" transport="http://www.w3.org/2010/soapjms/"/>
>>>
>>>         <soapjms:timeToLive>7200000</soapjms:timeToLive>
>>>
>>> @@ -204,7 +204,7 @@
>>>     </wsdl:binding>
>>>
>>>     <wsdl:binding name="JMSSimplePortBinding0014" type="tns:JMSSimplePortType">
>>> -        <soap:binding style="document" transport="http://www.w3.org/2008/07/soap/bindings/JMS/"/>
>>> +        <soap:binding style="document" transport="http://www.w3.org/2010/soapjms/"/>
>>>
>>>         <soapjms:timeToLive>7200000</soapjms:timeToLive>
>>>         <soapjms:priority>4</soapjms:priority>
>>>
>>>
>>>
>>
>

Re: svn commit: r986571 - in /cxf/trunk: distribution/src/main/release/samples/jms-spec-demo/wsdl/ rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/ rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/jms/interceptor/ rt/bindings/soa

Posted by Jim Ma <ma...@gmail.com>.
The cxf.xml  I just pasted is I modified to test .
Here is the original one which works before the soap jms change :

<?xml version="1.0" encoding="UTF-8"?>
<beans
  xmlns='http://www.springframework.org/schema/beans'
  xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'
  xmlns:beans='http://www.springframework.org/schema/beans'
  xmlns:jms="http://cxf.apache.org/transports/jms"
  xmlns:jaxws='http://cxf.apache.org/jaxws'
  xsi:schemaLocation='http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
  http://www.w3.org/2006/07/ws-policy http://www.w3.org/2006/07/ws-policy.xsd
  http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd
  http://cxf.apache.org/transports/jms
http://cxf.apache.org/schemas/configuration/jms.xsd'>

  <jaxws:endpoint
    implementor='org.jboss.test.ws.jaxws.samples.jmsendpoints.jmstransport.OrganizationJmsEndpoint'
    transportId="http://cxf.apache.org/transports/jms">
  </jaxws:endpoint>

  <jms:destination
name="{http://org.jboss.ws/samples/jmstransport}JmsPort.jms-destination">
    <jms:address
      destinationStyle="queue"
      jndiConnectionFactoryName="ConnectionFactory"
      jndiDestinationName="queue/RequestQueue"
      jndiReplyDestinationName="queue/ResponseQueue">
    </jms:address>
  </jms:destination>

  <jms:conduit name="{http://org.jboss.ws/samples/jmstransport}JmsPort.jms-conduit">
    <jms:address
      destinationStyle="queue"
      jndiConnectionFactoryName="ConnectionFactory"
      jndiDestinationName="queue/RequestQueue"
      jndiReplyDestinationName="queue/ResponseQueue">
    </jms:address>
  </jms:conduit>

</beans>

On Tue, Sep 14, 2010 at 1:27 PM, Jim Ma <ma...@gmail.com> wrote:
> Hi all ,
> After this commit,  the SoapJMSInInterceptor is added to check the
> "SOAPJMS_conentType" and other key/value pairs in message header .  It
> requires the "SOAPJMS_contentType" and other properties added in the
> jms message. Are such header (jms message property) checks in
> SoapJMSInInterceptor  required in SOAP JMS specification ?  If the
> answer is yes , do we actually need to require user to add these
> properties to each jms request message as we do in
> SOAPJMSTestSuiteTest now ?
>
> I also want to keep the following java first jms test case work
> without properties setting in jms message ? Can the SoapJMSInteceptor
> automatically be disabled for this test case ?
>
> ------SEI impl-----------
> @javax.jws.WebService(portName = "GreeterPort",
>                      serviceName = "JMSGreeterService",
>                      targetNamespace = "http://cxf.apache.org/jms_greeter",
> public class GreeterJMSImpl {
>    public String greetMe(String me) {
>        LOG.info("Executing operation greetMe");
>        System.out.println("Executing operation greetMe");
>        System.out.println("Message received: " + me + "\n");
>        return "Hello " + me;
>    }
>
>
> -----------------cxf.xml ------------------------------------
> <?xml version="1.0" encoding="UTF-8"?>
> <beans
>  ....
>  http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd
>  http://cxf.apache.org/transports/jms
> http://cxf.apache.org/schemas/configuration/jms.xsd'>
>
>  <jaxws:endpoint
>    implementor='org.apache.cxf.jms_greeter.GreeterJMSImpl'
>    transportId="http://www.w3.org/2010/soapjms/">
>  </jaxws:endpoint>
>
>  <jms:destination
> name="{http://cxf.apache.org/jms_greeter}GreeterPort.jms-destination">
>    <jms:address
>      destinationStyle="queue"
>      jndiConnectionFactoryName="ConnectionFactory"
>      jndiDestinationName="queue/RequestQueue"
>      jndiReplyDestinationName="queue/ResponseQueue">
>    </jms:address>
>  </jms:destination>
>
>  <jms:conduit name="{http://cxf.apache.org/jms_greeter}GreeterPort..jms-conduit">
>    <jms:address
>      destinationStyle="queue"
>      jndiConnectionFactoryName="ConnectionFactory"
>      jndiDestinationName="queue/RequestQueue"
>      jndiReplyDestinationName="queue/ResponseQueue">
>    </jms:address>
>  </jms:conduit>
> </beans>
>
> ---Client code -------
> String reqMessage ="<env:Envelope
> xmlns:env='http://schemas.xmlsoap.org/soap/envelope/'>...</env:Envelope>";
> InitialContext context = new InitialContext();
> QueueConnectionFactory connectionFactory
> (QueueConnectionFactory)context.lookup("ConnectionFactory");
> Queue reqQueue = (Queue)context.lookup("queue/RequestQueue");
> Queue resQueue = (Queue)context.lookup("queue/ResponseQueue");
> QueueConnection con = connectionFactory.createQueueConnection();
> QueueSession session = con.createQueueSession(false, Session.AUTO_ACKNOWLEDGE);
> QueueReceiver receiver = session.createReceiver(resQueue);
> ResponseListener responseListener = new ResponseListener();
> receiver.setMessageListener(responseListener);
> con.start();
>
> TextMessage message = session.createTextMessage(reqMessage);
> message.setJMSReplyTo(resQueue);
> waitForResponse = true;
> QueueSender sender = session.createSender(reqQueue);
> sender.send(message);
> sender.close();
> int timeout = 5;
> while (waitForResponse && timeout > 0)
>  {
>     Thread.sleep(1000);
>      timeout = timeout -1;
>  }
>
>
> Cheers,
> Jim
>
>
>
>
> On Wed, Aug 18, 2010 at 1:53 PM,  <ni...@apache.org> wrote:
>> Author: ningjiang
>> Date: Wed Aug 18 05:53:13 2010
>> New Revision: 986571
>>
>> URL: http://svn.apache.org/viewvc?rev=986571&view=rev
>> Log:
>> CXF-2949, CXF-2950, CXF-2951, applied Peter's patch of soapjms
>>
>> Modified:
>>    cxf/trunk/distribution/src/main/release/samples/jms-spec-demo/wsdl/jms_greeter.wsdl
>>    cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/SoapBindingFactory.java
>>    cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/SoapTransportFactory.java
>>    cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/jms/interceptor/SoapFaultFactory.java
>>    cxf/trunk/rt/bindings/soap/src/main/resources/META-INF/cxf/bus-extensions.xml
>>    cxf/trunk/rt/bindings/soap/src/main/resources/META-INF/cxf/cxf-extension-soap.xml
>>    cxf/trunk/rt/bindings/soap/src/test/java/org/apache/cxf/binding/soap/jms/interceptor/SoapFaultFactoryTest.java
>>    cxf/trunk/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/spec/JMSSpecConstants.java
>>    cxf/trunk/rt/transports/jms/src/main/resources/schemas/wsdl/spec/jms-spec-wsdl.xsd
>>    cxf/trunk/systests/transports/src/test/java/org/apache/cxf/jms/testsuite/testcases/SOAPJMSTestSuiteTest.java
>>    cxf/trunk/systests/transports/src/test/java/org/apache/cxf/jms/testsuite/util/JMSTestUtil.java
>>    cxf/trunk/systests/transports/src/test/java/org/apache/cxf/jms/testsuite/util/testcases.xml
>>    cxf/trunk/testutils/src/main/resources/wsdl/jms_spec_test.wsdl
>>    cxf/trunk/testutils/src/main/resources/wsdl/jms_spec_testsuite.wsdl
>>
>> Modified: cxf/trunk/distribution/src/main/release/samples/jms-spec-demo/wsdl/jms_greeter.wsdl
>> URL: http://svn.apache.org/viewvc/cxf/trunk/distribution/src/main/release/samples/jms-spec-demo/wsdl/jms_greeter.wsdl?rev=986571&r1=986570&r2=986571&view=diff
>> ==============================================================================
>> --- cxf/trunk/distribution/src/main/release/samples/jms-spec-demo/wsdl/jms_greeter.wsdl (original)
>> +++ cxf/trunk/distribution/src/main/release/samples/jms-spec-demo/wsdl/jms_greeter.wsdl Wed Aug 18 05:53:13 2010
>> @@ -19,7 +19,7 @@
>>        targetNamespace="http://cxf.apache.org/jms_greeter" xmlns="http://schemas.xmlsoap.org/wsdl/"
>>        xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://cxf.apache.org/jms_greeter"
>>        xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
>> -       xmlns:x1="http://cxf.apache.org/jms_greeter/types" xmlns:soapjms="http://www.w3.org/2008/07/soap/bindings/JMS/">
>> +       xmlns:x1="http://cxf.apache.org/jms_greeter/types" xmlns:soapjms="http://www.w3.org/2010/soapjms/">
>>        <wsdl:types>
>>                <schema targetNamespace="http://cxf.apache.org/jms_greeter/types"
>>                        xmlns="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
>> @@ -93,7 +93,7 @@
>>
>>        <wsdl:binding name="JMSGreeterPortBinding" type="tns:JMSGreeterPortType">
>>                <soap:binding style="document"
>> -                       transport="http://www.w3.org/2008/07/soap/bindings/JMS/" />
>> +                       transport="http://www.w3.org/2010/soapjms/" />
>>                <soapjms:jndiConnectionFactoryName>ConnectionFactory</soapjms:jndiConnectionFactoryName>
>>                <soapjms:jndiInitialContextFactory>
>>                        org.apache.activemq.jndi.ActiveMQInitialContextFactory
>>
>> Modified: cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/SoapBindingFactory.java
>> URL: http://svn.apache.org/viewvc/cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/SoapBindingFactory.java?rev=986571&r1=986570&r2=986571&view=diff
>> ==============================================================================
>> --- cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/SoapBindingFactory.java (original)
>> +++ cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/SoapBindingFactory.java Wed Aug 18 05:53:13 2010
>> @@ -146,8 +146,8 @@ public class SoapBindingFactory extends
>>         info.setName(config.getBindingName(si));
>>         info.setStyle(config.getStyle());
>>         if ("http://cxf.apache.org/transports/jms".equals(config.getTransportURI())) {
>> -            info.setTransportURI("http://www.w3.org/2008/07/soap/bindings/JMS/");
>> -            config.setTransportURI("http://www.w3.org/2008/07/soap/bindings/JMS/");
>> +            info.setTransportURI("http://www.w3.org/2010/soapjms/");
>> +            config.setTransportURI("http://www.w3.org/2010/soapjms/");
>>         } else {
>>             info.setTransportURI(config.getTransportURI());
>>         }
>> @@ -380,7 +380,7 @@ public class SoapBindingFactory extends
>>             }
>>
>>             //jms
>> -            if (sbi.getTransportURI().equals("http://www.w3.org/2008/07/soap/bindings/JMS/")) {
>> +            if (sbi.getTransportURI().equals("http://www.w3.org/2010/soapjms/")) {
>>                 sb.getInInterceptors().add(new SoapJMSInInterceptor());
>>             }
>>         } else {
>>
>> Modified: cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/SoapTransportFactory.java
>> URL: http://svn.apache.org/viewvc/cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/SoapTransportFactory.java?rev=986571&r1=986570&r2=986571&view=diff
>> ==============================================================================
>> --- cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/SoapTransportFactory.java (original)
>> +++ cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/SoapTransportFactory.java Wed Aug 18 05:53:13 2010
>> @@ -77,7 +77,7 @@ public class SoapTransportFactory extend
>>         return Collections.singleton("soap.tcp");
>>     }
>>     public String mapTransportURI(String s, String address) {
>> -        if ("http://www.w3.org/2008/07/soap/bindings/JMS/".equals(s)
>> +        if ("http://www.w3.org/2010/soapjms/".equals(s)
>>             || (address != null && address.startsWith("jms"))) {
>>             s = "http://cxf.apache.org/transports/jms";
>>         } else if (SOAP_11_HTTP_BINDING.equals(s)
>> @@ -173,7 +173,7 @@ public class SoapTransportFactory extend
>>                     info.addExtensor(sa);
>>                     info.setAddress(sa.getLocationURI());
>>                     if (isJMSSpecAddress(sa.getLocationURI())) {
>> -                        info.setTransportId("http://www.w3.org/2008/07/soap/bindings/JMS/");
>> +                        info.setTransportId("http://www.w3.org/2010/soapjms/");
>>                     }
>>                 } else {
>>                     info.addExtensor(extensor);
>>
>> Modified: cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/jms/interceptor/SoapFaultFactory.java
>> URL: http://svn.apache.org/viewvc/cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/jms/interceptor/SoapFaultFactory.java?rev=986571&r1=986570&r2=986571&view=diff
>> ==============================================================================
>> --- cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/jms/interceptor/SoapFaultFactory.java (original)
>> +++ cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/jms/interceptor/SoapFaultFactory.java Wed Aug 18 05:53:13 2010
>> @@ -19,9 +19,6 @@
>>
>>  package org.apache.cxf.binding.soap.jms.interceptor;
>>
>> -import java.util.logging.Level;
>> -import java.util.logging.Logger;
>> -
>>  import javax.xml.namespace.QName;
>>
>>  import org.w3c.dom.Document;
>> @@ -32,16 +29,12 @@ import org.apache.cxf.binding.soap.Soap1
>>  import org.apache.cxf.binding.soap.SoapBinding;
>>  import org.apache.cxf.binding.soap.SoapFault;
>>  import org.apache.cxf.binding.soap.SoapVersion;
>> -import org.apache.cxf.common.logging.LogUtils;
>> -import org.apache.cxf.helpers.XMLUtils;
>>  import org.apache.cxf.interceptor.Fault;
>>
>>  /**
>>  *
>>  */
>>  public class SoapFaultFactory  {
>> -
>> -    private static final Logger LOG = LogUtils.getL7dLogger(SoapFaultFactory.class);
>>
>>     private SoapVersion version;
>>
>> @@ -63,20 +56,7 @@ public class SoapFaultFactory  {
>>
>>     Fault createSoap11Fault(JMSFault jmsFault) {
>>         SoapFault fault = new SoapFault(jmsFault.getReason(),
>> -            jmsFault.isSender() ? version.getSender() : version.getReceiver());
>> -        QName subCode = jmsFault.getSubCode();
>> -        fault.setSubCode(subCode);
>> -        try {
>> -            Document doc = XMLUtils.newDocument();
>> -            Element detail = doc.createElementNS(Soap11.SOAP_NAMESPACE, "detail");
>> -            Element detailChild = doc.createElementNS(subCode.getNamespaceURI(), subCode.getLocalPart());
>> -            detailChild.setTextContent(fault.getReason());
>> -            detail.appendChild(detailChild);
>> -            fault.setDetail(detail);
>> -        } catch (Exception ex) {
>> -            LogUtils.log(LOG, Level.SEVERE, "MARSHAL_FAULT_DETAIL_EXC", ex);
>> -            ex.printStackTrace();
>> -        }
>> +            jmsFault.getSubCode());
>>         return fault;
>>     }
>>
>>
>> Modified: cxf/trunk/rt/bindings/soap/src/main/resources/META-INF/cxf/bus-extensions.xml
>> URL: http://svn.apache.org/viewvc/cxf/trunk/rt/bindings/soap/src/main/resources/META-INF/cxf/bus-extensions.xml?rev=986571&r1=986570&r2=986571&view=diff
>> ==============================================================================
>> --- cxf/trunk/rt/bindings/soap/src/main/resources/META-INF/cxf/bus-extensions.xml (original)
>> +++ cxf/trunk/rt/bindings/soap/src/main/resources/META-INF/cxf/bus-extensions.xml Wed Aug 18 05:53:13 2010
>> @@ -25,7 +25,7 @@
>>         <namespace>http://schemas.xmlsoap.org/wsdl/soap/</namespace>
>>         <namespace>http://schemas.xmlsoap.org/wsdl/soap12/</namespace>
>>         <namespace>http://www.w3.org/2003/05/soap/bindings/HTTP/</namespace>
>> -        <namespace>http://www.w3.org/2008/07/soap/bindings/JMS/</namespace>
>> +        <namespace>http://www.w3.org/2010/soapjms/</namespace>
>>         <namespace>http://schemas.xmlsoap.org/wsdl/soap/http</namespace>
>>         <namespace>http://schemas.xmlsoap.org/soap/http</namespace>
>>     </extension>
>>
>> Modified: cxf/trunk/rt/bindings/soap/src/main/resources/META-INF/cxf/cxf-extension-soap.xml
>> URL: http://svn.apache.org/viewvc/cxf/trunk/rt/bindings/soap/src/main/resources/META-INF/cxf/cxf-extension-soap.xml?rev=986571&r1=986570&r2=986571&view=diff
>> ==============================================================================
>> --- cxf/trunk/rt/bindings/soap/src/main/resources/META-INF/cxf/cxf-extension-soap.xml (original)
>> +++ cxf/trunk/rt/bindings/soap/src/main/resources/META-INF/cxf/cxf-extension-soap.xml Wed Aug 18 05:53:13 2010
>> @@ -39,7 +39,7 @@ http://www.springframework.org/schema/be
>>                        <value>http://schemas.xmlsoap.org/wsdl/soap12/</value>
>>                        <value>http://schemas.xmlsoap.org/soap/http/</value>
>>                 <value>http://schemas.xmlsoap.org/wsdl/soap/http</value>
>> -               <value>http://www.w3.org/2008/07/soap/bindings/JMS/</value>
>> +               <value>http://www.w3.org/2010/soapjms/</value>
>>                 <value>http://www.w3.org/2003/05/soap/bindings/HTTP/</value>
>>                <value>http://schemas.xmlsoap.org/soap/http</value>
>>             </list>
>>
>> Modified: cxf/trunk/rt/bindings/soap/src/test/java/org/apache/cxf/binding/soap/jms/interceptor/SoapFaultFactoryTest.java
>> URL: http://svn.apache.org/viewvc/cxf/trunk/rt/bindings/soap/src/test/java/org/apache/cxf/binding/soap/jms/interceptor/SoapFaultFactoryTest.java?rev=986571&r1=986570&r2=986571&view=diff
>> ==============================================================================
>> --- cxf/trunk/rt/bindings/soap/src/test/java/org/apache/cxf/binding/soap/jms/interceptor/SoapFaultFactoryTest.java (original)
>> +++ cxf/trunk/rt/bindings/soap/src/test/java/org/apache/cxf/binding/soap/jms/interceptor/SoapFaultFactoryTest.java Wed Aug 18 05:53:13 2010
>> @@ -45,10 +45,12 @@ public class SoapFaultFactoryTest extend
>>         control = EasyMock.createNiceControl();
>>     }
>>
>> -    JMSFault setupJMSFault(boolean isSender, QName code, Object detail) {
>> +    JMSFault setupJMSFault(boolean isSender, QName code, Object detail, boolean isSoap12) {
>>         jmsFault = control.createMock(JMSFault.class);
>>         EasyMock.expect(jmsFault.getReason()).andReturn("reason");
>> -        EasyMock.expect(jmsFault.isSender()).andReturn(isSender);
>> +        if (isSoap12) {
>> +            EasyMock.expect(jmsFault.isSender()).andReturn(isSender);
>> +        }
>>         EasyMock.expect(jmsFault.getSubCode()).andReturn(code);
>>         if (null != detail) {
>>             EasyMock.expect(jmsFault.getDetail()).andReturn(detail);
>> @@ -62,14 +64,14 @@ public class SoapFaultFactoryTest extend
>>     public void createSoap11Fault() {
>>         SoapBinding sb = control.createMock(SoapBinding.class);
>>         EasyMock.expect(sb.getSoapVersion()).andReturn(Soap11.getInstance());
>> -        setupJMSFault(true, SoapJMSConstants.getContentTypeMismatchQName(), null);
>> +        setupJMSFault(true, SoapJMSConstants.getContentTypeMismatchQName(), null, false);
>>         control.replay();
>> +
>>         SoapFaultFactory factory = new SoapFaultFactory(sb);
>>         SoapFault fault = (SoapFault)factory.createFault(jmsFault);
>>         assertEquals("reason", fault.getReason());
>> -        assertEquals(Soap11.getInstance().getSender(), fault.getFaultCode());
>> -        assertEquals(SoapJMSConstants.getContentTypeMismatchQName(), fault.getSubCode());
>> -        assertNotNull(fault.getDetail());
>> +        assertEquals(SoapJMSConstants.getContentTypeMismatchQName(), fault.getFaultCode());
>> +        assertNull(fault.getDetail());
>>         assertSame(jmsFault, fault.getCause());
>>         control.verify();
>>     }
>> @@ -78,7 +80,7 @@ public class SoapFaultFactoryTest extend
>>     public void createSoap12Fault() {
>>         SoapBinding sb = control.createMock(SoapBinding.class);
>>         EasyMock.expect(sb.getSoapVersion()).andReturn(Soap12.getInstance());
>> -        setupJMSFault(true, SoapJMSConstants.getMismatchedSoapActionQName(), null);
>> +        setupJMSFault(true, SoapJMSConstants.getMismatchedSoapActionQName(), null, true);
>>         control.replay();
>>         SoapFaultFactory factory = new SoapFaultFactory(sb);
>>         SoapFault fault = (SoapFault)factory.createFault(jmsFault);
>>
>> Modified: cxf/trunk/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/spec/JMSSpecConstants.java
>> URL: http://svn.apache.org/viewvc/cxf/trunk/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/spec/JMSSpecConstants.java?rev=986571&r1=986570&r2=986571&view=diff
>> ==============================================================================
>> --- cxf/trunk/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/spec/JMSSpecConstants.java (original)
>> +++ cxf/trunk/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/spec/JMSSpecConstants.java Wed Aug 18 05:53:13 2010
>> @@ -26,7 +26,7 @@ package org.apache.cxf.transport.jms.spe
>>  public final class JMSSpecConstants {
>>
>>     public static final String SOAP_JMS_SPECIFICIATION_TRANSPORTID
>> -        = "http://www.w3.org/2008/07/soap/bindings/JMS/";
>> +        = "http://www.w3.org/2010/soapjms/";
>>     public static final String SOAP_JMS_NAMESPACE = SOAP_JMS_SPECIFICIATION_TRANSPORTID;
>>
>>     public static final String SOAP_JMS_PREFIX = "SOAPJMS_";
>>
>> Modified: cxf/trunk/rt/transports/jms/src/main/resources/schemas/wsdl/spec/jms-spec-wsdl.xsd
>> URL: http://svn.apache.org/viewvc/cxf/trunk/rt/transports/jms/src/main/resources/schemas/wsdl/spec/jms-spec-wsdl.xsd?rev=986571&r1=986570&r2=986571&view=diff
>> ==============================================================================
>> --- cxf/trunk/rt/transports/jms/src/main/resources/schemas/wsdl/spec/jms-spec-wsdl.xsd (original)
>> +++ cxf/trunk/rt/transports/jms/src/main/resources/schemas/wsdl/spec/jms-spec-wsdl.xsd Wed Aug 18 05:53:13 2010
>> @@ -15,9 +15,9 @@
>>                License.
>>        -->
>>  <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
>> -       xmlns:soapjms="http://www.w3.org/2008/07/soap/bindings/JMS/"
>> +       xmlns:soapjms="http://www.w3.org/2010/soapjms/"
>>        xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
>> -       targetNamespace="http://www.w3.org/2008/07/soap/bindings/JMS/"
>> +       targetNamespace="http://www.w3.org/2010/soapjms/"
>>        elementFormDefault="qualified" jaxb:version="2.0">
>>
>>        <xs:element name="jndiContextParameter" type="soapjms:jndiContextParameterType" />
>>
>> Modified: cxf/trunk/systests/transports/src/test/java/org/apache/cxf/jms/testsuite/testcases/SOAPJMSTestSuiteTest.java
>> URL: http://svn.apache.org/viewvc/cxf/trunk/systests/transports/src/test/java/org/apache/cxf/jms/testsuite/testcases/SOAPJMSTestSuiteTest.java?rev=986571&r1=986570&r2=986571&view=diff
>> ==============================================================================
>> --- cxf/trunk/systests/transports/src/test/java/org/apache/cxf/jms/testsuite/testcases/SOAPJMSTestSuiteTest.java (original)
>> +++ cxf/trunk/systests/transports/src/test/java/org/apache/cxf/jms/testsuite/testcases/SOAPJMSTestSuiteTest.java Wed Aug 18 05:53:13 2010
>> @@ -155,7 +155,10 @@ public class SOAPJMSTestSuiteTest extend
>>         final JMSSimplePortType simplePort = getPort("JMSSimpleService0001", "SimplePort",
>>                                                      JMSSimpleService0001.class,
>>                                                      JMSSimplePortType.class);
>> -        twoWayTest(testcase, simplePort);
>> +        JMSMessageHeadersType requestHeader = new JMSMessageHeadersType();
>> +        requestHeader.setJMSCorrelationID("Correlator0002");
>> +
>> +        twoWayTestWithRequestHeader(testcase, simplePort, requestHeader);
>>     }
>>
>>     @Test
>>
>> Modified: cxf/trunk/systests/transports/src/test/java/org/apache/cxf/jms/testsuite/util/JMSTestUtil.java
>> URL: http://svn.apache.org/viewvc/cxf/trunk/systests/transports/src/test/java/org/apache/cxf/jms/testsuite/util/JMSTestUtil.java?rev=986571&r1=986570&r2=986571&view=diff
>> ==============================================================================
>> --- cxf/trunk/systests/transports/src/test/java/org/apache/cxf/jms/testsuite/util/JMSTestUtil.java (original)
>> +++ cxf/trunk/systests/transports/src/test/java/org/apache/cxf/jms/testsuite/util/JMSTestUtil.java Wed Aug 18 05:53:13 2010
>> @@ -205,6 +205,9 @@ public final class JMSTestUtil {
>>         if (messageProperties.isSetExpiration()) {
>>             jmsMessage.setJMSPriority(messageProperties.getExpiration());
>>         }
>> +        if (messageProperties.isSetCorrelationID()) {
>> +            jmsMessage.setJMSCorrelationID(messageProperties.getCorrelationID());
>> +        }
>>
>>         if (messageProperties.isSetTargetService()
>>             && !"".equals(messageProperties.getTargetService().trim())) {
>>
>> Modified: cxf/trunk/systests/transports/src/test/java/org/apache/cxf/jms/testsuite/util/testcases.xml
>> URL: http://svn.apache.org/viewvc/cxf/trunk/systests/transports/src/test/java/org/apache/cxf/jms/testsuite/util/testcases.xml?rev=986571&r1=986570&r2=986571&view=diff
>> ==============================================================================
>> --- cxf/trunk/systests/transports/src/test/java/org/apache/cxf/jms/testsuite/util/testcases.xml (original)
>> +++ cxf/trunk/systests/transports/src/test/java/org/apache/cxf/jms/testsuite/util/testcases.xml Wed Aug 18 05:53:13 2010
>> @@ -45,7 +45,7 @@
>>                        <priority>4</priority>
>>                        <expiration>0</expiration>
>>                        <replyTo></replyTo>
>> -                       <correlationID></correlationID>
>> +                       <correlationID>Correlator0002</correlationID>
>>                        <destination>queue://testqueue0001</destination>
>>                        <redelivered>false</redelivered>
>>                        <bindingVersion>1.0</bindingVersion>
>> @@ -62,7 +62,7 @@
>>                        <priority>4</priority>
>>                        <expiration>0</expiration>
>>                        <replyTo></replyTo>
>> -                       <correlationID></correlationID>
>> +                       <correlationID>Correlator0002</correlationID>
>>                        <destination></destination>
>>                        <redelivered>false</redelivered>
>>                        <bindingVersion>1.0</bindingVersion>
>> @@ -103,7 +103,7 @@
>>                        <priority>4</priority>
>>                        <expiration>0</expiration>
>>                        <replyTo></replyTo>
>> -                       <correlationID></correlationID>
>> +                       <correlationID>Correlator0002</correlationID>
>>                        <destination>queue://testqueue0101</destination>
>>                        <redelivered>false</redelivered>
>>                        <bindingVersion>1.0</bindingVersion>
>> @@ -120,7 +120,7 @@
>>                        <priority>4</priority>
>>                        <expiration>0</expiration>
>>                        <replyTo></replyTo>
>> -                       <correlationID></correlationID>
>> +                       <correlationID>Correlator0002</correlationID>
>>                        <destination></destination>
>>                        <redelivered>false</redelivered>
>>                        <bindingVersion>1.0</bindingVersion>
>>
>> Modified: cxf/trunk/testutils/src/main/resources/wsdl/jms_spec_test.wsdl
>> URL: http://svn.apache.org/viewvc/cxf/trunk/testutils/src/main/resources/wsdl/jms_spec_test.wsdl?rev=986571&r1=986570&r2=986571&view=diff
>> ==============================================================================
>> --- cxf/trunk/testutils/src/main/resources/wsdl/jms_spec_test.wsdl (original)
>> +++ cxf/trunk/testutils/src/main/resources/wsdl/jms_spec_test.wsdl Wed Aug 18 05:53:13 2010
>> @@ -27,7 +27,7 @@
>>     xmlns:xsd="http://www.w3.org/2001/XMLSchema"
>>     xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
>>     xmlns:x1="http://cxf.apache.org/jms_greeter/types"
>> -    xmlns:soapjms="http://www.w3.org/2008/07/soap/bindings/JMS/">
>> +    xmlns:soapjms="http://www.w3.org/2010/soapjms/">
>>     <wsdl:types>
>>         <schema targetNamespace="http://cxf.apache.org/jms_greeter/types"
>>             xmlns="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
>> @@ -105,7 +105,7 @@
>>
>>
>>     <wsdl:binding name="JMSGreeterPortBinding" type="tns:JMSGreeterPortType">
>> -        <soap:binding style="document" transport="http://www.w3.org/2008/07/soap/bindings/JMS/"/>
>> +        <soap:binding style="document" transport="http://www.w3.org/2010/soapjms/"/>
>>
>>
>>         <soapjms:jndiContextParameter name="name"
>>
>> Modified: cxf/trunk/testutils/src/main/resources/wsdl/jms_spec_testsuite.wsdl
>> URL: http://svn.apache.org/viewvc/cxf/trunk/testutils/src/main/resources/wsdl/jms_spec_testsuite.wsdl?rev=986571&r1=986570&r2=986571&view=diff
>> ==============================================================================
>> --- cxf/trunk/testutils/src/main/resources/wsdl/jms_spec_testsuite.wsdl (original)
>> +++ cxf/trunk/testutils/src/main/resources/wsdl/jms_spec_testsuite.wsdl Wed Aug 18 05:53:13 2010
>> @@ -29,7 +29,7 @@
>>     xmlns:xsd="http://www.w3.org/2001/XMLSchema"
>>     xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
>>     xmlns:x1="http://cxf.apache.org/jms_simple/types"
>> -    xmlns:soapjms="http://www.w3.org/2008/07/soap/bindings/JMS/">
>> +    xmlns:soapjms="http://www.w3.org/2010/soapjms/">
>>     <wsdl:types>
>>         <schema targetNamespace="http://cxf.apache.org/jms_simple/types"
>>             xmlns="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
>> @@ -61,7 +61,7 @@
>>     </wsdl:portType>
>>
>>     <wsdl:binding name="JMSSimplePortBinding" type="tns:JMSSimplePortType">
>> -        <soap:binding style="document" transport="http://www.w3.org/2008/07/soap/bindings/JMS/"/>
>> +        <soap:binding style="document" transport="http://www.w3.org/2010/soapjms/"/>
>>
>>         <wsdl:operation name="echo">
>>             <soap:operation soapAction="echo" style="document"/>
>> @@ -82,7 +82,7 @@
>>     </wsdl:binding>
>>
>>     <wsdl:binding name="JMSSimpleSOAP12PortBinding" type="tns:JMSSimplePortType">
>> -        <soap12:binding style="document" transport="http://www.w3.org/2008/07/soap/bindings/JMS/"/>
>> +        <soap12:binding style="document" transport="http://www.w3.org/2010/soapjms/"/>
>>
>>         <wsdl:operation name="echo">
>>             <soap12:operation soapAction="echo" style="document"/>
>> @@ -103,7 +103,7 @@
>>     </wsdl:binding>
>>
>>     <wsdl:binding name="JMSSimplePortBinding0006" type="tns:JMSSimplePortType">
>> -        <soap:binding style="document" transport="http://www.w3.org/2008/07/soap/bindings/JMS/"/>
>> +        <soap:binding style="document" transport="http://www.w3.org/2010/soapjms/"/>
>>
>>         <soapjms:deliveryMode>NON_PERSISTENT</soapjms:deliveryMode>
>>         <soapjms:timeToLive>7200000</soapjms:timeToLive>
>> @@ -129,7 +129,7 @@
>>     </wsdl:binding>
>>
>>     <wsdl:binding name="JMSSimplePortBinding0009" type="tns:JMSSimplePortType">
>> -        <soap:binding style="document" transport="http://www.w3.org/2008/07/soap/bindings/JMS/"/>
>> +        <soap:binding style="document" transport="http://www.w3.org/2010/soapjms/"/>
>>
>>         <soapjms:deliveryMode>PERSISTENT</soapjms:deliveryMode>
>>         <soapjms:timeToLive>7200000</soapjms:timeToLive>
>> @@ -155,7 +155,7 @@
>>     </wsdl:binding>
>>
>>     <wsdl:binding name="JMSSimplePortBinding0010" type="tns:JMSSimplePortType">
>> -        <soap:binding style="document" transport="http://www.w3.org/2008/07/soap/bindings/JMS/"/>
>> +        <soap:binding style="document" transport="http://www.w3.org/2010/soapjms/"/>
>>
>>         <soapjms:deliveryMode>NON_PERSISTENT</soapjms:deliveryMode>
>>         <soapjms:timeToLive>7200000</soapjms:timeToLive>
>> @@ -181,7 +181,7 @@
>>     </wsdl:binding>
>>
>>     <wsdl:binding name="JMSSimplePortBinding0013" type="tns:JMSSimplePortType">
>> -        <soap:binding style="document" transport="http://www.w3.org/2008/07/soap/bindings/JMS/"/>
>> +        <soap:binding style="document" transport="http://www.w3.org/2010/soapjms/"/>
>>
>>         <soapjms:timeToLive>7200000</soapjms:timeToLive>
>>
>> @@ -204,7 +204,7 @@
>>     </wsdl:binding>
>>
>>     <wsdl:binding name="JMSSimplePortBinding0014" type="tns:JMSSimplePortType">
>> -        <soap:binding style="document" transport="http://www.w3.org/2008/07/soap/bindings/JMS/"/>
>> +        <soap:binding style="document" transport="http://www.w3.org/2010/soapjms/"/>
>>
>>         <soapjms:timeToLive>7200000</soapjms:timeToLive>
>>         <soapjms:priority>4</soapjms:priority>
>>
>>
>>
>