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>
>>
>>
>>
>