cxf-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From ningji...@apache.org
Subject svn commit: r791482 - in /cxf/trunk: api/src/main/java/org/apache/cxf/wsdl/ common/xjc/ common/xjc/dv-test/ common/xjc/ts-test/ common/xjc/wsdlextension-test/ common/xjc/wsdlextension-test/src/ common/xjc/wsdlextension-test/src/test/ common/xjc/wsdlext...
Date Mon, 06 Jul 2009 13:45:49 GMT
Author: ningjiang
Date: Mon Jul  6 13:45:47 2009
New Revision: 791482

URL: http://svn.apache.org/viewvc?rev=791482&view=rev
Log:
CXF-2264 applied patch with thanks to LiuCong, also fixed the System test error of client side creation

Added:
    cxf/trunk/common/xjc/wsdlextension/
    cxf/trunk/common/xjc/wsdlextension-test/
    cxf/trunk/common/xjc/wsdlextension-test/pom.xml   (with props)
    cxf/trunk/common/xjc/wsdlextension-test/src/
    cxf/trunk/common/xjc/wsdlextension-test/src/test/
    cxf/trunk/common/xjc/wsdlextension-test/src/test/java/
    cxf/trunk/common/xjc/wsdlextension-test/src/test/java/org/
    cxf/trunk/common/xjc/wsdlextension-test/src/test/java/org/apache/
    cxf/trunk/common/xjc/wsdlextension-test/src/test/java/org/apache/cxf/
    cxf/trunk/common/xjc/wsdlextension-test/src/test/java/org/apache/cxf/xjc/
    cxf/trunk/common/xjc/wsdlextension-test/src/test/java/org/apache/cxf/xjc/wsdlextension/
    cxf/trunk/common/xjc/wsdlextension-test/src/test/java/org/apache/cxf/xjc/wsdlextension/WSDLExtensionTest.java   (with props)
    cxf/trunk/common/xjc/wsdlextension-test/src/test/resources/
    cxf/trunk/common/xjc/wsdlextension-test/src/test/resources/schemas/
    cxf/trunk/common/xjc/wsdlextension-test/src/test/resources/schemas/configuration/
    cxf/trunk/common/xjc/wsdlextension-test/src/test/resources/schemas/configuration/foo.xsd   (with props)
    cxf/trunk/common/xjc/wsdlextension/pom.xml   (with props)
    cxf/trunk/common/xjc/wsdlextension/src/
    cxf/trunk/common/xjc/wsdlextension/src/main/
    cxf/trunk/common/xjc/wsdlextension/src/main/java/
    cxf/trunk/common/xjc/wsdlextension/src/main/java/com/
    cxf/trunk/common/xjc/wsdlextension/src/main/java/com/sun/
    cxf/trunk/common/xjc/wsdlextension/src/main/java/com/sun/tools/
    cxf/trunk/common/xjc/wsdlextension/src/main/java/com/sun/tools/xjc/
    cxf/trunk/common/xjc/wsdlextension/src/main/java/com/sun/tools/xjc/addon/
    cxf/trunk/common/xjc/wsdlextension/src/main/java/com/sun/tools/xjc/addon/apache_cxf/
    cxf/trunk/common/xjc/wsdlextension/src/main/java/com/sun/tools/xjc/addon/apache_cxf/wsdlextension/
    cxf/trunk/common/xjc/wsdlextension/src/main/java/com/sun/tools/xjc/addon/apache_cxf/wsdlextension/WSDLExtensionPlugin.java   (with props)
    cxf/trunk/common/xjc/wsdlextension/src/main/java/org/
    cxf/trunk/common/xjc/wsdlextension/src/main/java/org/apache/
    cxf/trunk/common/xjc/wsdlextension/src/main/java/org/apache/cxf/
    cxf/trunk/common/xjc/wsdlextension/src/main/java/org/apache/cxf/xjc/
    cxf/trunk/common/xjc/wsdlextension/src/main/java/org/apache/cxf/xjc/wsdlextension/
    cxf/trunk/common/xjc/wsdlextension/src/main/java/org/apache/cxf/xjc/wsdlextension/Messages.properties   (with props)
    cxf/trunk/common/xjc/wsdlextension/src/main/java/org/apache/cxf/xjc/wsdlextension/WSDLExtension.java   (with props)
    cxf/trunk/common/xjc/wsdlextension/src/main/resources/
    cxf/trunk/common/xjc/wsdlextension/src/main/resources/META-INF/
    cxf/trunk/common/xjc/wsdlextension/src/main/resources/META-INF/services/
    cxf/trunk/common/xjc/wsdlextension/src/main/resources/META-INF/services/com.sun.tools.xjc.Plugin
    cxf/trunk/rt/transports/jms/src/main/resources/schemas/wsdl/spec/
    cxf/trunk/rt/transports/jms/src/main/resources/schemas/wsdl/spec/jms-spec-wsdl.xsd   (with props)
Removed:
    cxf/trunk/rt/transports/jms/src/main/resources/schemas/wsdl/jms-spec.xjb
    cxf/trunk/rt/transports/jms/src/main/resources/schemas/wsdl/jms-spec.xsd
Modified:
    cxf/trunk/api/src/main/java/org/apache/cxf/wsdl/JAXBExtensionHelper.java
    cxf/trunk/common/xjc/dv-test/pom.xml
    cxf/trunk/common/xjc/pom.xml
    cxf/trunk/common/xjc/ts-test/pom.xml
    cxf/trunk/rt/transports/jms/pom.xml
    cxf/trunk/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSOldConfigHolder.java
    cxf/trunk/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSUtils.java
    cxf/trunk/rt/transports/jms/src/main/resources/META-INF/cxf/bus-extensions.xml
    cxf/trunk/rt/transports/jms/src/main/resources/META-INF/cxf/cxf-extension-jms.xml
    cxf/trunk/rt/transports/jms/src/main/resources/META-INF/cxf/extensions.xml
    cxf/trunk/systests/src/test/java/org/apache/cxf/systest/jms/JMSClientServerTest.java
    cxf/trunk/systests/src/test/java/org/apache/cxf/systest/jms/Server.java
    cxf/trunk/testutils/src/main/resources/wsdl/jms_spec_test.wsdl

Modified: cxf/trunk/api/src/main/java/org/apache/cxf/wsdl/JAXBExtensionHelper.java
URL: http://svn.apache.org/viewvc/cxf/trunk/api/src/main/java/org/apache/cxf/wsdl/JAXBExtensionHelper.java?rev=791482&r1=791481&r2=791482&view=diff
==============================================================================
--- cxf/trunk/api/src/main/java/org/apache/cxf/wsdl/JAXBExtensionHelper.java (original)
+++ cxf/trunk/api/src/main/java/org/apache/cxf/wsdl/JAXBExtensionHelper.java Mon Jul  6 13:45:47 2009
@@ -64,11 +64,11 @@
     private static final Logger LOG = LogUtils.getL7dLogger(JAXBExtensionHelper.class);
 
     JAXBContext context;
-    final Class<? extends TExtensibilityElementImpl> typeClass;
+    final Class<? extends ExtensibilityElement> typeClass;
     final String namespace;
     String jaxbNamespace;
       
-    public JAXBExtensionHelper(Class<? extends TExtensibilityElementImpl> cls,
+    public JAXBExtensionHelper(Class<? extends ExtensibilityElement> cls,
                                String ns) {
         typeClass = cls;
         namespace = ns;
@@ -82,9 +82,9 @@
         throws JAXBException, ClassNotFoundException {
         Class<?> parentTypeClass = ClassLoaderUtils.loadClass(parentType, JAXBExtensionHelper.class);
 
-        Class<? extends TExtensibilityElementImpl> elementTypeClass = 
+        Class<? extends ExtensibilityElement> elementTypeClass = 
             ClassLoaderUtils.loadClass(elementType, JAXBExtensionHelper.class)
-                .asSubclass(TExtensibilityElementImpl.class);
+                .asSubclass(ExtensibilityElement.class);
         addExtensions(registry, parentTypeClass, elementTypeClass, null);
     }
     public static void addExtensions(ExtensionRegistry registry,
@@ -107,7 +107,7 @@
     }
     public static void addExtensions(ExtensionRegistry registry,
                                      Class<?> parentType,
-                                     Class<? extends TExtensibilityElementImpl> cls,
+                                     Class<? extends ExtensibilityElement> cls,
                                      String namespace) throws JAXBException {
         
         JAXBExtensionHelper helper = new JAXBExtensionHelper(cls, namespace);

Modified: cxf/trunk/common/xjc/dv-test/pom.xml
URL: http://svn.apache.org/viewvc/cxf/trunk/common/xjc/dv-test/pom.xml?rev=791482&r1=791481&r2=791482&view=diff
==============================================================================
--- cxf/trunk/common/xjc/dv-test/pom.xml (original)
+++ cxf/trunk/common/xjc/dv-test/pom.xml Mon Jul  6 13:45:47 2009
@@ -97,6 +97,11 @@
                         <artifactId>cxf-xjc-ts</artifactId>
                         <version>${project.version}</version>
                     </dependency>
+                    <dependency>
+                        <groupId>org.apache.cxf</groupId>
+                        <artifactId>cxf-xjc-wsdlextension</artifactId>
+                        <version>${project.version}</version>
+                    </dependency>
                 </dependencies>
             </plugin>
         </plugins>

Modified: cxf/trunk/common/xjc/pom.xml
URL: http://svn.apache.org/viewvc/cxf/trunk/common/xjc/pom.xml?rev=791482&r1=791481&r2=791482&view=diff
==============================================================================
--- cxf/trunk/common/xjc/pom.xml (original)
+++ cxf/trunk/common/xjc/pom.xml Mon Jul  6 13:45:47 2009
@@ -35,8 +35,10 @@
     <modules>
         <module>dv</module>
         <module>ts</module>
+        <module>wsdlextension</module>
         <module>dv-test</module>
         <module>ts-test</module>
+        <module>wsdlextension-test</module>
     </modules>
 
 

Modified: cxf/trunk/common/xjc/ts-test/pom.xml
URL: http://svn.apache.org/viewvc/cxf/trunk/common/xjc/ts-test/pom.xml?rev=791482&r1=791481&r2=791482&view=diff
==============================================================================
--- cxf/trunk/common/xjc/ts-test/pom.xml (original)
+++ cxf/trunk/common/xjc/ts-test/pom.xml Mon Jul  6 13:45:47 2009
@@ -94,6 +94,11 @@
                         <artifactId>cxf-xjc-ts</artifactId>
                         <version>${project.version}</version>
                     </dependency>
+                    <dependency>
+                        <groupId>org.apache.cxf</groupId>
+                        <artifactId>cxf-xjc-wsdlextension</artifactId>
+                        <version>${project.version}</version>
+                    </dependency>
                 </dependencies>
             </plugin>
         </plugins>

Added: cxf/trunk/common/xjc/wsdlextension-test/pom.xml
URL: http://svn.apache.org/viewvc/cxf/trunk/common/xjc/wsdlextension-test/pom.xml?rev=791482&view=auto
==============================================================================
--- cxf/trunk/common/xjc/wsdlextension-test/pom.xml (added)
+++ cxf/trunk/common/xjc/wsdlextension-test/pom.xml Mon Jul  6 13:45:47 2009
@@ -0,0 +1,113 @@
+<!--
+  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.
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <groupId>org.apache.cxf</groupId>
+    <artifactId>cxf-xjc-wsdlextension-test</artifactId>
+    <packaging>jar</packaging>
+    <version>2.3.0-SNAPSHOT</version>
+    <name>Apache CXF XJC WSDL Extension Plugin Tests</name>
+    <url>http://cxf.apache.org</url>
+
+    <parent>
+        <groupId>org.apache.cxf</groupId>
+        <artifactId>cxf-parent</artifactId>
+        <version>2.3.0-SNAPSHOT</version>
+        <relativePath>../../../parent/pom.xml</relativePath>
+    </parent>
+
+    <dependencies>
+
+        <dependency>
+            <groupId>javax.xml.bind</groupId>
+            <artifactId>jaxb-api</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>com.sun.xml.bind</groupId>
+            <artifactId>jaxb-impl</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>com.sun.xml.bind</groupId>
+            <artifactId>jaxb-xjc</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>junit</groupId>
+            <artifactId>junit</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.cxf</groupId>
+            <artifactId>cxf-common-utilities</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+        <dependency>
+           <groupId>commons-lang</groupId>
+           <artifactId>commons-lang</artifactId>
+        </dependency>
+    </dependencies>
+
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.codehaus.mojo</groupId>
+                <artifactId>jaxb2-maven-plugin</artifactId>
+                <version>1.2</version>
+                <executions>
+                    <execution>
+                        <goals>
+                            <goal>xjc</goal>
+                        </goals>
+                    </execution>
+                </executions>
+                <configuration>
+                    <outputDirectory>${basedir}/target/generated/src/test/java</outputDirectory>
+                    <schemaDirectory>${basedir}/src/test/resources/schemas/configuration</schemaDirectory>
+                    <arguments>-Xwsdlextension</arguments>
+                    <extension>true</extension>
+                    <quiet>true</quiet>
+                </configuration>
+
+                <dependencies>
+                    <dependency>
+                        <groupId>org.apache.cxf</groupId>
+                        <artifactId>cxf-xjc-dv</artifactId>
+                        <version>${project.version}</version>
+                    </dependency>
+                    <dependency>
+                        <groupId>org.apache.cxf</groupId>
+                        <artifactId>cxf-xjc-ts</artifactId>
+                        <version>${project.version}</version>
+                    </dependency>
+                    <dependency>
+                        <groupId>org.apache.cxf</groupId>
+                        <artifactId>cxf-xjc-wsdlextension</artifactId>
+                        <version>${project.version}</version>
+                    </dependency>
+                </dependencies>
+            </plugin>
+        </plugins>
+    </build>
+
+
+    <scm>
+        <connection>scm:svn:http://svn.apache.org/repos/asf/cxf/trunk/common/xjc/wsdlextension-test</connection>
+        <developerConnection>scm:svn:https://svn.apache.org/repos/asf/cxf/trunk/common/xjc/wsdlextension-test</developerConnection>
+    </scm>
+
+</project>

Propchange: cxf/trunk/common/xjc/wsdlextension-test/pom.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: cxf/trunk/common/xjc/wsdlextension-test/pom.xml
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Propchange: cxf/trunk/common/xjc/wsdlextension-test/pom.xml
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Added: cxf/trunk/common/xjc/wsdlextension-test/src/test/java/org/apache/cxf/xjc/wsdlextension/WSDLExtensionTest.java
URL: http://svn.apache.org/viewvc/cxf/trunk/common/xjc/wsdlextension-test/src/test/java/org/apache/cxf/xjc/wsdlextension/WSDLExtensionTest.java?rev=791482&view=auto
==============================================================================
--- cxf/trunk/common/xjc/wsdlextension-test/src/test/java/org/apache/cxf/xjc/wsdlextension/WSDLExtensionTest.java (added)
+++ cxf/trunk/common/xjc/wsdlextension-test/src/test/java/org/apache/cxf/xjc/wsdlextension/WSDLExtensionTest.java Mon Jul  6 13:45:47 2009
@@ -0,0 +1,48 @@
+/**
+ * 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.xjc.wsdlextension;
+
+import java.lang.reflect.Type;
+
+import org.apache.cxf.configuration.foo.Foo;
+
+import org.junit.Assert;
+import org.junit.Test;
+
+public class WSDLExtensionTest extends Assert {
+
+    @Test
+    public void testFooToStringOverride() throws Exception {
+
+        Foo foo = new org.apache.cxf.configuration.foo.ObjectFactory().createFoo();
+
+        Type[] interfaces = foo.getClass().getGenericInterfaces();
+        boolean extensibilityElementExist = false;
+        for (int i = 0; i < interfaces.length; i++) {
+            Type inter = interfaces[i];
+            if (inter.toString().equals("interface javax.wsdl.extensions.ExtensibilityElement")) {
+                extensibilityElementExist = true;
+                break;
+            }
+        }
+
+        assertTrue("The interface ExtensibilityElement should be used.", extensibilityElementExist);
+    }
+}

Propchange: cxf/trunk/common/xjc/wsdlextension-test/src/test/java/org/apache/cxf/xjc/wsdlextension/WSDLExtensionTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: cxf/trunk/common/xjc/wsdlextension-test/src/test/java/org/apache/cxf/xjc/wsdlextension/WSDLExtensionTest.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: cxf/trunk/common/xjc/wsdlextension-test/src/test/resources/schemas/configuration/foo.xsd
URL: http://svn.apache.org/viewvc/cxf/trunk/common/xjc/wsdlextension-test/src/test/resources/schemas/configuration/foo.xsd?rev=791482&view=auto
==============================================================================
--- cxf/trunk/common/xjc/wsdlextension-test/src/test/resources/schemas/configuration/foo.xsd (added)
+++ cxf/trunk/common/xjc/wsdlextension-test/src/test/resources/schemas/configuration/foo.xsd Mon Jul  6 13:45:47 2009
@@ -0,0 +1,139 @@
+<?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.
+-->
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://cxf.apache.org/configuration/foo" targetNamespace="http://cxf.apache.org/configuration/foo" elementFormDefault="qualified">
+
+    <xs:element name="foo" type="tns:foo"/>
+    
+    <xs:simpleType name="celsius">
+        <xs:restriction base="xs:int">
+            <xs:minExclusive value="-273"/>
+        </xs:restriction>
+    </xs:simpleType>
+    
+    <xs:simpleType name="cel">
+        <xs:restriction base="tns:celsius">
+            <xs:minExclusive value="0"/>
+        </xs:restriction>
+    </xs:simpleType>
+
+    <xs:complexType name="foo">        
+        <xs:sequence>
+            <xs:element name="stringElem" type="xs:string" default="hello" minOccurs="0"></xs:element>
+            <xs:element name="booleanElem" type="xs:boolean" default="true" minOccurs="0"></xs:element>
+            <xs:element name="integerElem" type="xs:integer" default="11" minOccurs="0"></xs:element>
+            <xs:element name="intElem" type="xs:int" default="12" minOccurs="0"></xs:element>
+            <xs:element name="longElem" type="xs:long" default="13" minOccurs="0"></xs:element>
+            <xs:element name="shortElem" type="xs:short" default="14" minOccurs="0"></xs:element>
+            <xs:element name="decimalElem" type="xs:decimal" default="15" minOccurs="0"></xs:element>
+            <xs:element name="floatElem" type="xs:float" default="16" minOccurs="0"></xs:element>
+            <xs:element name="doubleElem" type="xs:double" default="17" minOccurs="0"></xs:element>
+            <xs:element name="byteElem" type="xs:byte" default="18" minOccurs="0"></xs:element>
+            <xs:element name="qnameElem" type="xs:QName" default="xs:string" minOccurs="0"></xs:element>
+            <xs:element name="base64BinaryElem" type="xs:base64Binary" default="abcdefgh" minOccurs="0"></xs:element>
+            <xs:element name="hexBinaryElem" type="xs:hexBinary" default="ffff" minOccurs="0"></xs:element>
+            <xs:element name="unsignedIntElem" type="xs:unsignedInt" default="19" minOccurs="0"></xs:element>
+            <xs:element name="unsignedShortElem" type="xs:unsignedShort" default="20" minOccurs="0"></xs:element>
+            <xs:element name="unsignedByteElem" type="xs:unsignedByte" default="21" minOccurs="0"></xs:element>
+            <xs:element name="durationElem" type="xs:duration" default="PT3H" minOccurs="0"></xs:element>
+            <xs:element name="temperature" type="tns:celsius" default="37" minOccurs="0"></xs:element>
+            <xs:element name="roomTemperature" type="tns:cel" default="38" minOccurs="0"></xs:element>
+            
+            <xs:element name="point" type="tns:point" minOccurs="0"></xs:element>
+
+            <xs:element name="address" minOccurs="0">
+              <xs:complexType>
+                <xs:sequence>
+                    <xs:element name="city" type="xs:string"></xs:element>
+                    <xs:element name="zip" type="xs:int"></xs:element>
+                    <xs:element name="street" type="xs:string"></xs:element>
+                    <xs:element name="nr" type="xs:int"></xs:element>
+                </xs:sequence>
+              </xs:complexType>
+            </xs:element>
+        </xs:sequence>
+
+        <xs:attribute name="stringAttr" type="xs:string" default="hello"/>
+        <xs:attribute name="booleanAttr" type="xs:boolean" default="true"/>
+        <xs:attribute name="integerAttr" type="xs:integer" default="111"/>
+        <xs:attribute name="intAttr" type="xs:int" default="112"/>
+        <xs:attribute name="longAttr" type="xs:long" default="113"/>
+        <xs:attribute name="shortAttr" type="xs:short" default="114"/>
+        <xs:attribute name="decimalAttr" type="xs:decimal" default="115"/>
+        <xs:attribute name="floatAttr" type="xs:float" default="116"/>
+        <xs:attribute name="doubleAttr" type="xs:double" default="117"/>
+        <xs:attribute name="byteAttr" type="xs:byte" default="118"/>
+        <xs:attribute name="qnameAttr" type="xs:QName" default="xs:schema"/>
+        <xs:attribute name="base64BinaryAttr" type="xs:base64Binary" default="wxyz"/>
+        <xs:attribute name="hexBinaryAttr" type="xs:hexBinary" default="aaaa"/>
+        <xs:attribute name="unsignedIntAttr" type="xs:unsignedInt" default="119"/>
+        <xs:attribute name="unsignedShortAttr" type="xs:unsignedShort" default="120"/>
+        <xs:attribute name="unsignedByteAttr" type="xs:unsignedByte" default="121"/>
+        <xs:attribute name="durationAttr" type="xs:duration" default="PT3S"/>
+        
+        <xs:attribute name="stringAttrNoDefault" type="xs:string"/>
+        <xs:attribute name="booleanAttrNoDefault" type="xs:boolean"/>
+        <xs:attribute name="integerAttrNoDefault" type="xs:integer"/>
+        <xs:attribute name="intAttrNoDefault" type="xs:int"/>
+        <xs:attribute name="longAttrNoDefault" type="xs:long"/>
+        <xs:attribute name="shortAttrNoDefault" type="xs:short"/>
+        <xs:attribute name="decimalAttrNoDefault" type="xs:decimal"/>
+        <xs:attribute name="floatAttrNoDefault" type="xs:float"/>
+        <xs:attribute name="doubleAttrNoDefault" type="xs:double"/>
+        <xs:attribute name="byteAttrNoDefault" type="xs:byte"/>
+        <xs:attribute name="qnameAttrNoDefault" type="xs:QName"/>
+        <xs:attribute name="base64BinaryAttrNoDefault" type="xs:base64Binary"/>
+        <xs:attribute name="hexBinaryAttrNoDefault" type="xs:hexBinary"/>
+        <xs:attribute name="unsignedIntAttrNoDefault" type="xs:unsignedInt"/>
+        <xs:attribute name="unsignedShortAttrNoDefault" type="xs:unsignedShort"/>
+        <xs:attribute name="unsignedByteAttrNoDefault" type="xs:unsignedByte"/>
+        <xs:attribute name="durationAttrNoDefault" type="xs:duration"/>
+    </xs:complexType>
+    
+    <xs:complexType name="point">
+        <xs:sequence>
+            <xs:element name="x" type="xs:int"></xs:element>
+            <xs:element name="y" type="xs:int"></xs:element>
+        </xs:sequence>
+    </xs:complexType>    
+
+    <xs:simpleType name="TpAddressPresentation">
+     <xs:restriction base="xs:string">
+       <xs:enumeration value="P_ADDRESS_PRESENTATION_UNDEFINED"/>
+       <xs:enumeration value="P_ADDRESS_PRESENTATION_ALLOWED"/>
+       <xs:enumeration value="P_ADDRESS_PRESENTATION_RESTRICTED"/>
+       <xs:enumeration value="P_ADDRESS_PRESENTATION_ADDRESS_NOT_AVAILABLE"/>
+     </xs:restriction>
+   </xs:simpleType>
+
+   <xs:complexType name="TpAddress">
+    <xs:complexContent>
+      <xs:restriction base="xs:anyType">
+        <xs:sequence>
+          <xs:element name="AddrString" type="xs:string"/>
+          <xs:element name="Name" type="xs:string"/>
+          <xs:element name="Presentation" type="tns:TpAddressPresentation"/>
+          <xs:element name="SubAddressString" type="xs:string"/>
+          <xs:element name="afoo" type ="tns:foo"/>
+        </xs:sequence>
+      </xs:restriction>
+    </xs:complexContent>
+  </xs:complexType>
+
+</xs:schema>

Propchange: cxf/trunk/common/xjc/wsdlextension-test/src/test/resources/schemas/configuration/foo.xsd
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: cxf/trunk/common/xjc/wsdlextension-test/src/test/resources/schemas/configuration/foo.xsd
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Propchange: cxf/trunk/common/xjc/wsdlextension-test/src/test/resources/schemas/configuration/foo.xsd
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Added: cxf/trunk/common/xjc/wsdlextension/pom.xml
URL: http://svn.apache.org/viewvc/cxf/trunk/common/xjc/wsdlextension/pom.xml?rev=791482&view=auto
==============================================================================
--- cxf/trunk/common/xjc/wsdlextension/pom.xml (added)
+++ cxf/trunk/common/xjc/wsdlextension/pom.xml Mon Jul  6 13:45:47 2009
@@ -0,0 +1,64 @@
+<!--
+  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.
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <groupId>org.apache.cxf</groupId>
+    <artifactId>cxf-xjc-wsdlextension</artifactId>
+    <packaging>jar</packaging>
+    <version>2.3.0-SNAPSHOT</version>
+    <name>Apache CXF XJC WSDL Extension Plugin</name>
+    <url>http://cxf.apache.org</url>
+
+    <parent>
+        <groupId>org.apache.cxf</groupId>
+        <artifactId>cxf-parent</artifactId>
+        <version>2.3.0-SNAPSHOT</version>
+        <relativePath>../../../parent/pom.xml</relativePath>
+    </parent>
+
+    <properties>
+        <maven.test.skip>true</maven.test.skip>
+    </properties>
+
+    <dependencies>
+        <dependency>
+            <groupId>org.apache.cxf</groupId>
+            <artifactId>cxf-common-utilities</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>com.sun.xml.bind</groupId>
+            <artifactId>jaxb-xjc</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>com.sun.xml.bind</groupId>
+            <artifactId>jaxb-impl</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>commons-lang</groupId>
+            <artifactId>commons-lang</artifactId>
+        </dependency>
+    </dependencies>
+
+    <scm>
+        <connection>scm:svn:http://svn.apache.org/repos/asf/cxf/trunk/common/xjc/wsdlextension</connection>
+        <developerConnection>scm:svn:https://svn.apache.org/repos/asf/cxf/trunk/common/xjc/wsdlextension</developerConnection>
+    </scm>
+
+</project>

Propchange: cxf/trunk/common/xjc/wsdlextension/pom.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: cxf/trunk/common/xjc/wsdlextension/pom.xml
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Propchange: cxf/trunk/common/xjc/wsdlextension/pom.xml
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Added: cxf/trunk/common/xjc/wsdlextension/src/main/java/com/sun/tools/xjc/addon/apache_cxf/wsdlextension/WSDLExtensionPlugin.java
URL: http://svn.apache.org/viewvc/cxf/trunk/common/xjc/wsdlextension/src/main/java/com/sun/tools/xjc/addon/apache_cxf/wsdlextension/WSDLExtensionPlugin.java?rev=791482&view=auto
==============================================================================
--- cxf/trunk/common/xjc/wsdlextension/src/main/java/com/sun/tools/xjc/addon/apache_cxf/wsdlextension/WSDLExtensionPlugin.java (added)
+++ cxf/trunk/common/xjc/wsdlextension/src/main/java/com/sun/tools/xjc/addon/apache_cxf/wsdlextension/WSDLExtensionPlugin.java Mon Jul  6 13:45:47 2009
@@ -0,0 +1,72 @@
+/**
+ * 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 com.sun.tools.xjc.addon.apache_cxf.wsdlextension;
+
+import java.io.IOException;
+
+import org.xml.sax.ErrorHandler;
+import org.xml.sax.SAXException;
+
+import com.sun.tools.xjc.BadCommandLineException;
+import com.sun.tools.xjc.Options;
+import com.sun.tools.xjc.Plugin;
+import com.sun.tools.xjc.outline.Outline;
+
+import org.apache.cxf.xjc.wsdlextension.WSDLExtension;
+
+public class WSDLExtensionPlugin extends Plugin {
+    
+    WSDLExtension impl = new WSDLExtension();
+    
+    /* (non-Javadoc)
+     * @see com.sun.tools.xjc.Plugin#getOptionName()
+     */
+    @Override
+    public String getOptionName() {
+        return impl.getOptionName();
+    }
+
+    /* (non-Javadoc)
+     * @see com.sun.tools.xjc.Plugin#getUsage()
+     */
+    @Override
+    public String getUsage() {
+        return impl.getUsage();
+    }
+
+    /* (non-Javadoc)
+     * @see com.sun.tools.xjc.Plugin#run(com.sun.tools.xjc.outline.Outline,
+     *   com.sun.tools.xjc.Options, org.xml.sax.ErrorHandler)
+     */
+    @Override
+    public boolean run(Outline outline, Options opt, ErrorHandler errorHandler) throws SAXException {
+        return impl.run(outline, opt, errorHandler);
+    }
+
+    /* (non-Javadoc)
+     * @see com.sun.tools.xjc.Plugin#parseArgument(com.sun.tools.xjc.Options, java.lang.String[], int)
+     */
+    @Override
+    public int parseArgument(Options opt, String[] args, int index) 
+        throws BadCommandLineException, IOException {
+        
+        return impl.parseArgument(opt, args, index);
+    }
+}

Propchange: cxf/trunk/common/xjc/wsdlextension/src/main/java/com/sun/tools/xjc/addon/apache_cxf/wsdlextension/WSDLExtensionPlugin.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: cxf/trunk/common/xjc/wsdlextension/src/main/java/com/sun/tools/xjc/addon/apache_cxf/wsdlextension/WSDLExtensionPlugin.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: cxf/trunk/common/xjc/wsdlextension/src/main/java/org/apache/cxf/xjc/wsdlextension/Messages.properties
URL: http://svn.apache.org/viewvc/cxf/trunk/common/xjc/wsdlextension/src/main/java/org/apache/cxf/xjc/wsdlextension/Messages.properties?rev=791482&view=auto
==============================================================================
--- cxf/trunk/common/xjc/wsdlextension/src/main/java/org/apache/cxf/xjc/wsdlextension/Messages.properties (added)
+++ cxf/trunk/common/xjc/wsdlextension/src/main/java/org/apache/cxf/xjc/wsdlextension/Messages.properties Mon Jul  6 13:45:47 2009
@@ -0,0 +1,20 @@
+#
+#
+#    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.
+#
+#

Propchange: cxf/trunk/common/xjc/wsdlextension/src/main/java/org/apache/cxf/xjc/wsdlextension/Messages.properties
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: cxf/trunk/common/xjc/wsdlextension/src/main/java/org/apache/cxf/xjc/wsdlextension/Messages.properties
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Propchange: cxf/trunk/common/xjc/wsdlextension/src/main/java/org/apache/cxf/xjc/wsdlextension/Messages.properties
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: cxf/trunk/common/xjc/wsdlextension/src/main/java/org/apache/cxf/xjc/wsdlextension/WSDLExtension.java
URL: http://svn.apache.org/viewvc/cxf/trunk/common/xjc/wsdlextension/src/main/java/org/apache/cxf/xjc/wsdlextension/WSDLExtension.java?rev=791482&view=auto
==============================================================================
--- cxf/trunk/common/xjc/wsdlextension/src/main/java/org/apache/cxf/xjc/wsdlextension/WSDLExtension.java (added)
+++ cxf/trunk/common/xjc/wsdlextension/src/main/java/org/apache/cxf/xjc/wsdlextension/WSDLExtension.java Mon Jul  6 13:45:47 2009
@@ -0,0 +1,106 @@
+/**
+ * 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.xjc.wsdlextension;
+
+import java.io.IOException;
+import java.util.logging.Logger;
+
+import javax.wsdl.extensions.ExtensibilityElement;
+import javax.xml.bind.annotation.XmlAttribute;
+import javax.xml.bind.annotation.XmlTransient;
+import javax.xml.namespace.QName;
+
+import org.xml.sax.ErrorHandler;
+
+import com.sun.codemodel.JAnnotationUse;
+import com.sun.codemodel.JDefinedClass;
+import com.sun.codemodel.JExpr;
+import com.sun.codemodel.JFieldVar;
+import com.sun.codemodel.JMethod;
+import com.sun.codemodel.JMod;
+import com.sun.codemodel.JPrimitiveType;
+import com.sun.tools.xjc.BadCommandLineException;
+import com.sun.tools.xjc.Options;
+import com.sun.tools.xjc.outline.ClassOutline;
+import com.sun.tools.xjc.outline.Outline;
+
+import org.apache.cxf.common.logging.LogUtils;
+
+public class WSDLExtension {
+
+    private static final Logger LOG = LogUtils.getL7dLogger(WSDLExtension.class);
+
+    public String getOptionName() {
+        return "Xwsdlextension";
+    }
+
+    public String getUsage() {
+        return "  -Xwsdlextension               "
+               + ":Activate plugin to add wsdl extension methods to generated root classes\n";
+    }
+
+    public int parseArgument(Options opt, String[] args, int index) throws BadCommandLineException,
+        IOException {
+        int ret = 0;
+        if (args[index].equals("-Xwsdlextension")) {
+            ret = 1;
+        }
+        return ret;
+    }
+
+    public boolean run(Outline outline, Options opt, ErrorHandler errorHandler) {
+        LOG.fine("Running WSDLExtension plugin.");
+
+        for (ClassOutline co : outline.getClasses()) {
+            addWSDLExtension(co);
+        }
+        return true;
+    }
+
+    private void addWSDLExtension(ClassOutline co) {
+        final JDefinedClass implementation = co.implClass;
+        implementation._implements(ExtensibilityElement.class);
+
+        JFieldVar elementTypeVar = implementation.field(JMod.PROTECTED, QName.class, "elementType");
+        elementTypeVar.annotate(XmlTransient.class);
+
+        JFieldVar requiredVar = implementation.field(JMod.PROTECTED, Boolean.class, "required");
+        JAnnotationUse requiredAnnotation = requiredVar.annotate(XmlAttribute.class);
+        requiredAnnotation.param("namespace", "http://schemas.xmlsoap.org/wsdl/");
+
+        JMethod getElementTypeMethod = implementation.method(JMod.PUBLIC, QName.class,
+                                                             "getElementType");
+        getElementTypeMethod.body()._return(JExpr.direct("elementType"));
+
+        JMethod setElementTypeMethod = implementation.method(JMod.PUBLIC, JPrimitiveType.parse(co
+            .parent().getCodeModel(), "void"), "setElementType");
+        setElementTypeMethod.param(QName.class, "type");
+        setElementTypeMethod.body().directStatement("this.elementType = type;");
+
+        JMethod getRequiredMethod = implementation.method(JMod.PUBLIC, Boolean.class,
+                                                             "getRequired");
+        getRequiredMethod.body()._return(JExpr.direct("required == null ? false : required"));
+
+        JMethod setRequiredMethod = implementation.method(JMod.PUBLIC, JPrimitiveType.parse(co
+            .parent().getCodeModel(), "void"), "setRequired");
+        setRequiredMethod.param(Boolean.class, "required");
+        setRequiredMethod.body().directStatement("this.required = required;");
+    }
+}

Propchange: cxf/trunk/common/xjc/wsdlextension/src/main/java/org/apache/cxf/xjc/wsdlextension/WSDLExtension.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: cxf/trunk/common/xjc/wsdlextension/src/main/java/org/apache/cxf/xjc/wsdlextension/WSDLExtension.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: cxf/trunk/common/xjc/wsdlextension/src/main/resources/META-INF/services/com.sun.tools.xjc.Plugin
URL: http://svn.apache.org/viewvc/cxf/trunk/common/xjc/wsdlextension/src/main/resources/META-INF/services/com.sun.tools.xjc.Plugin?rev=791482&view=auto
==============================================================================
--- cxf/trunk/common/xjc/wsdlextension/src/main/resources/META-INF/services/com.sun.tools.xjc.Plugin (added)
+++ cxf/trunk/common/xjc/wsdlextension/src/main/resources/META-INF/services/com.sun.tools.xjc.Plugin Mon Jul  6 13:45:47 2009
@@ -0,0 +1 @@
+com.sun.tools.xjc.addon.apache_cxf.wsdlextension.WSDLExtensionPlugin

Modified: cxf/trunk/rt/transports/jms/pom.xml
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/transports/jms/pom.xml?rev=791482&r1=791481&r2=791482&view=diff
==============================================================================
--- cxf/trunk/rt/transports/jms/pom.xml (original)
+++ cxf/trunk/rt/transports/jms/pom.xml Mon Jul  6 13:45:47 2009
@@ -22,7 +22,7 @@
     <artifactId>cxf-rt-transports-jms</artifactId>
     <packaging>jar</packaging>
     <version>2.3.0-SNAPSHOT</version>
-    <name>Apache CXF Runtime JMS Transport for SOAP/JMS Specification</name>
+    <name>Apache CXF Runtime JMS Transport</name>
     <url>http://cxf.apache.org</url>
 
     <parent>
@@ -91,6 +91,27 @@
         	<version>${spring.version}</version>
         </dependency>
 
+        <dependency>
+            <groupId>javax.xml.bind</groupId>
+            <artifactId>jaxb-api</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>com.sun.xml.bind</groupId>
+            <artifactId>jaxb-impl</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>com.sun.xml.bind</groupId>
+            <artifactId>jaxb-xjc</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.cxf</groupId>
+            <artifactId>cxf-common-utilities</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+        <dependency>
+           <groupId>commons-lang</groupId>
+           <artifactId>commons-lang</artifactId>
+        </dependency>
     </dependencies>
 
     <build>
@@ -122,14 +143,6 @@
                                         <deleteDir>${basedir}/target/generated/src/main/java/org/apache/cxf/wsdl</deleteDir>
                                     </deleteDirs>
                                 </xsdOption>
-                                <xsdOption>
-                                    <xsd>${basedir}/src/main/resources/schemas/wsdl/jms-spec.xsd</xsd>
-                                    <bindingFile>${basedir}/src/main/resources/schemas/wsdl/jms-spec.xjb</bindingFile>
-                                    <catalog>${basedir}/src/main/build-resources/catalog.cat</catalog>
-                                    <deleteDirs>
-                                        <deleteDir>${basedir}/target/generated/src/main/java/org/apache/cxf/wsdl</deleteDir>
-                                    </deleteDirs>
-                                </xsdOption>
                             </xsdOptions>
                         </configuration>
                         <goals>
@@ -138,6 +151,46 @@
                     </execution>
                 </executions>
             </plugin>
+            <plugin>
+                <groupId>org.codehaus.mojo</groupId>
+                <artifactId>jaxb2-maven-plugin</artifactId>
+                <version>1.2</version>
+                <executions>
+                    <execution>
+                        <goals>
+                            <goal>xjc</goal>
+                        </goals>
+                    </execution>
+                </executions>
+                <configuration>
+                	<clearOutputDir>false</clearOutputDir> 
+                	<packageName>org.apache.cxf.transport.jms.wsdl</packageName>
+                    <outputDirectory>${basedir}/target/generated/src/main/java</outputDirectory>
+                    <schemaDirectory>${basedir}/src/main/resources/schemas/wsdl/spec</schemaDirectory>
+                    <schemaFiles>jms-spec-wsdl.xsd</schemaFiles>
+                    <arguments>-Xwsdlextension</arguments>
+                    <extension>true</extension>
+                    <quiet>true</quiet>
+                </configuration>
+
+                <dependencies>
+                    <dependency>
+                        <groupId>org.apache.cxf</groupId>
+                        <artifactId>cxf-xjc-dv</artifactId>
+                        <version>${project.version}</version>
+                    </dependency>
+                    <dependency>
+                        <groupId>org.apache.cxf</groupId>
+                        <artifactId>cxf-xjc-ts</artifactId>
+                        <version>${project.version}</version>
+                    </dependency>
+                    <dependency>
+                        <groupId>org.apache.cxf</groupId>
+                        <artifactId>cxf-xjc-wsdlextension</artifactId>
+                        <version>${project.version}</version>
+                    </dependency>
+                </dependencies>
+            </plugin>
         </plugins>
     </build>
 

Modified: cxf/trunk/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSOldConfigHolder.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSOldConfigHolder.java?rev=791482&r1=791481&r2=791482&view=diff
==============================================================================
--- cxf/trunk/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSOldConfigHolder.java (original)
+++ cxf/trunk/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSOldConfigHolder.java Mon Jul  6 13:45:47 2009
@@ -32,11 +32,21 @@
 import org.apache.cxf.Bus;
 import org.apache.cxf.common.logging.LogUtils;
 import org.apache.cxf.configuration.Configurer;
+import org.apache.cxf.service.model.BindingInfo;
 import org.apache.cxf.service.model.EndpointInfo;
+import org.apache.cxf.service.model.ServiceInfo;
 import org.apache.cxf.transport.jms.spec.JMSSpecConstants;
 import org.apache.cxf.transport.jms.uri.JMSEndpoint;
 import org.apache.cxf.transport.jms.uri.JMSEndpointParser;
 import org.apache.cxf.transport.jms.uri.JMSURIConstants;
+import org.apache.cxf.transport.jms.wsdl.DeliveryModeType;
+import org.apache.cxf.transport.jms.wsdl.JndiConnectionFactoryNameType;
+import org.apache.cxf.transport.jms.wsdl.JndiContextParameterType;
+import org.apache.cxf.transport.jms.wsdl.JndiInitialContextFactoryType;
+import org.apache.cxf.transport.jms.wsdl.JndiURLType;
+import org.apache.cxf.transport.jms.wsdl.PriorityType;
+import org.apache.cxf.transport.jms.wsdl.ReplyToNameType;
+import org.apache.cxf.transport.jms.wsdl.TimeToLiveType;
 import org.springframework.jms.support.destination.JndiDestinationResolver;
 import org.springframework.jndi.JndiTemplate;
 
@@ -248,13 +258,12 @@
                                                                                     boolean isConduit) 
         throws IOException {
         JMSEndpoint endpoint = null;
-        try {
+        try {           
             endpoint = JMSEndpointParser.createEndpoint(endpointInfo.getAddress());
         } catch (Exception e) {
             throw new IOException(e.getMessage());
         }
-        // TODO Need to check if we need to retrieve configuration information that 
-        // was extracted from the WSDL
+        retrieveWSDLInformation(endpoint, endpointInfo);
         //address = endpointInfo.getTraversedExtensor(new AddressType(), AddressType.class); 
         clientConfig = endpointInfo.getTraversedExtensor(new ClientConfig(), ClientConfig.class);
         runtimePolicy = endpointInfo.getTraversedExtensor(new ClientBehaviorPolicyType(),
@@ -368,6 +377,93 @@
         return jmsConfig;
     }
 
+    /**
+     * @param endpoint
+     * @param ei
+     */
+    private void retrieveWSDLInformation(JMSEndpoint endpoint, EndpointInfo ei) {
+        JndiContextParameterType jndiContextParameterType = 
+            getWSDLExtensor(ei, JndiContextParameterType.class);
+        if (jndiContextParameterType != null 
+            && endpoint.getJndiParameters().get(jndiContextParameterType.getName()) == null) {
+            endpoint.putJndiParameter(jndiContextParameterType.getName().trim(),
+                                              jndiContextParameterType.getValue().trim());
+        }
+        
+        if (!endpoint.isSetJndiConnectionFactoryName()) {
+            JndiConnectionFactoryNameType jndiConnectionFactoryNameType = getWSDLExtensor(
+                ei, JndiConnectionFactoryNameType.class);
+            if (jndiConnectionFactoryNameType != null) {
+                endpoint.setJndiConnectionFactoryName(jndiConnectionFactoryNameType.getValue().trim());
+            }
+        }
+        if (!endpoint.isSetJndiInitialContextFactory()) {
+            JndiInitialContextFactoryType jndiInitialContextFactoryType = 
+                getWSDLExtensor(ei, JndiInitialContextFactoryType.class);
+            if (jndiInitialContextFactoryType != null) {
+                endpoint.setJndiInitialContextFactory(jndiInitialContextFactoryType.getValue().trim()); 
+            }
+        }
+        
+        if (!endpoint.isSetJndiURL()) {
+            JndiURLType jndiURLType = getWSDLExtensor(ei, JndiURLType.class);
+            if (jndiURLType != null) {
+                endpoint.setJndiURL(jndiURLType.getValue().trim());
+            }
+        }
+        
+        if (!endpoint.isSetDeliveryMode()) {
+            DeliveryModeType deliveryModeType = getWSDLExtensor(ei, DeliveryModeType.class);
+            if (deliveryModeType != null) {
+                String deliveryMode = deliveryModeType.getValue().trim();
+                endpoint.setDeliveryMode(org.apache.cxf.transport.jms.uri.DeliveryModeType
+                    .valueOf(deliveryMode));
+            }
+        }
+        
+        if (!endpoint.isSetPriority()) {
+            PriorityType priorityType = getWSDLExtensor(ei, PriorityType.class);
+            if (priorityType != null) {
+                endpoint.setPriority(priorityType.getValue());
+            }
+        }
+        
+        if (!endpoint.isSetTimeToLive()) {
+            TimeToLiveType timeToLiveType = getWSDLExtensor(ei, TimeToLiveType.class);
+            if (timeToLiveType != null) {
+                endpoint.setTimeToLive(timeToLiveType.getValue()); 
+            }
+        }
+        
+        if (!endpoint.isSetReplyToName()) {
+            ReplyToNameType replyToNameType = getWSDLExtensor(ei, ReplyToNameType.class);
+            if (replyToNameType != null) {
+                endpoint.setReplyToName(replyToNameType.getValue());
+            }
+        }
+    }
+
+    public <T> T getWSDLExtensor(EndpointInfo ei, Class<T> cls) {
+        ServiceInfo si = ei.getService();
+        BindingInfo bi = ei.getBinding();
+        
+        Object o = ei.getExtensor(cls);
+        if (o == null) {
+            o = si.getExtensor(cls);
+        }
+        if (o == null) {
+            o = bi.getExtensor(cls);
+        }
+        
+        if (o == null) {
+            return null;
+        }
+        if (cls.isInstance(o)) {
+            return cls.cast(o);
+        }
+        return null;
+    }
+    
     private static Properties getInitialContextEnv(JMSEndpoint endpoint) {
         Properties env = new Properties();
         env.put(Context.INITIAL_CONTEXT_FACTORY, endpoint.getJndiInitialContextFactory());

Modified: cxf/trunk/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSUtils.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSUtils.java?rev=791482&r1=791481&r2=791482&view=diff
==============================================================================
--- cxf/trunk/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSUtils.java (original)
+++ cxf/trunk/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSUtils.java Mon Jul  6 13:45:47 2009
@@ -389,6 +389,7 @@
             .get(JMSConstants.JMS_CLIENT_REQUEST_HEADERS);
         if (messageProperties == null) {
             messageProperties = new JMSMessageHeadersType();
+            outMessage.put(JMSConstants.JMS_CLIENT_REQUEST_HEADERS, messageProperties);
         }
         JMSUtils.prepareJMSProperties(messageProperties, outMessage, jmsConfig);
         JMSUtils.setJMSProperties(jmsMessage, messageProperties);

Modified: cxf/trunk/rt/transports/jms/src/main/resources/META-INF/cxf/bus-extensions.xml
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/transports/jms/src/main/resources/META-INF/cxf/bus-extensions.xml?rev=791482&r1=791481&r2=791482&view=diff
==============================================================================
--- cxf/trunk/rt/transports/jms/src/main/resources/META-INF/cxf/bus-extensions.xml (original)
+++ cxf/trunk/rt/transports/jms/src/main/resources/META-INF/cxf/bus-extensions.xml Mon Jul  6 13:45:47 2009
@@ -20,9 +20,9 @@
 <extensions xmlns="http://cxf.apache.org/bus/extension">
 
     <extension class="org.apache.cxf.transport.jms.JMSTransportFactory" deferred="true">
+    	<namespace>http://www.w3.org/2008/07/soap/bindings/JMS/</namespace>
         <namespace>http://cxf.apache.org/transports/jms</namespace>
         <namespace>http://cxf.apache.org/transports/jms/configuration</namespace>
-        <namespace>http://www.w3.org/2008/07/soap/bindings/JMS/</namespace>
     </extension>
         
 </extensions>

Modified: cxf/trunk/rt/transports/jms/src/main/resources/META-INF/cxf/cxf-extension-jms.xml
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/transports/jms/src/main/resources/META-INF/cxf/cxf-extension-jms.xml?rev=791482&r1=791481&r2=791482&view=diff
==============================================================================
--- cxf/trunk/rt/transports/jms/src/main/resources/META-INF/cxf/cxf-extension-jms.xml (original)
+++ cxf/trunk/rt/transports/jms/src/main/resources/META-INF/cxf/cxf-extension-jms.xml Mon Jul  6 13:45:47 2009
@@ -29,9 +29,9 @@
         <property name="bus" ref="cxf"/>
         <property name="transportIds">
             <list>
+            	<value>http://www.w3.org/2008/07/soap/bindings/JMS/</value>
                 <value>http://cxf.apache.org/transports/jms</value>
                 <value>http://cxf.apache.org/transports/jms/configuration</value>
-                <value>http://www.w3.org/2008/07/soap/bindings/JMS/</value>
             </list>
         </property>
     </bean>

Modified: cxf/trunk/rt/transports/jms/src/main/resources/META-INF/cxf/extensions.xml
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/transports/jms/src/main/resources/META-INF/cxf/extensions.xml?rev=791482&r1=791481&r2=791482&view=diff
==============================================================================
--- cxf/trunk/rt/transports/jms/src/main/resources/META-INF/cxf/extensions.xml (original)
+++ cxf/trunk/rt/transports/jms/src/main/resources/META-INF/cxf/extensions.xml Mon Jul  6 13:45:47 2009
@@ -26,4 +26,31 @@
     <entry key="org.apache.cxf.transport.jms-4">javax.wsdl.Port=org.apache.cxf.transport.jms.ClientConfig</entry>
     <entry key="org.apache.cxf.transport.jms-5">javax.wsdl.Port=org.apache.cxf.transport.jms.ServerConfig</entry>
     <entry key="org.apache.cxf.transport.jms-6">javax.wsdl.Port=org.apache.cxf.transport.jms.SessionPoolType</entry>
+
+    <entry key="org.apache.cxf.transport.jms.spec-binding-1">javax.wsdl.Binding=org.apache.cxf.transport.jms.wsdl.JndiContextParameterType</entry>
+    <entry key="org.apache.cxf.transport.jms.spec-binding-2">javax.wsdl.Binding=org.apache.cxf.transport.jms.wsdl.JndiConnectionFactoryNameType</entry>
+    <entry key="org.apache.cxf.transport.jms.spec-binding-3">javax.wsdl.Binding=org.apache.cxf.transport.jms.wsdl.JndiInitialContextFactoryType</entry>
+    <entry key="org.apache.cxf.transport.jms.spec-binding-4">javax.wsdl.Binding=org.apache.cxf.transport.jms.wsdl.JndiURLType</entry>
+    <entry key="org.apache.cxf.transport.jms.spec-binding-5">javax.wsdl.Binding=org.apache.cxf.transport.jms.wsdl.DeliveryModeType</entry>
+    <entry key="org.apache.cxf.transport.jms.spec-binding-6">javax.wsdl.Binding=org.apache.cxf.transport.jms.wsdl.PriorityType</entry>
+    <entry key="org.apache.cxf.transport.jms.spec-binding-7">javax.wsdl.Binding=org.apache.cxf.transport.jms.wsdl.TimeToLiveType</entry>
+    <entry key="org.apache.cxf.transport.jms.spec-binding-8">javax.wsdl.Binding=org.apache.cxf.transport.jms.wsdl.ReplyToNameType</entry>
+    
+    <entry key="org.apache.cxf.transport.jms.spec-port-1">javax.wsdl.Port=org.apache.cxf.transport.jms.wsdl.JndiContextParameterType</entry>
+    <entry key="org.apache.cxf.transport.jms.spec-port-2">javax.wsdl.Port=org.apache.cxf.transport.jms.wsdl.JndiConnectionFactoryNameType</entry>
+    <entry key="org.apache.cxf.transport.jms.spec-port-3">javax.wsdl.Port=org.apache.cxf.transport.jms.wsdl.JndiInitialContextFactoryType</entry>
+    <entry key="org.apache.cxf.transport.jms.spec-port-4">javax.wsdl.Port=org.apache.cxf.transport.jms.wsdl.JndiURLType</entry>
+    <entry key="org.apache.cxf.transport.jms.spec-port-5">javax.wsdl.Port=org.apache.cxf.transport.jms.wsdl.DeliveryModeType</entry>
+    <entry key="org.apache.cxf.transport.jms.spec-port-6">javax.wsdl.Port=org.apache.cxf.transport.jms.wsdl.PriorityType</entry>
+    <entry key="org.apache.cxf.transport.jms.spec-port-7">javax.wsdl.Port=org.apache.cxf.transport.jms.wsdl.TimeToLiveType</entry>
+    <entry key="org.apache.cxf.transport.jms.spec-port-8">javax.wsdl.Port=org.apache.cxf.transport.jms.wsdl.ReplyToNameType</entry>
+    
+    <entry key="org.apache.cxf.transport.jms.spec-service-1">javax.wsdl.Service=org.apache.cxf.transport.jms.wsdl.JndiContextParameterType</entry>
+    <entry key="org.apache.cxf.transport.jms.spec-service-2">javax.wsdl.Service=org.apache.cxf.transport.jms.wsdl.JndiConnectionFactoryNameType</entry>
+    <entry key="org.apache.cxf.transport.jms.spec-service-3">javax.wsdl.Service=org.apache.cxf.transport.jms.wsdl.JndiInitialContextFactoryType</entry>
+    <entry key="org.apache.cxf.transport.jms.spec-service-4">javax.wsdl.Service=org.apache.cxf.transport.jms.wsdl.JndiURLType</entry>
+    <entry key="org.apache.cxf.transport.jms.spec-service-5">javax.wsdl.Service=org.apache.cxf.transport.jms.wsdl.DeliveryModeType</entry>
+    <entry key="org.apache.cxf.transport.jms.spec-service-6">javax.wsdl.Service=org.apache.cxf.transport.jms.wsdl.PriorityType</entry>
+    <entry key="org.apache.cxf.transport.jms.spec-service-7">javax.wsdl.Service=org.apache.cxf.transport.jms.wsdl.TimeToLiveType</entry>
+    <entry key="org.apache.cxf.transport.jms.spec-service-8">javax.wsdl.Service=org.apache.cxf.transport.jms.wsdl.ReplyToNameType</entry>
 </properties>

Added: 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=791482&view=auto
==============================================================================
--- cxf/trunk/rt/transports/jms/src/main/resources/schemas/wsdl/spec/jms-spec-wsdl.xsd (added)
+++ cxf/trunk/rt/transports/jms/src/main/resources/schemas/wsdl/spec/jms-spec-wsdl.xsd Mon Jul  6 13:45:47 2009
@@ -0,0 +1,93 @@
+<?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.
+	-->
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
+	xmlns:soapjms="http://www.w3.org/2008/07/soap/bindings/JMS/"
+	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/"
+	elementFormDefault="qualified" jaxb:version="2.0">
+
+	<xs:element name="jndiContextParameter" type="soapjms:jndiContextParameterType" />
+	<xs:element name="jndiConnectionFactoryName" type="soapjms:jndiConnectionFactoryNameType" />
+	<xs:element name="jndiInitialContextFactory" type="soapjms:jndiInitialContextFactoryType" />
+	<xs:element name="jndiURL" type="soapjms:jndiURLType" />
+	<xs:element name="deliveryMode" type="soapjms:deliveryModeType" />
+	<xs:element name="priority" type="soapjms:priorityType" />
+	<xs:element name="timeToLive" type="soapjms:timeToLiveType" />
+	<xs:element name="replyToName" type="soapjms:replyToNameType" />
+
+
+	<!-- JMS specification for wsdl-->
+	<xs:complexType name="jndiConnectionFactoryNameType">
+		<xs:simpleContent>
+			<xs:extension base="xs:string">
+			</xs:extension>
+		</xs:simpleContent>
+	</xs:complexType>
+
+	<xs:complexType name="jndiInitialContextFactoryType">
+		<xs:simpleContent>
+			<xs:extension base="xs:string">
+			</xs:extension>
+		</xs:simpleContent>
+	</xs:complexType>
+
+	<xs:complexType name="jndiURLType">
+		<xs:simpleContent>
+			<xs:extension base="xs:anyURI">
+			</xs:extension>
+		</xs:simpleContent>
+	</xs:complexType>
+
+	<xs:complexType name="jndiContextParameterType">
+		<xs:attribute name="name" type="xs:string" use="required" />
+		<xs:attribute name="value" use="required">
+			<xs:simpleType>
+				<xs:restriction base="xs:string">
+					<xs:minLength value="1" />
+				</xs:restriction>
+			</xs:simpleType>
+		</xs:attribute>
+	</xs:complexType>
+
+	<xs:complexType name="deliveryModeType">
+		<xs:simpleContent>
+			<xs:extension base="xs:string">
+			</xs:extension>
+		</xs:simpleContent>
+	</xs:complexType>
+
+	<xs:complexType name="timeToLiveType">
+		<xs:simpleContent>
+			<xs:extension base="xs:long">
+			</xs:extension>
+		</xs:simpleContent>
+	</xs:complexType>
+
+	<xs:complexType name="priorityType">
+		<xs:simpleContent>
+			<xs:extension base="xs:int">
+			</xs:extension>
+		</xs:simpleContent>
+	</xs:complexType>
+
+	<xs:complexType name="replyToNameType">
+		<xs:simpleContent>
+			<xs:extension base="xs:string">
+			</xs:extension>
+		</xs:simpleContent>
+	</xs:complexType>
+</xs:schema>

Propchange: cxf/trunk/rt/transports/jms/src/main/resources/schemas/wsdl/spec/jms-spec-wsdl.xsd
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: cxf/trunk/rt/transports/jms/src/main/resources/schemas/wsdl/spec/jms-spec-wsdl.xsd
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Propchange: cxf/trunk/rt/transports/jms/src/main/resources/schemas/wsdl/spec/jms-spec-wsdl.xsd
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Modified: cxf/trunk/systests/src/test/java/org/apache/cxf/systest/jms/JMSClientServerTest.java
URL: http://svn.apache.org/viewvc/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/jms/JMSClientServerTest.java?rev=791482&r1=791481&r2=791482&view=diff
==============================================================================
--- cxf/trunk/systests/src/test/java/org/apache/cxf/systest/jms/JMSClientServerTest.java (original)
+++ cxf/trunk/systests/src/test/java/org/apache/cxf/systest/jms/JMSClientServerTest.java Mon Jul  6 13:45:47 2009
@@ -29,6 +29,7 @@
 import java.util.UUID;
 
 import javax.activation.DataHandler;
+import javax.jms.DeliveryMode;
 import javax.xml.namespace.QName;
 import javax.xml.ws.Binding;
 import javax.xml.ws.BindingProvider;
@@ -52,6 +53,7 @@
 import org.apache.cxf.jaxws.JaxWsProxyFactoryBean;
 import org.apache.cxf.jms_greeter.JMSGreeterPortType;
 import org.apache.cxf.jms_greeter.JMSGreeterService;
+import org.apache.cxf.jms_greeter.JMSGreeterService2;
 import org.apache.cxf.jms_mtom.JMSMTOMPortType;
 import org.apache.cxf.jms_mtom.JMSMTOMService;
 import org.apache.cxf.systest.jaxws.Hello;
@@ -805,6 +807,78 @@
         }
     }
     
+    @Test
+    public void testWsdlExtensionSpecJMS() throws Exception {
+        QName serviceName = getServiceName(new QName("http://cxf.apache.org/jms_greeter",
+                                                     "JMSGreeterService"));
+        QName portName = getPortName(new QName("http://cxf.apache.org/jms_greeter", "GreeterPort"));
+        URL wsdl = getWSDLURL("/wsdl/jms_spec_test.wsdl");
+        assertNotNull(wsdl);
+
+        JMSGreeterService service = new JMSGreeterService(wsdl, serviceName);
+        assertNotNull(service);
+
+        String response = new String("Bonjour");
+        try {
+            JMSGreeterPortType greeter = service.getPort(portName, JMSGreeterPortType.class);
+            InvocationHandler handler  = Proxy.getInvocationHandler(greeter);
+            BindingProvider  bp = null;
+            if (handler instanceof BindingProvider) {
+                bp = (BindingProvider)handler;                
+                Map<String, Object> requestContext = bp.getRequestContext();
+                JMSMessageHeadersType requestHeader = new JMSMessageHeadersType();
+                requestContext.put(JMSConstants.JMS_CLIENT_REQUEST_HEADERS, requestHeader);
+            } 
+            
+            String reply = greeter.sayHi();
+            assertNotNull("no response received from service", reply);
+            assertEquals(response, reply);
+            
+            if (handler instanceof BindingProvider) {
+                bp = (BindingProvider)handler;                
+                Map<String, Object> requestContext = bp.getRequestContext();
+                JMSMessageHeadersType requestHeader = (JMSMessageHeadersType)requestContext
+                    .get(JMSConstants.JMS_CLIENT_REQUEST_HEADERS);
+                assertEquals(requestHeader.getSOAPJMSBindingVersion(), "1.0");
+                assertEquals(requestHeader.getSOAPJMSSOAPAction(), "\"test\"");
+                assertEquals(requestHeader.getTimeToLive(), 3000);
+                assertEquals(requestHeader.getJMSDeliveryMode(), DeliveryMode.PERSISTENT);
+                assertEquals(requestHeader.getJMSPriority(), 7);
+                
+                Map<String, Object> responseContext = bp.getResponseContext();
+                JMSMessageHeadersType responseHeader = (JMSMessageHeadersType)responseContext
+                    .get(JMSConstants.JMS_CLIENT_RESPONSE_HEADERS);
+                assertEquals(responseHeader.getSOAPJMSBindingVersion(), "1.0");
+                assertEquals(responseHeader.getSOAPJMSSOAPAction(), null);
+                assertEquals(responseHeader.getJMSDeliveryMode(), DeliveryMode.PERSISTENT);
+                assertEquals(responseHeader.getJMSPriority(), 7);
+            } 
+            
+        } catch (UndeclaredThrowableException ex) {
+            throw (Exception)ex.getCause();
+        }
+    }
+    
+    @Test
+    public void testWsdlExtensionSpecJMSPortError() throws Exception {
+        QName serviceName = getServiceName(new QName("http://cxf.apache.org/jms_greeter",
+            "JMSGreeterService2"));
+                
+        URL wsdl = getWSDLURL("/wsdl/jms_spec_test.wsdl");
+        assertNotNull(wsdl);
+
+        JMSGreeterService2 service = new JMSGreeterService2(wsdl, serviceName);
+        assertNotNull(service);
+
+        String response = new String("Bonjour");
+
+        JMSGreeterPortType greeter = service.getGreeterPort2();
+        String reply = greeter.sayHi();
+        assertNotNull("no response received from service", reply);
+        assertEquals(response, reply);     
+       
+    }
+    
     @Test 
     public void testSpecNoWsdlService() throws Exception {
         String address = "jms:jndi:dynamicQueues/test.cxf.jmstransport.queue3"

Modified: cxf/trunk/systests/src/test/java/org/apache/cxf/systest/jms/Server.java
URL: http://svn.apache.org/viewvc/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/jms/Server.java?rev=791482&r1=791481&r2=791482&view=diff
==============================================================================
--- cxf/trunk/systests/src/test/java/org/apache/cxf/systest/jms/Server.java (original)
+++ cxf/trunk/systests/src/test/java/org/apache/cxf/systest/jms/Server.java Mon Jul  6 13:45:47 2009
@@ -73,6 +73,12 @@
                          + "&jndiConnectionFactoryName=ConnectionFactory&jndiURL=tcp://localhost:61500";
         Endpoint.publish(address1, spec1);
         
+        String address2 = "jms:jndi:dynamicQueues/test.cxf.jmstransport.queue5"
+            + "?jndiInitialContextFactory"
+            + "=org.apache.activemq.jndi.ActiveMQInitialContextFactory"
+            + "&jndiConnectionFactoryName=ConnectionFactory&jndiURL=tcp://localhost:61500";
+        Endpoint.publish(address2, spec1);
+        
         initNoWsdlServer();
     }
 

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=791482&r1=791481&r2=791482&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 Mon Jul  6 13:45:47 2009
@@ -26,7 +26,8 @@
     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:x1="http://cxf.apache.org/jms_greeter/types"
+    xmlns:soapjms="http://www.w3.org/2008/07/soap/bindings/JMS/">
     <wsdl:types>
         <schema targetNamespace="http://cxf.apache.org/jms_greeter/types" 
             xmlns="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
@@ -100,7 +101,21 @@
     
     <wsdl:binding name="JMSGreeterPortBinding" type="tns:JMSGreeterPortType">
         <soap:binding style="document" transport="http://www.w3.org/2008/07/soap/bindings/JMS/"/>
-       
+        
+        <soapjms:jndiContextParameter name="name"
+			value="value" />
+		<soapjms:jndiConnectionFactoryName>ConnectionFactory
+		</soapjms:jndiConnectionFactoryName>
+		<soapjms:jndiInitialContextFactory>
+			org.apache.activemq.jndi.ActiveMQInitialContextFactory
+		</soapjms:jndiInitialContextFactory>
+		<soapjms:jndiURL>tcp://localhost:61500
+		</soapjms:jndiURL>
+		<soapjms:deliveryMode>PERSISTENT</soapjms:deliveryMode>
+		<soapjms:priority>5</soapjms:priority>
+		<soapjms:timeToLive>1000</soapjms:timeToLive>
+		<!-- <soapjms:replyToName>replytoname</soapjms:replyToName> -->
+        
         <wsdl:operation name="greetMe">
             <soap:operation soapAction="test" style="document"/>
             <wsdl:input name="greetMeRequest">
@@ -130,8 +145,74 @@
     </wsdl:binding>
     
     <wsdl:service name="JMSGreeterService">
-           <wsdl:port binding="tns:JMSGreeterPortBinding" name="GreeterPort">
-               <soap:address location="jms:jndi:dynamicQueues/test.cxf.jmstransport.queue2?jndiInitialContextFactory=org.apache.activemq.jndi.ActiveMQInitialContextFactory&amp;jndiConnectionFactoryName=ConnectionFactory&amp;jndiURL=tcp://localhost:61500"/>
-           </wsdl:port>
+    	<soapjms:jndiContextParameter name="name2"
+			value="value2" />
+		<soapjms:jndiConnectionFactoryName>ConnectionFactory
+		</soapjms:jndiConnectionFactoryName>
+		<soapjms:jndiInitialContextFactory>
+			org.apache.activemq.jndi.ActiveMQInitialContextFactory
+		</soapjms:jndiInitialContextFactory>
+		<soapjms:jndiURL>tcp://localhost:61500
+		</soapjms:jndiURL>
+		<soapjms:deliveryMode>NON_PERSISTENT
+		</soapjms:deliveryMode>
+		<soapjms:priority>6</soapjms:priority>
+		<soapjms:timeToLive>2000</soapjms:timeToLive>
+		<!--<soapjms:replyToName>replytoname2</soapjms:replyToName>-->
+        <wsdl:port binding="tns:JMSGreeterPortBinding" name="GreeterPort">
+            <soap:address location="jms:jndi:dynamicQueues/test.cxf.jmstransport.queue2?jndiInitialContextFactory=org.apache.activemq.jndi.ActiveMQInitialContextFactory&amp;jndiConnectionFactoryName=ConnectionFactory&amp;jndiURL=tcp://localhost:61500"/>
+            <soapjms:jndiContextParameter name="name3"
+				value="value3" />
+			<soapjms:jndiConnectionFactoryName>ConnectionFactory
+			</soapjms:jndiConnectionFactoryName>
+			<soapjms:jndiInitialContextFactory>
+				org.apache.activemq.jndi.ActiveMQInitialContextFactory
+			</soapjms:jndiInitialContextFactory>
+			<soapjms:jndiURL>tcp://localhost:61500
+			</soapjms:jndiURL>
+			<soapjms:deliveryMode>PERSISTENT
+			</soapjms:deliveryMode>
+			<soapjms:priority>7</soapjms:priority>
+			<soapjms:timeToLive>3000</soapjms:timeToLive>
+			<!-- 
+			<soapjms:replyToName>replytoname3</soapjms:replyToName>
+			-->
+        </wsdl:port>
+    </wsdl:service>
+    
+    <wsdl:service name="JMSGreeterService2">
+    	<soapjms:jndiContextParameter name="name2"
+			value="value2" />
+		<soapjms:jndiConnectionFactoryName>ConnectionFactory
+		</soapjms:jndiConnectionFactoryName>
+		<soapjms:jndiInitialContextFactory>
+			org.apache.activemq.jndi.ActiveMQInitialContextFactory
+		</soapjms:jndiInitialContextFactory>
+		<soapjms:jndiURL>tcp://localhost:61500
+		</soapjms:jndiURL>
+		<soapjms:deliveryMode>NON_PERSISTENT
+		</soapjms:deliveryMode>
+		<soapjms:priority>6</soapjms:priority>
+		<soapjms:timeToLive>2000</soapjms:timeToLive>
+		<!--<soapjms:replyToName>replytoname2</soapjms:replyToName>-->
+        <wsdl:port binding="tns:JMSGreeterPortBinding" name="GreeterPort2">
+            <soap:address location="jms:jndi:dynamicQueues/test.cxf.jmstransport.queue5"/>
+            <!--soapjms:jndiConnectionFactoryName>ConnectionFactory
+			</soapjms:jndiConnectionFactoryName>            
+            <soapjms:jndiContextParameter name="name3"
+				value="value3" />
+			<soapjms:jndiInitialContextFactory>
+				org.apache.activemq.jndi.ActiveMQInitialContextFactory
+			</soapjms:jndiInitialContextFactory>
+			<soapjms:jndiURL>tcp://localhost:61500
+			</soapjms:jndiURL>
+			<soapjms:deliveryMode>PERSISTENT
+			</soapjms:deliveryMode>
+			<soapjms:priority>7</soapjms:priority>
+			<soapjms:timeToLive>3000</soapjms:timeToLive-->
+			<!-- 
+			<soapjms:replyToName>replytoname3</soapjms:replyToName>
+			-->
+        </wsdl:port>
     </wsdl:service>
 </wsdl:definitions>
\ No newline at end of file



Mime
View raw message