You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by ga...@apache.org on 2008/06/02 20:39:08 UTC

svn commit: r662510 - in /webservices/axis2/trunk/java/modules/jaxws-integration: ./ test/org/apache/axis2/jaxws/type_substitution/ test/org/apache/axis2/jaxws/type_substitution/jaxws/ test/org/apache/axis2/jaxws/type_substitution/tests/

Author: gawor
Date: Mon Jun  2 11:39:07 2008
New Revision: 662510

URL: http://svn.apache.org/viewvc?rev=662510&view=rev
Log:
added type substitution test case to demonstrate an issue with xsi:type attribute

Added:
    webservices/axis2/trunk/java/modules/jaxws-integration/test/org/apache/axis2/jaxws/type_substitution/
    webservices/axis2/trunk/java/modules/jaxws-integration/test/org/apache/axis2/jaxws/type_substitution/Apple.java   (with props)
    webservices/axis2/trunk/java/modules/jaxws-integration/test/org/apache/axis2/jaxws/type_substitution/AppleFinderImpl.java   (with props)
    webservices/axis2/trunk/java/modules/jaxws-integration/test/org/apache/axis2/jaxws/type_substitution/Freyburg.java   (with props)
    webservices/axis2/trunk/java/modules/jaxws-integration/test/org/apache/axis2/jaxws/type_substitution/Fuji.java   (with props)
    webservices/axis2/trunk/java/modules/jaxws-integration/test/org/apache/axis2/jaxws/type_substitution/jaxws/
    webservices/axis2/trunk/java/modules/jaxws-integration/test/org/apache/axis2/jaxws/type_substitution/jaxws/GetApples.java   (with props)
    webservices/axis2/trunk/java/modules/jaxws-integration/test/org/apache/axis2/jaxws/type_substitution/jaxws/GetApplesResponse.java   (with props)
    webservices/axis2/trunk/java/modules/jaxws-integration/test/org/apache/axis2/jaxws/type_substitution/tests/
    webservices/axis2/trunk/java/modules/jaxws-integration/test/org/apache/axis2/jaxws/type_substitution/tests/TypeSubstitutionTests.java   (with props)
Modified:
    webservices/axis2/trunk/java/modules/jaxws-integration/pom.xml

Modified: webservices/axis2/trunk/java/modules/jaxws-integration/pom.xml
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws-integration/pom.xml?rev=662510&r1=662509&r2=662510&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws-integration/pom.xml (original)
+++ webservices/axis2/trunk/java/modules/jaxws-integration/pom.xml Mon Jun  2 11:39:07 2008
@@ -878,6 +878,17 @@
                                         />
                                 <delete dir="target/test-classes/servicejars/AddressBookService"/>
 
+                                <copy toDir="target/test-classes/servicejars/AppleFinderService/">
+                                    <fileset dir="target/test-classes">
+                                        <include name="org/apache/axis2/jaxws/type_substitution/*"/>
+                                        <include name="org/apache/axis2/jaxws/type_substitution/jaxws/*"/>
+                                    </fileset>
+                                </copy>
+                                <zip destfile="target/test-classes/servicejars/AppleFinderService.jar"
+                                     basedir="${pom.basedir}/target/test-classes/servicejars/AppleFinderService"
+                                        />
+                                <delete dir="target/test-classes/servicejars/AppleFinderService"/>
+
                                 <copy toDir="target/test-classes/servicejars/MtomSampleService/">
                                     <fileset dir="target/test-classes">
                                         <include name="org/apache/axis2/jaxws/sample/mtom/**"/>

Added: webservices/axis2/trunk/java/modules/jaxws-integration/test/org/apache/axis2/jaxws/type_substitution/Apple.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws-integration/test/org/apache/axis2/jaxws/type_substitution/Apple.java?rev=662510&view=auto
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws-integration/test/org/apache/axis2/jaxws/type_substitution/Apple.java (added)
+++ webservices/axis2/trunk/java/modules/jaxws-integration/test/org/apache/axis2/jaxws/type_substitution/Apple.java Mon Jun  2 11:39:07 2008
@@ -0,0 +1,53 @@
+/**
+ * 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.axis2.jaxws.type_substitution;
+
+public abstract class Apple {
+
+    protected String color;
+    protected String flavor;
+    protected String type;
+
+    public String getColor() {
+        return color;
+    }
+
+    public void setColor(String arg) {
+        this.color = arg;
+    }
+
+    public String getFlavor() {
+        return flavor;
+    }
+
+    public void setFlavor(String fla) {
+        this.flavor = fla;
+    }
+
+    public void setType(String arg) {
+        this.type = arg;
+    }
+
+    public String getType() {
+        return type;
+    }
+
+    
+}

Propchange: webservices/axis2/trunk/java/modules/jaxws-integration/test/org/apache/axis2/jaxws/type_substitution/Apple.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: webservices/axis2/trunk/java/modules/jaxws-integration/test/org/apache/axis2/jaxws/type_substitution/AppleFinderImpl.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws-integration/test/org/apache/axis2/jaxws/type_substitution/AppleFinderImpl.java?rev=662510&view=auto
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws-integration/test/org/apache/axis2/jaxws/type_substitution/AppleFinderImpl.java (added)
+++ webservices/axis2/trunk/java/modules/jaxws-integration/test/org/apache/axis2/jaxws/type_substitution/AppleFinderImpl.java Mon Jun  2 11:39:07 2008
@@ -0,0 +1,39 @@
+/**
+ * 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.axis2.jaxws.type_substitution;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import javax.jws.WebService;
+import javax.xml.bind.annotation.XmlSeeAlso;
+
+@WebService(serviceName = "AppleFinderService",
+            portName = "AppleFinderPort", 
+            targetNamespace = "http://apple.org")
+@XmlSeeAlso({ Freyburg.class, Fuji.class })
+public class AppleFinderImpl { 
+
+    public List<Apple> getApples() {
+        List<Apple> apples = new ArrayList<Apple>();
+        apples.add(new Fuji("Red", "mild", "Japan"));
+        apples.add(new Freyburg("Yellow", "sweet", "early October"));
+        return apples;
+    }
+}

Propchange: webservices/axis2/trunk/java/modules/jaxws-integration/test/org/apache/axis2/jaxws/type_substitution/AppleFinderImpl.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: webservices/axis2/trunk/java/modules/jaxws-integration/test/org/apache/axis2/jaxws/type_substitution/Freyburg.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws-integration/test/org/apache/axis2/jaxws/type_substitution/Freyburg.java?rev=662510&view=auto
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws-integration/test/org/apache/axis2/jaxws/type_substitution/Freyburg.java (added)
+++ webservices/axis2/trunk/java/modules/jaxws-integration/test/org/apache/axis2/jaxws/type_substitution/Freyburg.java Mon Jun  2 11:39:07 2008
@@ -0,0 +1,46 @@
+/**
+ * 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.axis2.jaxws.type_substitution;
+
+public class Freyburg extends Apple {
+
+    private String season;
+
+    public Freyburg() {
+        setType("Freyburg");
+    }
+
+    public Freyburg(String color, String flavor, String season) {
+        setType("Freyburg");
+        setColor(color);
+        setFlavor(flavor);
+        
+        setSeason(season);
+    }
+
+    public void setSeason(String arg0) {
+        this.season = arg0;
+    }
+
+    public String getSeason() {
+        return this.season;
+    }
+
+}

Propchange: webservices/axis2/trunk/java/modules/jaxws-integration/test/org/apache/axis2/jaxws/type_substitution/Freyburg.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: webservices/axis2/trunk/java/modules/jaxws-integration/test/org/apache/axis2/jaxws/type_substitution/Fuji.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws-integration/test/org/apache/axis2/jaxws/type_substitution/Fuji.java?rev=662510&view=auto
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws-integration/test/org/apache/axis2/jaxws/type_substitution/Fuji.java (added)
+++ webservices/axis2/trunk/java/modules/jaxws-integration/test/org/apache/axis2/jaxws/type_substitution/Fuji.java Mon Jun  2 11:39:07 2008
@@ -0,0 +1,46 @@
+/**
+ * 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.axis2.jaxws.type_substitution;
+
+public class Fuji extends Apple {
+
+    private String location;
+
+    public Fuji() {
+        setType("Fuji");
+    }
+
+    public Fuji(String color, String flavor, String location) {
+        setType("Fuji");
+        setColor(color);
+        setFlavor(flavor);
+        
+        setLocation(location);
+    }
+
+    public void setLocation(String arg0) {
+        this.location = arg0;
+    }
+
+    public String getLocation() {
+        return this.location;
+    }
+
+}

Propchange: webservices/axis2/trunk/java/modules/jaxws-integration/test/org/apache/axis2/jaxws/type_substitution/Fuji.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: webservices/axis2/trunk/java/modules/jaxws-integration/test/org/apache/axis2/jaxws/type_substitution/jaxws/GetApples.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws-integration/test/org/apache/axis2/jaxws/type_substitution/jaxws/GetApples.java?rev=662510&view=auto
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws-integration/test/org/apache/axis2/jaxws/type_substitution/jaxws/GetApples.java (added)
+++ webservices/axis2/trunk/java/modules/jaxws-integration/test/org/apache/axis2/jaxws/type_substitution/jaxws/GetApples.java Mon Jun  2 11:39:07 2008
@@ -0,0 +1,50 @@
+/**
+ * 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.axis2.jaxws.type_substitution.jaxws;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+/**
+ * <p>Java class for getApples complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="getApples">
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *       &lt;/sequence>
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+@XmlRootElement(namespace = "http://apple.org", name = "getApples")
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(namespace = "http://apple.org", name = "getApples")
+public class GetApples {
+
+}

Propchange: webservices/axis2/trunk/java/modules/jaxws-integration/test/org/apache/axis2/jaxws/type_substitution/jaxws/GetApples.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: webservices/axis2/trunk/java/modules/jaxws-integration/test/org/apache/axis2/jaxws/type_substitution/jaxws/GetApplesResponse.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws-integration/test/org/apache/axis2/jaxws/type_substitution/jaxws/GetApplesResponse.java?rev=662510&view=auto
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws-integration/test/org/apache/axis2/jaxws/type_substitution/jaxws/GetApplesResponse.java (added)
+++ webservices/axis2/trunk/java/modules/jaxws-integration/test/org/apache/axis2/jaxws/type_substitution/jaxws/GetApplesResponse.java Mon Jun  2 11:39:07 2008
@@ -0,0 +1,89 @@
+/**
+ * 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.axis2.jaxws.type_substitution.jaxws;
+
+import org.apache.axis2.jaxws.type_substitution.Apple;
+
+import java.util.ArrayList;
+import java.util.List;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Java class for getApplesResponse complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="getApplesResponse">
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;element name="return" type="{http://apple.org}apple" maxOccurs="unbounded" minOccurs="0"/>
+ *       &lt;/sequence>
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+@XmlRootElement(namespace = "http://apple.org", name = "getApplesResponse")
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(namespace = "http://apple.org", name = "getApplesResponse", propOrder = {"_return"})
+public class GetApplesResponse {
+
+    @XmlElement(name = "return")
+    protected List<Apple> _return;
+
+    /**
+     * Gets the value of the return property.
+     * 
+     * <p>
+     * This accessor method returns a reference to the live list,
+     * not a snapshot. Therefore any modification you make to the
+     * returned list will be present inside the JAXB object.
+     * This is why there is not a <CODE>set</CODE> method for the return property.
+     * 
+     * <p>
+     * For example, to add a new item, do as follows:
+     * <pre>
+     *    getReturn().add(newItem);
+     * </pre>
+     * 
+     * 
+     * <p>
+     * Objects of the following type(s) are allowed in the list
+     * {@link Apple }
+     * 
+     * 
+     */
+    public List<Apple> getReturn() {
+        if (_return == null) {
+            _return = new ArrayList<Apple>();
+        }
+        return this._return;
+    }
+
+}

Propchange: webservices/axis2/trunk/java/modules/jaxws-integration/test/org/apache/axis2/jaxws/type_substitution/jaxws/GetApplesResponse.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: webservices/axis2/trunk/java/modules/jaxws-integration/test/org/apache/axis2/jaxws/type_substitution/tests/TypeSubstitutionTests.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws-integration/test/org/apache/axis2/jaxws/type_substitution/tests/TypeSubstitutionTests.java?rev=662510&view=auto
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws-integration/test/org/apache/axis2/jaxws/type_substitution/tests/TypeSubstitutionTests.java (added)
+++ webservices/axis2/trunk/java/modules/jaxws-integration/test/org/apache/axis2/jaxws/type_substitution/tests/TypeSubstitutionTests.java Mon Jun  2 11:39:07 2008
@@ -0,0 +1,126 @@
+/*
+ * 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.axis2.jaxws.type_substitution.tests;
+
+import junit.framework.Test;
+import junit.framework.TestSuite;
+
+import org.apache.axis2.jaxws.TestLogger;
+import org.apache.axis2.jaxws.framework.AbstractTestCase;
+
+import javax.xml.namespace.QName;
+import javax.xml.soap.MessageFactory;
+import javax.xml.soap.SOAPBody;
+import javax.xml.soap.SOAPElement;
+import javax.xml.soap.SOAPMessage;
+import javax.xml.ws.Dispatch;
+import javax.xml.ws.Service;
+import java.io.ByteArrayInputStream;
+import java.util.Iterator;
+
+public class TypeSubstitutionTests extends AbstractTestCase {
+
+    private String NS = "http://apple.org";
+    private QName XSI_TYPE = new QName("http://www.w3.org/2001/XMLSchema-instance", "type");
+
+    private String endpointUrl = "http://localhost:6060/axis2/services/AppleFinderService.AppleFinderPort";
+    private QName serviceName = new QName(NS, "AppleFinderService");
+    private QName portName = new QName(NS, "AppleFinderPort");
+    
+    private String reqMsgStart = 
+        "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" +
+        "<soap:Envelope xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\"><soap:Body>";
+    
+    private String reqMsgEnd = "</soap:Body></soap:Envelope>";
+   
+    private String GET_APPLES = "<ns2:getApples xmlns:ns2=\"" + NS + "\"/>";
+                
+    public static Test suite() {
+        return getTestSetup(new TestSuite(TypeSubstitutionTests.class));
+    }
+   
+    public void testTypeSubstitution() throws Exception {
+        Dispatch<SOAPMessage> dispatch = createDispatch();
+             
+        String msg = reqMsgStart + GET_APPLES + reqMsgEnd;
+        MessageFactory factory = MessageFactory.newInstance();
+        SOAPMessage request = factory.createMessage(null, 
+                                                    new ByteArrayInputStream(msg.getBytes()));
+            
+        SOAPMessage response = dispatch.invoke(request);
+
+        SOAPBody body = response.getSOAPBody();
+
+        TestLogger.logger.debug(">> Response [" + body + "]");
+
+        // XXX: the xsi:type attribute values should have namespace apparently
+        QName expectedXsiType1 = new QName(/*NS,*/ "fuji");
+        QName expectedXsiType2 = new QName(/*NS,*/ "freyburg");
+
+        Iterator iter;
+        SOAPElement element;
+        QName xsiType;
+
+        iter = body.getChildElements(new QName(NS, "getApplesResponse"));
+        assertTrue(iter.hasNext());
+        
+        element = (SOAPElement)iter.next();
+
+        iter = element.getChildElements(new QName("return"));
+
+        // check value1
+        assertTrue(iter.hasNext());
+        element = (SOAPElement)iter.next();
+        xsiType = getXsiTypeAttribute(element);
+        assertEquals("xsi:type 1", expectedXsiType1, xsiType);
+        
+        // check value2
+        assertTrue(iter.hasNext());
+        element = (SOAPElement)iter.next();
+        xsiType = getXsiTypeAttribute(element);
+        assertEquals("xsi:type 2", expectedXsiType2, xsiType);
+    }
+    
+    private QName getXsiTypeAttribute(SOAPElement element) throws Exception {
+        String value = element.getAttributeValue(XSI_TYPE);
+        QName xsiType = null;
+        if (value != null) {
+            int pos = value.indexOf(":");
+            if (pos != -1) {
+                String prefix = value.substring(0, pos);
+                String localName = value.substring(pos+1);
+                String namespace = element.getNamespaceURI(prefix);
+                xsiType = new QName(namespace, localName, prefix);
+            } else {
+                xsiType = new QName(value);
+            }
+        }
+        return xsiType;
+    }
+
+    private Dispatch<SOAPMessage> createDispatch() throws Exception {
+        Service svc = Service.create(serviceName);
+        svc.addPort(portName, null, endpointUrl);
+        Dispatch<SOAPMessage> dispatch = 
+            svc.createDispatch(portName, SOAPMessage.class, Service.Mode.MESSAGE);
+        return dispatch;
+    }
+
+}

Propchange: webservices/axis2/trunk/java/modules/jaxws-integration/test/org/apache/axis2/jaxws/type_substitution/tests/TypeSubstitutionTests.java
------------------------------------------------------------------------------
    svn:eol-style = native