You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by ff...@apache.org on 2011/08/25 13:40:28 UTC

svn commit: r1161517 - in /cxf/branches/2.3.x-fixes: ./ rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/jms/interceptor/ rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/ systests/transports/src/test/java/org/apache/cxf/systest/j...

Author: ffang
Date: Thu Aug 25 11:40:27 2011
New Revision: 1161517

URL: http://svn.apache.org/viewvc?rev=1161517&view=rev
Log:
Merged revisions 1161508 via svnmerge from 
https://svn.apache.org/repos/asf/cxf/branches/2.4.x-fixes

................
  r1161508 | ffang | 2011-08-25 19:20:37 +0800 (四, 25  8 2011) | 9 lines
  
  Merged revisions 1161458 via svnmerge from 
  https://svn.apache.org/repos/asf/cxf/trunk
  
  ........
    r1161458 | ffang | 2011-08-25 17:22:03 +0800 (四, 25  8 2011) | 1 line
    
    [CXF-3720]SOAP over JMS miss SOAPJMS_soapAction property when use soap12
  ........
................

Added:
    cxf/branches/2.3.x-fixes/systests/transports/src/test/java/org/apache/cxf/systest/jms/GreeterImplSoap12.java
    cxf/branches/2.3.x-fixes/systests/transports/src/test/java/org/apache/cxf/systest/jms/JMSClientServerSoap12Test.java
    cxf/branches/2.3.x-fixes/systests/transports/src/test/java/org/apache/cxf/systest/jms/Soap12Server.java
    cxf/branches/2.3.x-fixes/systests/transports/src/test/java/org/apache/cxf/systest/jms/soap12Bus.xml
Modified:
    cxf/branches/2.3.x-fixes/   (props changed)
    cxf/branches/2.3.x-fixes/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/jms/interceptor/JMSFaultFactory.java
    cxf/branches/2.3.x-fixes/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/jms/interceptor/Messages.properties
    cxf/branches/2.3.x-fixes/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/jms/interceptor/SoapJMSConstants.java
    cxf/branches/2.3.x-fixes/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/jms/interceptor/SoapJMSInInterceptor.java
    cxf/branches/2.3.x-fixes/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSUtils.java
    cxf/branches/2.3.x-fixes/testutils/src/main/resources/wsdl/hello_world_doc_lit.wsdl

Propchange: cxf/branches/2.3.x-fixes/
------------------------------------------------------------------------------
Binary property 'svnmerge-integrated' - no diff available.

Modified: cxf/branches/2.3.x-fixes/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/jms/interceptor/JMSFaultFactory.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.3.x-fixes/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/jms/interceptor/JMSFaultFactory.java?rev=1161517&r1=1161516&r2=1161517&view=diff
==============================================================================
--- cxf/branches/2.3.x-fixes/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/jms/interceptor/JMSFaultFactory.java (original)
+++ cxf/branches/2.3.x-fixes/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/jms/interceptor/JMSFaultFactory.java Thu Aug 25 11:40:27 2011
@@ -72,6 +72,11 @@ public final class JMSFaultFactory {
         return createFault(SoapJMSConstants.getMissingContentTypeQName(), m);
     }
 
+    public static JMSFault createMissingSoapActionFault() {
+        String m = new org.apache.cxf.common.i18n.Message("MISSING_SOAPACTION", LOG).toString();
+        return createFault(SoapJMSConstants.getMissingSoapActionQName(), m);
+    }
+    
     public static JMSFault createMissingRequestURIFault() {
         String m = new org.apache.cxf.common.i18n.Message("MISSING_REQUESTURI", LOG).toString();
         return createFault(SoapJMSConstants.getMissingRequestURIQName(), m);

Modified: cxf/branches/2.3.x-fixes/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/jms/interceptor/Messages.properties
URL: http://svn.apache.org/viewvc/cxf/branches/2.3.x-fixes/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/jms/interceptor/Messages.properties?rev=1161517&r1=1161516&r2=1161517&view=diff
==============================================================================
--- cxf/branches/2.3.x-fixes/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/jms/interceptor/Messages.properties (original)
+++ cxf/branches/2.3.x-fixes/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/jms/interceptor/Messages.properties Thu Aug 25 11:40:27 2011
@@ -23,6 +23,7 @@ MALFORMED_REQUESTURI = Malformed Request
 MISMATCHED_SOAPACTION = Mismatched SoapAction {0}.
 MISSING_CONTENTTYPE = Missing ContentType.
 MISSING_REQUESTURI = Missing RequestURI.
+MISSING_SOAPACTION = Missing soapAction.
 TARGET_SERVICE_NOT_ALLOWED_IN_REQUESTURI = targetService is not allowed in requestURI.
 UNRECOGNIZED_BINDINGVERSION = Unrecognized BindingVersion: {0}.
-UNSUPPORTED_JMSMESSAGEFORMAT = Unsupported JMS Message Format: {0}. 
\ No newline at end of file
+UNSUPPORTED_JMSMESSAGEFORMAT = Unsupported JMS Message Format: {0}. 

Modified: cxf/branches/2.3.x-fixes/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/jms/interceptor/SoapJMSConstants.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.3.x-fixes/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/jms/interceptor/SoapJMSConstants.java?rev=1161517&r1=1161516&r2=1161517&view=diff
==============================================================================
--- cxf/branches/2.3.x-fixes/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/jms/interceptor/SoapJMSConstants.java (original)
+++ cxf/branches/2.3.x-fixes/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/jms/interceptor/SoapJMSConstants.java Thu Aug 25 11:40:27 2011
@@ -59,6 +59,7 @@ public final class SoapJMSConstants {
     private static final String JMS_MALFORMEDREQUESTURI_FAULT_CODE = "malformedRequestURI";
     private static final String JMS_MISMATCHEDSOAPACTION_FAULT_CODE = "mismatchedSoapAction";
     private static final String JMS_MISSINGCONTENTTYPE_FAULT_CODE = "missingContentType";
+    private static final String JMS_MISSINGSOAPACTION_FAULT_CODE = "missingSoapAction";
     private static final String JMS_MISSINGREQUESTURI_FAULT_CODE = "missingRequestURI";
     private static final String JMS_TARGETSERVICENOTALLOWEDINREQUESTURI_FAULT_CODE = 
         "targetServiceNotAllowedInRequestURI";
@@ -88,6 +89,10 @@ public final class SoapJMSConstants {
         return new QName(SOAP_JMS_NAMESPACE, JMS_MISSINGCONTENTTYPE_FAULT_CODE);
     }
 
+    public static QName getMissingSoapActionQName() {
+        return new QName(SOAP_JMS_NAMESPACE, JMS_MISSINGSOAPACTION_FAULT_CODE);
+    }
+    
     public static QName getMissingRequestURIQName() {
         return new QName(SOAP_JMS_NAMESPACE, JMS_MISSINGREQUESTURI_FAULT_CODE);
     }

Modified: cxf/branches/2.3.x-fixes/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/jms/interceptor/SoapJMSInInterceptor.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.3.x-fixes/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/jms/interceptor/SoapJMSInInterceptor.java?rev=1161517&r1=1161516&r2=1161517&view=diff
==============================================================================
--- cxf/branches/2.3.x-fixes/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/jms/interceptor/SoapJMSInInterceptor.java (original)
+++ cxf/branches/2.3.x-fixes/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/jms/interceptor/SoapJMSInInterceptor.java Thu Aug 25 11:40:27 2011
@@ -124,8 +124,14 @@ public class SoapJMSInInterceptor extend
                 contentTypeAction = contentTypeAction.substring(1, contentTypeAction.lastIndexOf("\""));
             }
         }
-        if (soapAction != null && contentTypeAction != null && !soapAction.equals(contentTypeAction)) {
-            jmsFault = JMSFaultFactory.createMismatchedSoapActionFault(contentTypeAction);
+        if (contentTypeAction != null) {
+            if (sa == null) {
+                //miss SOAPJMS_soapAction header, throw fault per the spec
+                jmsFault = JMSFaultFactory.createMissingSoapActionFault();
+            }
+            if (soapAction != null && !soapAction.equals(contentTypeAction)) {
+                jmsFault = JMSFaultFactory.createMismatchedSoapActionFault(contentTypeAction);
+            }
         }
         if (jmsFault != null) {
             Fault f = createFault(message, jmsFault);

Modified: cxf/branches/2.3.x-fixes/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSUtils.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.3.x-fixes/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSUtils.java?rev=1161517&r1=1161516&r2=1161517&view=diff
==============================================================================
--- cxf/branches/2.3.x-fixes/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSUtils.java (original)
+++ cxf/branches/2.3.x-fixes/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSUtils.java Thu Aug 25 11:40:27 2011
@@ -613,6 +613,15 @@ public final class JMSUtils {
                 soapAction = action.get(0);
             }
         }
+        
+        if (soapAction == null) {
+            soapAction = messageProperties.getSOAPJMSSOAPAction();
+        }
+        
+        if (soapAction == null) {
+            soapAction = extractActionFromSoap12(outMessage);
+        }
+        
         if (soapAction != null) {
             messageProperties.setSOAPJMSSOAPAction(soapAction);
         }
@@ -652,4 +661,29 @@ public final class JMSUtils {
         id.append(index);
         return id.toString();
     }
+    
+    private static String extractActionFromSoap12(org.apache.cxf.message.Message message) {
+        String ct = (String) message.get(org.apache.cxf.message.Message.CONTENT_TYPE);
+        
+        if (ct == null) {
+            return null;
+        }
+        
+        int start = ct.indexOf("action=");
+        if (start != -1) {
+            int end;
+            if (ct.charAt(start + 7) == '\"') {
+                start += 8;
+                end = ct.indexOf('\"', start);
+            } else {
+                start += 7;
+                end = ct.indexOf(';', start);
+                if (end == -1) {
+                    end = ct.length();
+                }
+            }
+            return ct.substring(start, end);
+        }
+        return null;
+    }
 }

Added: cxf/branches/2.3.x-fixes/systests/transports/src/test/java/org/apache/cxf/systest/jms/GreeterImplSoap12.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.3.x-fixes/systests/transports/src/test/java/org/apache/cxf/systest/jms/GreeterImplSoap12.java?rev=1161517&view=auto
==============================================================================
--- cxf/branches/2.3.x-fixes/systests/transports/src/test/java/org/apache/cxf/systest/jms/GreeterImplSoap12.java (added)
+++ cxf/branches/2.3.x-fixes/systests/transports/src/test/java/org/apache/cxf/systest/jms/GreeterImplSoap12.java Thu Aug 25 11:40:27 2011
@@ -0,0 +1,31 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.cxf.systest.jms;
+
+import javax.jws.WebService;
+
+
+@WebService(serviceName = "SOAPService8", 
+            portName = "SoapPort8", 
+            endpointInterface = "org.apache.hello_world_doc_lit.Greeter",
+            targetNamespace = "http://apache.org/hello_world_doc_lit",
+            wsdlLocation = "testutils/hello_world_doc_lit.wsdl")
+public class GreeterImplSoap12 extends GreeterImplDocBase {
+
+}

Added: cxf/branches/2.3.x-fixes/systests/transports/src/test/java/org/apache/cxf/systest/jms/JMSClientServerSoap12Test.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.3.x-fixes/systests/transports/src/test/java/org/apache/cxf/systest/jms/JMSClientServerSoap12Test.java?rev=1161517&view=auto
==============================================================================
--- cxf/branches/2.3.x-fixes/systests/transports/src/test/java/org/apache/cxf/systest/jms/JMSClientServerSoap12Test.java (added)
+++ cxf/branches/2.3.x-fixes/systests/transports/src/test/java/org/apache/cxf/systest/jms/JMSClientServerSoap12Test.java Thu Aug 25 11:40:27 2011
@@ -0,0 +1,140 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.cxf.systest.jms;
+
+import java.lang.reflect.UndeclaredThrowableException;
+import java.net.URL;
+import java.util.HashMap;
+import java.util.Map;
+
+
+import javax.xml.namespace.QName;
+
+import org.apache.cxf.Bus;
+import org.apache.cxf.BusFactory;
+import org.apache.cxf.bus.spring.SpringBusFactory;
+import org.apache.cxf.endpoint.Client;
+import org.apache.cxf.frontend.ClientProxy;
+import org.apache.cxf.service.model.EndpointInfo;
+import org.apache.cxf.testutil.common.AbstractBusClientServerTestBase;
+import org.apache.cxf.testutil.common.EmbeddedJMSBrokerLauncher;
+import org.apache.cxf.transport.jms.AddressType;
+import org.apache.cxf.transport.jms.JMSNamingPropertyType;
+import org.apache.hello_world_doc_lit.Greeter;
+import org.apache.hello_world_doc_lit.PingMeFault;
+import org.apache.hello_world_doc_lit.SOAPService2;
+
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+public class JMSClientServerSoap12Test extends AbstractBusClientServerTestBase {
+    static final String JMS_PORT = EmbeddedJMSBrokerLauncher.PORT;
+    static final String PORT = Soap12Server.PORT;
+    
+    private String wsdlString;
+    
+    @BeforeClass
+    public static void startServers() throws Exception {
+        Map<String, String> props = new HashMap<String, String>();                
+        if (System.getProperty("org.apache.activemq.default.directory.prefix") != null) {
+            props.put("org.apache.activemq.default.directory.prefix",
+                      System.getProperty("org.apache.activemq.default.directory.prefix"));
+        }
+        props.put("java.util.logging.config.file", 
+                  System.getProperty("java.util.logging.config.file"));
+        
+        assertTrue("server did not launch correctly", 
+                   launchServer(EmbeddedJMSBrokerLauncher.class, props, null));
+
+        assertTrue("server did not launch correctly", 
+                   launchServer(Soap12Server.class));
+        
+    }
+    
+    public URL getWSDLURL(String s) throws Exception {
+        URL u = getClass().getResource(s);
+        wsdlString = u.toString().intern();
+        EmbeddedJMSBrokerLauncher.updateWsdlExtensors(getBus(), wsdlString);
+        System.gc();
+        System.gc();
+        return u;
+    }
+    public QName getServiceName(QName q) {
+        return q;
+    }
+    public QName getPortName(QName q) {
+        return q;
+    }
+    
+    @Test
+    public void testGzipEncodingWithJms() throws Exception {
+        SpringBusFactory bf = new SpringBusFactory();
+        Bus bus = bf.createBus("org/apache/cxf/systest/jms/soap12Bus.xml");
+        BusFactory.setDefaultBus(bus);
+        QName serviceName = getServiceName(new QName("http://apache.org/hello_world_doc_lit", 
+                                 "SOAPService8"));
+        QName portName = getPortName(new QName("http://apache.org/hello_world_doc_lit", "SoapPort8"));
+        URL wsdl = getWSDLURL("/wsdl/hello_world_doc_lit.wsdl");
+        assertNotNull(wsdl);
+
+        SOAPService2 service = new SOAPService2(wsdl, serviceName);
+        assertNotNull(service);
+
+        String response1 = new String("Hello Milestone-");
+        String response2 = new String("Bonjour");
+        try {
+            Greeter greeter = service.getPort(portName, Greeter.class);
+            
+            Client client = ClientProxy.getClient(greeter);
+            EndpointInfo ei = client.getEndpoint().getEndpointInfo();
+            AddressType address = ei.getTraversedExtensor(new AddressType(), AddressType.class);
+            JMSNamingPropertyType name = new JMSNamingPropertyType();
+            JMSNamingPropertyType password = new JMSNamingPropertyType();
+            name.setName("java.naming.security.principal");
+            name.setValue("ivan");
+            password.setName("java.naming.security.credentials");
+            password.setValue("the-terrible");
+            address.getJMSNamingProperty().add(name);
+            address.getJMSNamingProperty().add(password);
+            for (int idx = 0; idx < 5; idx++) {
+
+                greeter.greetMeOneWay("test String");
+
+                String greeting = greeter.greetMe("Milestone-" + idx);
+                assertNotNull("no response received from service", greeting);
+                String exResponse = response1 + idx;
+                assertEquals(exResponse, greeting);
+
+                String reply = greeter.sayHi();
+                assertNotNull("no response received from service", reply);
+                assertEquals(response2, reply);
+
+                try {
+                    greeter.pingMe();
+                    fail("Should have thrown FaultException");
+                } catch (PingMeFault ex) {
+                    assertNotNull(ex.getFaultInfo());
+                }
+
+            }
+        } catch (UndeclaredThrowableException ex) {
+            throw (Exception)ex.getCause();
+        }
+    }
+}

Added: cxf/branches/2.3.x-fixes/systests/transports/src/test/java/org/apache/cxf/systest/jms/Soap12Server.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.3.x-fixes/systests/transports/src/test/java/org/apache/cxf/systest/jms/Soap12Server.java?rev=1161517&view=auto
==============================================================================
--- cxf/branches/2.3.x-fixes/systests/transports/src/test/java/org/apache/cxf/systest/jms/Soap12Server.java (added)
+++ cxf/branches/2.3.x-fixes/systests/transports/src/test/java/org/apache/cxf/systest/jms/Soap12Server.java Thu Aug 25 11:40:27 2011
@@ -0,0 +1,54 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.cxf.systest.jms;
+
+import javax.xml.ws.Endpoint;
+
+import org.apache.cxf.Bus;
+import org.apache.cxf.BusFactory;
+import org.apache.cxf.bus.spring.SpringBusFactory;
+import org.apache.cxf.testutil.common.AbstractBusTestServerBase;
+import org.apache.cxf.testutil.common.EmbeddedJMSBrokerLauncher;
+
+
+public class Soap12Server extends AbstractBusTestServerBase {
+    public static final String PORT = allocatePort(Soap12Server.class);
+   
+    protected void run()  {
+        Object impleDoc = new GreeterImplSoap12();
+        SpringBusFactory bf = new SpringBusFactory();
+        Bus bus = bf.createBus("org/apache/cxf/systest/jms/soap12Bus.xml");
+        BusFactory.setDefaultBus(bus);
+        EmbeddedJMSBrokerLauncher.updateWsdlExtensors(bus, "testutils/hello_world_doc_lit.wsdl");
+        Endpoint.publish(null, impleDoc);
+    }
+
+
+    public static void main(String[] args) {
+        try {
+            Soap12Server s = new Soap12Server();
+            s.start();
+        } catch (Exception ex) {
+            ex.printStackTrace();
+            System.exit(-1);
+        } finally {
+            System.out.println("done!");
+        }
+    }
+}

Added: cxf/branches/2.3.x-fixes/systests/transports/src/test/java/org/apache/cxf/systest/jms/soap12Bus.xml
URL: http://svn.apache.org/viewvc/cxf/branches/2.3.x-fixes/systests/transports/src/test/java/org/apache/cxf/systest/jms/soap12Bus.xml?rev=1161517&view=auto
==============================================================================
--- cxf/branches/2.3.x-fixes/systests/transports/src/test/java/org/apache/cxf/systest/jms/soap12Bus.xml (added)
+++ cxf/branches/2.3.x-fixes/systests/transports/src/test/java/org/apache/cxf/systest/jms/soap12Bus.xml Thu Aug 25 11:40:27 2011
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements. See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership. The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License. You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied. See the License for the
+  specific language governing permissions and limitations
+  under the License.
+-->
+
+<beans xmlns="http://www.springframework.org/schema/beans"
+      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+      xmlns:cxf="http://cxf.apache.org/core"
+      xmlns:jms="http://cxf.apache.org/transports/jms"
+      xsi:schemaLocation="
+http://cxf.apache.org/core http://cxf.apache.org/schemas/core.xsd
+http://cxf.apache.org/transports/jms http://cxf.apache.org/schemas/configuration/jms.xsd
+http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
+
+
+    <cxf:bus>
+        <cxf:features>
+            <bean class="org.apache.cxf.feature.LoggingFeature"/>
+            <bean class="org.apache.cxf.transport.jms.JMSConfigFeature">
+                <property name="jmsConfig">
+                    <bean class="org.apache.cxf.transport.jms.JMSConfiguration">
+                        <property name="connectionFactory">
+                            <ref bean="jmsConnectionFactory" />
+                        </property>
+                        <property name="targetDestination">
+                            <value>routertest.SOAPService2Q.text</value>
+                        </property>
+                    </bean>
+                </property>
+            </bean>
+        </cxf:features>
+    </cxf:bus>
+    
+    <bean id="jmsConnectionFactory" class="org.springframework.jms.connection.SingleConnectionFactory">
+	<property name="targetConnectionFactory">
+		<bean class="org.apache.activemq.ActiveMQConnectionFactory">
+			<property name="brokerURL" value="tcp://localhost:61500" />
+		</bean>
+	</property>
+    </bean>
+ 
+</beans>
+

Modified: cxf/branches/2.3.x-fixes/testutils/src/main/resources/wsdl/hello_world_doc_lit.wsdl
URL: http://svn.apache.org/viewvc/cxf/branches/2.3.x-fixes/testutils/src/main/resources/wsdl/hello_world_doc_lit.wsdl?rev=1161517&r1=1161516&r2=1161517&view=diff
==============================================================================
--- cxf/branches/2.3.x-fixes/testutils/src/main/resources/wsdl/hello_world_doc_lit.wsdl (original)
+++ cxf/branches/2.3.x-fixes/testutils/src/main/resources/wsdl/hello_world_doc_lit.wsdl Thu Aug 25 11:40:27 2011
@@ -27,6 +27,7 @@ xmlns:http="http://schemas.xmlsoap.org/w
 xmlns:jms="http://cxf.apache.org/transports/jms"
 xmlns:tns="http://apache.org/hello_world_doc_lit"
 xmlns:x1="http://apache.org/hello_world_doc_lit/types"
+xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/"
 targetNamespace="http://apache.org/hello_world_doc_lit" name="HelloWorld">
     <wsdl:types>
         <schema targetNamespace="http://apache.org/hello_world_doc_lit/types" xmlns="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
@@ -158,6 +159,46 @@ targetNamespace="http://apache.org/hello
             </wsdl:fault>
         </wsdl:operation>
     </wsdl:binding>
+    <wsdl:binding name="Greeter_SOAPBinding_soap12" type="tns:Greeter">
+        <soap12:binding style="document" transport="http://www.w3.org/2010/soapjms/"/>
+        <wsdl:operation name="sayHi">
+            <soap12:operation soapAction="sayHi" style="document"/>
+            <wsdl:input>
+                <soap12:body use="literal"/>
+            </wsdl:input>
+            <wsdl:output>
+                <soap12:body use="literal"/>
+            </wsdl:output>
+        </wsdl:operation>
+        <wsdl:operation name="greetMe">
+            <soap12:operation soapAction="greetMe" style="document"/>
+            <wsdl:input>
+                <soap12:body use="literal"/>
+            </wsdl:input>
+            <wsdl:output>
+                <soap12:body use="literal"/>
+            </wsdl:output>
+        </wsdl:operation>
+        <wsdl:operation name="greetMeOneWay">
+            <soap12:operation soapAction="greetMeOneWay" style="document"/>
+            <wsdl:input>
+                <soap12:body use="literal"/>
+            </wsdl:input>
+        </wsdl:operation>
+        <wsdl:operation name="pingMe">
+            <soap12:operation soapAction="pingMe" style="document"/>
+            <wsdl:input>
+                <soap12:body use="literal"/>
+            </wsdl:input>
+            <wsdl:output>
+                <soap12:body use="literal"/>
+            </wsdl:output>
+            <wsdl:fault name="pingMeFault">
+                <soap12:fault name="pingMeFault" use="literal"/>
+            </wsdl:fault>
+        </wsdl:operation>
+    </wsdl:binding>
+
     <wsdl:binding name="Greeter_XMLBinding" type="tns:Greeter">
         <xformat:binding/>
         <wsdl:operation name="sayHi">
@@ -253,6 +294,18 @@ targetNamespace="http://apache.org/hello
         </wsdl:port>
     </wsdl:service>
 
+    <wsdl:service name="SOAPService8">
+        <wsdl:port name="SoapPort8" binding="tns:Greeter_SOAPBinding_soap12">
+               <jms:address
+                   jndiConnectionFactoryName="ConnectionFactory"
+                   jndiDestinationName="dynamicQueues/routertest.SOAPService2Q.text">
+                   <jms:JMSNamingProperty name="java.naming.factory.initial" value="org.apache.activemq.jndi.ActiveMQInitialContextFactory"/>
+                   <jms:JMSNamingProperty name="java.naming.provider.url" value="tcp://localhost:61500"/>
+               </jms:address>
+        </wsdl:port>
+    </wsdl:service>
+
+
     <!-- XML Binding based Services-->
     <wsdl:service name="XMLService1">
         <wsdl:port name="XMLPort1" binding="tns:Greeter_XMLBinding">