You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by sl...@apache.org on 2009/10/09 17:50:48 UTC

svn commit: r823595 - in /tuscany/branches/sca-java-1.x: itest/wsdlgen/src/main/resources/wsdl/ itest/wsdlgen/src/test/java/helloworld/ modules/binding-ws-wsdlgen/src/main/java/org/apache/tuscany/sca/binding/ws/wsdlgen/

Author: slaws
Date: Fri Oct  9 15:50:47 2009
New Revision: 823595

URL: http://svn.apache.org/viewvc?rev=823595&view=rev
Log:
TUSCANY-3283 - update to match the latest changes from the 1.5.2 branch

Modified:
    tuscany/branches/sca-java-1.x/itest/wsdlgen/src/main/resources/wsdl/HelloWorldService_TuscanyGen.wsdl
    tuscany/branches/sca-java-1.x/itest/wsdlgen/src/test/java/helloworld/HttpTransportTestCase.java
    tuscany/branches/sca-java-1.x/modules/binding-ws-wsdlgen/src/main/java/org/apache/tuscany/sca/binding/ws/wsdlgen/Interface2WSDLGenerator.java

Modified: tuscany/branches/sca-java-1.x/itest/wsdlgen/src/main/resources/wsdl/HelloWorldService_TuscanyGen.wsdl
URL: http://svn.apache.org/viewvc/tuscany/branches/sca-java-1.x/itest/wsdlgen/src/main/resources/wsdl/HelloWorldService_TuscanyGen.wsdl?rev=823595&r1=823594&r2=823595&view=diff
==============================================================================
--- tuscany/branches/sca-java-1.x/itest/wsdlgen/src/main/resources/wsdl/HelloWorldService_TuscanyGen.wsdl (original)
+++ tuscany/branches/sca-java-1.x/itest/wsdlgen/src/main/resources/wsdl/HelloWorldService_TuscanyGen.wsdl Fri Oct  9 15:50:47 2009
@@ -1,355 +1,343 @@
 <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-    <!--
-        * 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.
-    -->
-
-    <!--
-        Generated by pointing a browser at
-        http://l3aw203:8085/HelloWorldServiceComponent1?wsdl
-    -->
-    <!-- but with manual changes to introduce the JMS configuration -->
+	<!--
+		* 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.
+	-->
+
+	<!--
+		Generated by pointing a browser at
+		http://l3aw203:8085/HelloWorldServiceComponent1?wsdl
+	-->
+	<!-- but with manual changes to introduce the JMS configuration -->
 
 <wsdl:definitions name="HelloWorldServiceService"
-    targetNamespace="http://helloworld/" xmlns="http://helloworld/"
-    xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xs="http://www.w3.org/2001/XMLSchema"
-    xmlns:SOAP="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:SOAP11="http://schemas.xmlsoap.org/wsdl/soap/">
-    <wsdl:types>
-        <xs:schema targetNamespace="http://helloworld/"
-            version="1.0" xmlns:ns1="http://test" xmlns:tns="http://helloworld/"
-            xmlns:xs="http://www.w3.org/2001/XMLSchema">
-            <xs:import namespace="http://test" />
-
-            <xs:element name="getGreetings" type="tns:getGreetings" />
-            <xs:element name="getGreetingsBBean" type="tns:getGreetingsBBean" />
-            <xs:element name="getGreetingsBBeanResponse"
-                type="tns:getGreetingsBBeanResponse" />
-            <xs:element name="getGreetingsBean" type="tns:getGreetingsBean" />
-            <xs:element name="getGreetingsBeanArray" type="tns:getGreetingsBeanArray" />
-            <xs:element name="getGreetingsBeanArrayResponse"
-                type="tns:getGreetingsBeanArrayResponse" />
-            <xs:element name="getGreetingsBeanResponse" type="tns:getGreetingsBeanResponse" />
-            <xs:element name="getGreetingsCBean" type="tns:getGreetingsCBean" />
-            <xs:element name="getGreetingsCBeanResponse"
-                type="tns:getGreetingsCBeanResponse" />
-
-            <xs:element name="getGreetingsDBean" type="tns:getGreetingsDBean" />
-            <xs:element name="getGreetingsDBeanResponse"
-                type="tns:getGreetingsDBeanResponse" />
-            <xs:element name="getGreetingsResponse" type="tns:getGreetingsResponse" />
-            <xs:complexType name="getGreetingsBean">
-                <xs:sequence>
-                    <xs:element minOccurs="0" name="arg0"
-                        type="ns1:aBean" />
-                </xs:sequence>
-            </xs:complexType>
-            <xs:complexType name="getGreetingsBeanArrayResponse">
-                <xs:sequence>
-                    <xs:element minOccurs="0" name="return"
-                        type="xs:string" />
-                </xs:sequence>
-            </xs:complexType>
-            <xs:complexType name="getGreetingsBeanArray">
-                <xs:sequence>
-                    <xs:element maxOccurs="unbounded"
-                        minOccurs="0" name="arg0" nillable="true" type="ns1:aBean" />
-                </xs:sequence>
-            </xs:complexType>
-            <xs:complexType name="getGreetingsBBeanResponse">
-                <xs:sequence>
-                    <xs:element minOccurs="0" name="return"
-                        type="xs:string" />
-                </xs:sequence>
-            </xs:complexType>
-            <xs:complexType name="getGreetingsBBean">
-                <xs:sequence>
-                    <xs:element minOccurs="0" name="arg0"
-                        type="tns:bBean" />
-                </xs:sequence>
-            </xs:complexType>
-            <xs:complexType name="getGreetingsCBeanResponse">
-                <xs:sequence>
-                    <xs:element minOccurs="0" name="return"
-                        type="xs:string" />
-                </xs:sequence>
-            </xs:complexType>
-            <xs:complexType name="getGreetingsBeanResponse">
-                <xs:sequence>
-                    <xs:element minOccurs="0" name="return"
-                        type="xs:string" />
-                </xs:sequence>
-            </xs:complexType>
-            <xs:complexType name="getGreetings">
-                <xs:sequence>
-                    <xs:element minOccurs="0" name="arg0"
-                        type="xs:string" />
-                </xs:sequence>
-            </xs:complexType>
-            <xs:complexType name="getGreetingsResponse">
-                <xs:sequence>
-                    <xs:element minOccurs="0" name="return"
-                        type="xs:string" />
-                </xs:sequence>
-            </xs:complexType>
-            <xs:complexType name="getGreetingsCBean">
-                <xs:sequence>
-                    <xs:element minOccurs="0" name="arg0">
-                        <xs:complexType>
-                            <xs:sequence>
-                                <xs:element minOccurs="0"
-                                    name="field1" type="xs:string" />
-                                <xs:element minOccurs="0"
-                                    name="field2" type="xs:string" />
-                            </xs:sequence>
-                        </xs:complexType>
-                    </xs:element>
-                </xs:sequence>
-            </xs:complexType>
-            <xs:complexType name="getGreetingsDBean">
-                <xs:sequence>
-                    <xs:element minOccurs="0" name="arg0"
-                        type="dBean" />
-                </xs:sequence>
-            </xs:complexType>
-            <xs:complexType name="getGreetingsDBeanResponse">
-                <xs:sequence>
-                    <xs:element minOccurs="0" name="return"
-                        type="xs:string" />
-                </xs:sequence>
-            </xs:complexType>
-
-            <xs:complexType name="bBean">
-                <xs:sequence>
-                    <xs:element minOccurs="0" name="field1"
-                        type="xs:string" />
-                    <xs:element minOccurs="0" name="field2"
-                        type="xs:string" />
-                </xs:sequence>
-            </xs:complexType>
-
-            <xs:complexType name="dBean">
-                <xs:sequence>
-                    <xs:element minOccurs="0" name="field1"
-                        type="xs:string" />
-                    <xs:element minOccurs="0" name="field2"
-                        type="xs:string" />
-                    <xs:element minOccurs="0" name="field3"
-                        type="bBean" />
-                </xs:sequence>
-            </xs:complexType>
-        </xs:schema>
-        <xs:schema targetNamespace="http://test" version="1.0"
-            xmlns:__nnns="http://helloworld/" xmlns:xs="http://www.w3.org/2001/XMLSchema">
-            <xs:import namespace="http://helloworld/" />
-            <xs:complexType name="aBean">
-                <xs:sequence>
-                    <xs:element minOccurs="0" name="field1"
-                        type="xs:string" />
-                    <xs:element minOccurs="0" name="field2"
-                        type="xs:string" />
-                    <xs:element minOccurs="0" name="field3"
-                        type="__nnns:bBean" />
-                </xs:sequence>
-            </xs:complexType>
-        </xs:schema>
-    </wsdl:types>
-    <wsdl:message name="getGreetingsBean">
-        <wsdl:part name="getGreetingsBean" element="getGreetingsBean">
-        </wsdl:part>
-    </wsdl:message>
-
-    <wsdl:message name="getGreetingsDBean">
-        <wsdl:part name="getGreetingsDBean" element="getGreetingsDBean">
-        </wsdl:part>
-    </wsdl:message>
-    <wsdl:message name="getGreetings">
-        <wsdl:part name="getGreetings" element="getGreetings">
-        </wsdl:part>
-    </wsdl:message>
-    <wsdl:message name="getGreetingsCBean">
-
-        <wsdl:part name="getGreetingsCBean" element="getGreetingsCBean">
-        </wsdl:part>
-    </wsdl:message>
-    <wsdl:message name="getGreetingsDBeanResponse">
-        <wsdl:part name="getGreetingsDBeanResponse" element="getGreetingsDBeanResponse">
-        </wsdl:part>
-    </wsdl:message>
-    <wsdl:message name="getGreetingsCBeanResponse">
-        <wsdl:part name="getGreetingsCBeanResponse" element="getGreetingsCBeanResponse">
-
-        </wsdl:part>
-    </wsdl:message>
-    <wsdl:message name="getGreetingsBBean">
-        <wsdl:part name="getGreetingsBBean" element="getGreetingsBBean">
-        </wsdl:part>
-    </wsdl:message>
-    <wsdl:message name="getGreetingsResponse">
-        <wsdl:part name="getGreetingsResponse" element="getGreetingsResponse">
-        </wsdl:part>
-
-    </wsdl:message>
-    <wsdl:message name="getGreetingsBeanResponse">
-        <wsdl:part name="getGreetingsBeanResponse" element="getGreetingsBeanResponse">
-        </wsdl:part>
-    </wsdl:message>
-    <wsdl:message name="getGreetingsBeanArrayResponse">
-        <wsdl:part name="getGreetingsBeanArrayResponse"
-            element="getGreetingsBeanArrayResponse">
-        </wsdl:part>
-    </wsdl:message>
-
-    <wsdl:message name="getGreetingsBBeanResponse">
-        <wsdl:part name="getGreetingsBBeanResponse" element="getGreetingsBBeanResponse">
-        </wsdl:part>
-    </wsdl:message>
-    <wsdl:message name="getGreetingsBeanArray">
-        <wsdl:part name="getGreetingsBeanArray" element="getGreetingsBeanArray">
-        </wsdl:part>
-    </wsdl:message>
-    <wsdl:portType name="HelloWorldService">
-
-        <wsdl:operation name="getGreetings">
-            <wsdl:input message="getGreetings">
-            </wsdl:input>
-            <wsdl:output message="getGreetingsResponse">
-            </wsdl:output>
-        </wsdl:operation>
-        <wsdl:operation name="getGreetingsDBean">
-            <wsdl:input message="getGreetingsDBean">
-            </wsdl:input>
-
-            <wsdl:output message="getGreetingsDBeanResponse">
-            </wsdl:output>
-        </wsdl:operation>
-        <wsdl:operation name="getGreetingsBean">
-            <wsdl:input message="getGreetingsBean">
-            </wsdl:input>
-            <wsdl:output message="getGreetingsBeanResponse">
-            </wsdl:output>
-        </wsdl:operation>
-
-        <wsdl:operation name="getGreetingsBeanArray">
-            <wsdl:input message="getGreetingsBeanArray">
-            </wsdl:input>
-            <wsdl:output message="getGreetingsBeanArrayResponse">
-            </wsdl:output>
-        </wsdl:operation>
-        <wsdl:operation name="getGreetingsBBean">
-            <wsdl:input message="getGreetingsBBean">
-            </wsdl:input>
-
-            <wsdl:output message="getGreetingsBBeanResponse">
-            </wsdl:output>
-        </wsdl:operation>
-        <wsdl:operation name="getGreetingsCBean">
-            <wsdl:input message="getGreetingsCBean">
-            </wsdl:input>
-            <wsdl:output message="getGreetingsCBeanResponse">
-            </wsdl:output>
-        </wsdl:operation>
-
-    </wsdl:portType>
-    <wsdl:binding name="HelloWorldServiceBinding" type="HelloWorldService">
-        <SOAP:binding style="document"
-            transport="http://schemas.xmlsoap.org/soap/http" />
-        <wsdl:operation name="getGreetings">
-            <SOAP:operation />
-            <wsdl:input>
-                <SOAP:body use="literal" />
-            </wsdl:input>
-            <wsdl:output>
-
-                <SOAP:body use="literal" />
-            </wsdl:output>
-        </wsdl:operation>
-        <wsdl:operation name="getGreetingsDBean">
-            <SOAP:operation />
-            <wsdl:input>
-                <SOAP:body use="literal" />
-            </wsdl:input>
-            <wsdl:output>
-
-                <SOAP:body use="literal" />
-            </wsdl:output>
-        </wsdl:operation>
-        <wsdl:operation name="getGreetingsBean">
-            <SOAP:operation />
-            <wsdl:input>
-                <SOAP:body use="literal" />
-            </wsdl:input>
-            <wsdl:output>
-
-                <SOAP:body use="literal" />
-            </wsdl:output>
-        </wsdl:operation>
-        <wsdl:operation name="getGreetingsBeanArray">
-            <SOAP:operation />
-            <wsdl:input>
-                <SOAP:body use="literal" />
-            </wsdl:input>
-            <wsdl:output>
-
-                <SOAP:body use="literal" />
-            </wsdl:output>
-        </wsdl:operation>
-        <wsdl:operation name="getGreetingsBBean">
-            <SOAP:operation />
-            <wsdl:input>
-                <SOAP:body use="literal" />
-            </wsdl:input>
-            <wsdl:output>
-
-                <SOAP:body use="literal" />
-            </wsdl:output>
-        </wsdl:operation>
-        <wsdl:operation name="getGreetingsCBean">
-            <SOAP:operation />
-            <wsdl:input>
-                <SOAP:body use="literal" />
-            </wsdl:input>
-            <wsdl:output>
-
-                <SOAP:body use="literal" />
-            </wsdl:output>
-        </wsdl:operation>
-    </wsdl:binding>
-    
-    <wsdl:binding name="HelloWorldJmsBinding" type="HelloWorldService">
-        <SOAP:binding style="document"
-            transport="http://schemas.xmlsoap.org/soap/jms" />
-        <wsdl:operation name="getGreetings">
-            <SOAP:operation />
-            <wsdl:input>
-                <SOAP:body use="literal" />
-            </wsdl:input>
-
-            <wsdl:output>
-                <SOAP:body use="literal" />
-            </wsdl:output>
-        </wsdl:operation>
-
-    </wsdl:binding>
-
-    <wsdl:service name="HelloWorldService">
-        <wsdl:port name="HelloWorldJmsPort" binding="HelloWorldJmsBinding">
-            <SOAP:address
-                location="jms:/queue.sample?transport.jms.ConnectionFactoryJNDIName=QueueConnectionFactory&amp;java.naming.factory.initial=org.apache.activemq.jndi.ActiveMQInitialContextFactory&amp;java.naming.provider.url=tcp://localhost:51293" />
-        </wsdl:port>
-        <wsdl:port name="HelloWorldServicePort" binding="HelloWorldServiceBinding">
-            <SOAP:address
-                location="http://l3aw203:8085/HelloWorldServiceComponent1" />
-        </wsdl:port>
-    </wsdl:service>
+	targetNamespace="http://helloworld/" xmlns="http://helloworld/"
+	xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xs="http://www.w3.org/2001/XMLSchema"
+	xmlns:SOAP="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:SOAP11="http://schemas.xmlsoap.org/wsdl/soap/">
+	<wsdl:types>
+		<xs:schema attributeFormDefault="qualified"
+			elementFormDefault="unqualified" targetNamespace="http://helloworld/"
+			xmlns:ns0="http://test" xmlns:tns="http://helloworld/" xmlns:xs="http://www.w3.org/2001/XMLSchema">
+			<xs:import namespace="http://test" />
+			<xs:element name="getGreetingsBean">
+				<xs:complexType>
+					<xs:sequence>
+						<xs:element minOccurs="0" name="arg0" nillable="true"
+							type="ns0:aBean" />
+					</xs:sequence>
+				</xs:complexType>
+			</xs:element>
+			<xs:element name="getGreetingsDBean">
+				<xs:complexType>
+					<xs:sequence>
+						<xs:element minOccurs="0" name="arg0" nillable="true"
+							type="tns:dBean" />
+					</xs:sequence>
+				</xs:complexType>
+			</xs:element>
+			<xs:element name="getGreetings">
+				<xs:complexType>
+					<xs:sequence>
+						<xs:element minOccurs="0" name="arg0" nillable="true"
+							type="xs:string" />
+					</xs:sequence>
+				</xs:complexType>
+			</xs:element>
+			<xs:element name="getGreetingsCBean">
+				<xs:complexType>
+					<xs:sequence/>
+				</xs:complexType>
+			</xs:element>
+			<xs:element name="getGreetingsDBeanResponse">
+				<xs:complexType>
+					<xs:sequence>
+						<xs:element minOccurs="0" name="return" nillable="true"
+							type="xs:string" />
+					</xs:sequence>
+				</xs:complexType>
+			</xs:element>
+			<xs:element name="getGreetingsCBeanResponse">
+				<xs:complexType>
+					<xs:sequence>
+						<xs:element minOccurs="0" name="return" nillable="true"
+							type="xs:string" />
+					</xs:sequence>
+				</xs:complexType>
+			</xs:element>
+			<xs:element name="getGreetingsBBean">
+				<xs:complexType>
+					<xs:sequence>
+						<xs:element minOccurs="0" name="arg0" nillable="true"
+							type="tns:bBean" />
+					</xs:sequence>
+				</xs:complexType>
+			</xs:element>
+			<xs:element name="getGreetingsResponse">
+				<xs:complexType>
+					<xs:sequence>
+						<xs:element minOccurs="0" name="return" nillable="true"
+							type="xs:string" />
+					</xs:sequence>
+				</xs:complexType>
+			</xs:element>
+			<xs:element name="getGreetingsBeanResponse">
+				<xs:complexType>
+					<xs:sequence>
+						<xs:element minOccurs="0" name="return" nillable="true"
+							type="xs:string" />
+					</xs:sequence>
+				</xs:complexType>
+			</xs:element>
+			<xs:element name="getGreetingsBeanArrayResponse">
+				<xs:complexType>
+					<xs:sequence>
+						<xs:element minOccurs="0" name="return" nillable="true"
+							type="xs:string" />
+					</xs:sequence>
+				</xs:complexType>
+			</xs:element>
+			<xs:element name="getGreetingsBBeanResponse">
+				<xs:complexType>
+					<xs:sequence>
+						<xs:element minOccurs="0" name="return" nillable="true"
+							type="xs:string" />
+					</xs:sequence>
+				</xs:complexType>
+			</xs:element>
+			<xs:element name="getGreetingsBeanArray">
+				<xs:complexType>
+					<xs:sequence>
+						<xs:element maxOccurs="unbounded" minOccurs="0" name="arg0"
+							nillable="true" type="ns0:aBean" />
+					</xs:sequence>
+				</xs:complexType>
+			</xs:element>
+			<xs:complexType name="bBean">
+				<xs:sequence>
+					<xs:element minOccurs="0" name="field1" type="xs:string" />
+					<xs:element minOccurs="0" name="field2" type="xs:string" />
+				</xs:sequence>
+			</xs:complexType>
+			<xs:complexType name="dBean">
+				<xs:sequence>
+					<xs:element minOccurs="0" name="field1" type="xs:string" />
+					<xs:element minOccurs="0" name="field2" type="xs:string" />
+					<xs:element minOccurs="0" name="field3" type="tns:bBean" />
+				</xs:sequence>
+			</xs:complexType>
+		</xs:schema>
+		<xs:schema targetNamespace="http://test" version="1.0"
+			xmlns:__nnns="http://helloworld/" xmlns:tns="http://test"
+			xmlns:xs="http://www.w3.org/2001/XMLSchema">
+			<xs:import namespace="http://helloworld/" />
+			<xs:complexType name="aBean">
+				<xs:sequence>
+					<xs:element minOccurs="0" name="field1" type="xs:string" />
+					<xs:element minOccurs="0" name="field2" type="xs:string" />
+					<xs:element minOccurs="0" name="field3" type="__nnns:bBean" />
+				</xs:sequence>
+			</xs:complexType>
+			<xs:complexType final="#all" name="aBeanArray">
+				<xs:sequence>
+					<xs:element maxOccurs="unbounded" minOccurs="0" name="item"
+						nillable="true" type="tns:aBean" />
+				</xs:sequence>
+			</xs:complexType>
+		</xs:schema>
+	</wsdl:types>
+	<wsdl:message name="getGreetingsBean">
+		<wsdl:part name="getGreetingsBean" element="getGreetingsBean">
+		</wsdl:part>
+	</wsdl:message>
+	<wsdl:message name="getGreetingsDBean">
+		<wsdl:part name="getGreetingsDBean" element="getGreetingsDBean">
+
+		</wsdl:part>
+	</wsdl:message>
+	<wsdl:message name="getGreetings">
+		<wsdl:part name="getGreetings" element="getGreetings">
+		</wsdl:part>
+	</wsdl:message>
+	<wsdl:message name="getGreetingsCBean">
+		<wsdl:part name="getGreetingsCBean" element="getGreetingsCBean">
+		</wsdl:part>
+
+	</wsdl:message>
+	<wsdl:message name="getGreetingsDBeanResponse">
+		<wsdl:part name="getGreetingsDBeanResponse" element="getGreetingsDBeanResponse">
+		</wsdl:part>
+	</wsdl:message>
+	<wsdl:message name="getGreetingsCBeanResponse">
+		<wsdl:part name="getGreetingsCBeanResponse" element="getGreetingsCBeanResponse">
+		</wsdl:part>
+	</wsdl:message>
+
+	<wsdl:message name="getGreetingsBBean">
+		<wsdl:part name="getGreetingsBBean" element="getGreetingsBBean">
+		</wsdl:part>
+	</wsdl:message>
+	<wsdl:message name="getGreetingsResponse">
+		<wsdl:part name="getGreetingsResponse" element="getGreetingsResponse">
+		</wsdl:part>
+	</wsdl:message>
+	<wsdl:message name="getGreetingsBeanResponse">
+
+		<wsdl:part name="getGreetingsBeanResponse" element="getGreetingsBeanResponse">
+		</wsdl:part>
+	</wsdl:message>
+	<wsdl:message name="getGreetingsBeanArrayResponse">
+		<wsdl:part name="getGreetingsBeanArrayResponse" element="getGreetingsBeanArrayResponse">
+		</wsdl:part>
+	</wsdl:message>
+	<wsdl:message name="getGreetingsBBeanResponse">
+		<wsdl:part name="getGreetingsBBeanResponse" element="getGreetingsBBeanResponse">
+
+		</wsdl:part>
+	</wsdl:message>
+	<wsdl:message name="getGreetingsBeanArray">
+		<wsdl:part name="getGreetingsBeanArray" element="getGreetingsBeanArray">
+		</wsdl:part>
+	</wsdl:message>
+	<wsdl:portType name="HelloWorldService">
+		<wsdl:operation name="getGreetings">
+			<wsdl:input message="getGreetings">
+
+			</wsdl:input>
+			<wsdl:output message="getGreetingsResponse">
+			</wsdl:output>
+		</wsdl:operation>
+		<wsdl:operation name="getGreetingsDBean">
+			<wsdl:input message="getGreetingsDBean">
+			</wsdl:input>
+			<wsdl:output message="getGreetingsDBeanResponse">
+			</wsdl:output>
+
+		</wsdl:operation>
+		<wsdl:operation name="getGreetingsBean">
+			<wsdl:input message="getGreetingsBean">
+			</wsdl:input>
+			<wsdl:output message="getGreetingsBeanResponse">
+			</wsdl:output>
+		</wsdl:operation>
+		<wsdl:operation name="getGreetingsBeanArray">
+			<wsdl:input message="getGreetingsBeanArray">
+
+			</wsdl:input>
+			<wsdl:output message="getGreetingsBeanArrayResponse">
+			</wsdl:output>
+		</wsdl:operation>
+		<wsdl:operation name="getGreetingsBBean">
+			<wsdl:input message="getGreetingsBBean">
+			</wsdl:input>
+			<wsdl:output message="getGreetingsBBeanResponse">
+			</wsdl:output>
+
+		</wsdl:operation>
+		<wsdl:operation name="getGreetingsCBean">
+			<wsdl:input message="getGreetingsCBean">
+			</wsdl:input>
+			<wsdl:output message="getGreetingsCBeanResponse">
+			</wsdl:output>
+		</wsdl:operation>
+	</wsdl:portType>
+	<wsdl:binding name="HelloWorldServiceBinding" type="HelloWorldService">
+
+		<SOAP:binding style="document"
+			transport="http://schemas.xmlsoap.org/soap/http" />
+		<wsdl:operation name="getGreetings">
+			<SOAP:operation />
+			<wsdl:input>
+				<SOAP:body use="literal" />
+			</wsdl:input>
+			<wsdl:output>
+				<SOAP:body use="literal" />
+			</wsdl:output>
+
+		</wsdl:operation>
+		<wsdl:operation name="getGreetingsDBean">
+			<SOAP:operation />
+			<wsdl:input>
+				<SOAP:body use="literal" />
+			</wsdl:input>
+			<wsdl:output>
+				<SOAP:body use="literal" />
+			</wsdl:output>
+
+		</wsdl:operation>
+		<wsdl:operation name="getGreetingsBean">
+			<SOAP:operation />
+			<wsdl:input>
+				<SOAP:body use="literal" />
+			</wsdl:input>
+			<wsdl:output>
+				<SOAP:body use="literal" />
+			</wsdl:output>
+
+		</wsdl:operation>
+		<wsdl:operation name="getGreetingsBeanArray">
+			<SOAP:operation />
+			<wsdl:input>
+				<SOAP:body use="literal" />
+			</wsdl:input>
+			<wsdl:output>
+				<SOAP:body use="literal" />
+			</wsdl:output>
+
+		</wsdl:operation>
+		<wsdl:operation name="getGreetingsBBean">
+			<SOAP:operation />
+			<wsdl:input>
+				<SOAP:body use="literal" />
+			</wsdl:input>
+			<wsdl:output>
+				<SOAP:body use="literal" />
+			</wsdl:output>
+
+		</wsdl:operation>
+		<wsdl:operation name="getGreetingsCBean">
+			<SOAP:operation />
+			<wsdl:input>
+				<SOAP:body use="literal" />
+			</wsdl:input>
+			<wsdl:output>
+				<SOAP:body use="literal" />
+			</wsdl:output>
+
+		</wsdl:operation>
+	</wsdl:binding>
+
+	<wsdl:binding name="HelloWorldJmsBinding" type="HelloWorldService">
+		<SOAP:binding style="document" transport="http://schemas.xmlsoap.org/soap/jms" />
+		<wsdl:operation name="getGreetings">
+			<SOAP:operation />
+			<wsdl:input>
+				<SOAP:body use="literal" />
+			</wsdl:input>
+
+			<wsdl:output>
+				<SOAP:body use="literal" />
+			</wsdl:output>
+		</wsdl:operation>
+
+	</wsdl:binding>
+
+	<wsdl:service name="HelloWorldService">
+		<wsdl:port name="HelloWorldJmsPort" binding="HelloWorldJmsBinding">
+			<SOAP:address
+				location="jms:/queue.sample?transport.jms.ConnectionFactoryJNDIName=QueueConnectionFactory&amp;java.naming.factory.initial=org.apache.activemq.jndi.ActiveMQInitialContextFactory&amp;java.naming.provider.url=tcp://localhost:51293" />
+		</wsdl:port>
+		<wsdl:port name="HelloWorldServicePort" binding="HelloWorldServiceBinding">
+			<SOAP:address location="http://l3aw203:8085/HelloWorldServiceComponent1" />
+		</wsdl:port>
+	</wsdl:service>
 </wsdl:definitions>    

Modified: tuscany/branches/sca-java-1.x/itest/wsdlgen/src/test/java/helloworld/HttpTransportTestCase.java
URL: http://svn.apache.org/viewvc/tuscany/branches/sca-java-1.x/itest/wsdlgen/src/test/java/helloworld/HttpTransportTestCase.java?rev=823595&r1=823594&r2=823595&view=diff
==============================================================================
--- tuscany/branches/sca-java-1.x/itest/wsdlgen/src/test/java/helloworld/HttpTransportTestCase.java (original)
+++ tuscany/branches/sca-java-1.x/itest/wsdlgen/src/test/java/helloworld/HttpTransportTestCase.java Fri Oct  9 15:50:47 2009
@@ -50,6 +50,17 @@
             scaDomain = SCADomain.newInstance("helloworld1.composite");
 	}
     
+    @Ignore
+    @Test
+    public void testWaitForInput() {
+        System.out.println("Press a key to end");
+        try {
+            System.in.read();
+        } catch (Exception ex) {
+        }
+        System.out.println("Shutting down");
+    }    
+    
     @Test
     public void testComponent1SCA() throws IOException {
         HelloWorldService helloWorldService = scaDomain.getService(HelloWorldService.class, "HelloWorldServiceComponent1/HelloWorldService");
@@ -99,18 +110,6 @@
         
        // repeat the JAXWS call with WSDL generated by tuscany
         
-    }
-    
-       
-    @Ignore
-    @Test
-    public void testWaitForInput() {
-        System.out.println("Press a key to end");
-        try {
-            System.in.read();
-        } catch (Exception ex) {
-        }
-        System.out.println("Shutting down");
     }      
 
 	@After

Modified: tuscany/branches/sca-java-1.x/modules/binding-ws-wsdlgen/src/main/java/org/apache/tuscany/sca/binding/ws/wsdlgen/Interface2WSDLGenerator.java
URL: http://svn.apache.org/viewvc/tuscany/branches/sca-java-1.x/modules/binding-ws-wsdlgen/src/main/java/org/apache/tuscany/sca/binding/ws/wsdlgen/Interface2WSDLGenerator.java?rev=823595&r1=823594&r2=823595&view=diff
==============================================================================
--- tuscany/branches/sca-java-1.x/modules/binding-ws-wsdlgen/src/main/java/org/apache/tuscany/sca/binding/ws/wsdlgen/Interface2WSDLGenerator.java (original)
+++ tuscany/branches/sca-java-1.x/modules/binding-ws-wsdlgen/src/main/java/org/apache/tuscany/sca/binding/ws/wsdlgen/Interface2WSDLGenerator.java Fri Oct  9 15:50:47 2009
@@ -22,6 +22,7 @@
 import java.lang.reflect.Method;
 import java.net.URI;
 import java.util.ArrayList;
+import java.util.Collection;
 import java.util.HashMap;
 import java.util.HashSet;
 import java.util.List;
@@ -78,8 +79,10 @@
 import org.apache.tuscany.sca.monitor.impl.ProblemImpl;
 import org.apache.tuscany.sca.xsd.XSDFactory;
 import org.apache.tuscany.sca.xsd.XSDefinition;
+import org.apache.tuscany.sca.xsd.impl.XSDefinitionImpl;
 import org.apache.ws.commons.schema.XmlSchema;
 import org.apache.ws.commons.schema.XmlSchemaCollection;
+import org.apache.ws.commons.schema.XmlSchemaElement;
 import org.apache.ws.commons.schema.XmlSchemaException;
 import org.apache.ws.commons.schema.utils.NamespaceMap;
 import org.w3c.dom.Attr;
@@ -337,47 +340,24 @@
         binding.setUndefined(false);
         definition.addBinding(binding);
         wsdlDefinition.setBinding(binding);
-
+        
         // call each helper in turn to populate the wsdl.types element
-        XmlSchemaCollection schemaCollection = new XmlSchemaCollection();
+        XmlSchemaCollection schemaCollection = new XmlSchemaCollection(); 
 
-        for (Map.Entry<XMLTypeHelper, List<DataType>> en: getDataTypes(interfaze, true, helpers).entrySet()) {
+        for (Map.Entry<XMLTypeHelper, List<DataType>> en: getDataTypes(interfaze, false, helpers).entrySet()) {
             XMLTypeHelper helper = en.getKey();
             if (helper == null) {
                 continue;
             }
             List<XSDefinition> xsDefinitions = helper.getSchemaDefinitions(xsdFactory, resolver, en.getValue());
             
-            // TUSCANY-3283 find any schema that has been generated without a namespace
-            //              and any schema using the default WSDL schema
-            XSDefinition noNamespaceSchema = null;
-            XSDefinition defaultNamespaceSchema = null;
-            
             for (XSDefinition xsDef: xsDefinitions) {
-                if (xsDef.getNamespace().equals("")){
-                    noNamespaceSchema = xsDef;
-                }
-                if (xsDef.getNamespace().equals(namespaceURI)){
-                    defaultNamespaceSchema = xsDef;
-                }
-                // useful for debugging DOM issues
-                // printDOM(xsDef.getDocument());
-            }
-            
-            // TUSCANY-3283 merge the no namespace schema into the default namespace schema
-            if (noNamespaceSchema != null && defaultNamespaceSchema != null){
-                // remove the no namespace schema from our list of schema
-                xsDefinitions.remove(noNamespaceSchema);
-                // merge the schema with no namespace into the schema with the default namspace for this WSDL
-                mergeSchema(noNamespaceSchema, defaultNamespaceSchema, xsDefinitions);
-            }
-            
-            for (XSDefinition xsDef: xsDefinitions) {
-                // TUSCANY-2757 and TUSCANY-3267 - flip global wrapper elements with nillable 
-                // set true to be set to false.  The JAXB RI seems to be generating this setting
-                // incorrectly according to the JAXB spec.
+
                 Document doc = xsDef.getDocument();
-                if (doc != null) {
+                if (doc != null) {                    
+                    // TUSCANY-2757 and TUSCANY-3267 - flip global wrapper elements with nillable 
+                    // set true to be set to false.  The JAXB RI seems to be generating this setting
+                    // incorrectly according to the JAXB spec.                    
                     NodeList nodes = doc.getFirstChild().getChildNodes();
                     for (int i = 0; i < nodes.getLength(); i++) {
                         Node aNode = nodes.item(i);
@@ -396,8 +376,10 @@
                         }
                     }
                 }
-                addSchemaExtension(xsDef, schemaCollection, wsdlDefinition, definition);
-            }              
+                
+                loadXSD(schemaCollection, xsDef);
+                wsdlDefinition.getXmlSchemas().add(xsDef);
+            }
         }
 
         // remove global wrapper elements with schema definitions from generation list
@@ -406,22 +388,17 @@
                 wrappers.remove(wrapperName);
             }
         }
-
+        
+        schemaCollection = new XmlSchemaCollection(); 
 
         // generate schema elements for wrappers that aren't defined in the schemas
         if (wrappers.size() > 0) {
             int i = 0;
             int index = 0;
             Map<String, XSDefinition> wrapperXSDs = new HashMap<String, XSDefinition>();
-
             Map<Element, Map<String, String>> prefixMaps = new HashMap<Element, Map<String, String>>();
             for (Map.Entry<QName, List<ElementInfo>> entry: wrappers.entrySet()) {
                 String targetNS = entry.getKey().getNamespaceURI();
-                // make sure wrappers are generated into the default namespace
-                if (targetNS == null ||
-                    targetNS.equals("")){
-                    targetNS = namespaceURI;
-                }
                 Document schemaDoc = null;
                 Element schema = null;
                 XSDefinition xsDef = wrapperXSDs.get(targetNS);
@@ -429,14 +406,22 @@
                     schemaDoc = xsDef.getDocument();
                     schema = schemaDoc.getDocumentElement();
                 } else {
-                    // check schema is not already in the set identified so far   
                     xsDef = wsdlDefinition.getSchema(targetNS);
                     if (xsDef != null) {
                         schemaDoc = xsDef.getDocument();
                         schema = schemaDoc.getDocumentElement();
                         wrapperXSDs.put(targetNS, xsDef);
+                        Map<String, String> prefixMap = prefixMaps.get(schema);
+                        if (prefixMap == null){
+                            prefixMap = new HashMap<String, String>();
+                            prefixMaps.put(schema, prefixMap);
+                            String [] prefixes = xsDef.getSchema().getNamespaceContext().getDeclaredPrefixes();
+                            for (int j = 0; j < prefixes.length; j++){
+                                prefixMap.put(xsDef.getSchema().getNamespaceContext().getNamespaceURI(prefixes[j]),
+                                              prefixes[j]);
+                            }
+                        }                        
                     } else {
-                        // create a new schema document
                         schemaDoc = createDocument();
                         schema = schemaDoc.createElementNS(SCHEMA_NS, "xs:schema");
                         // The elementFormDefault should be set to unqualified, see TUSCANY-2388
@@ -444,9 +429,8 @@
                         schema.setAttribute("attributeFormDefault", "qualified");
                         schema.setAttribute("targetNamespace", targetNS);
                         schema.setAttributeNS(XMLNS_NS, "xmlns:xs", SCHEMA_NS);
+                        schema.setAttributeNS(XMLNS_NS, "xmlns:tns", targetNS);
                         schemaDoc.appendChild(schema);
-                        Schema schemaExt = createSchemaExt(definition);
-                        schemaExt.setElement(schema);
                         prefixMaps.put(schema, new HashMap<String, String>());
                         xsDef = xsdFactory.createXSDefinition();
                         xsDef.setUnresolved(true);
@@ -456,7 +440,7 @@
                         xsDef.setLocation(URI.create("xsd_" + index + ".xsd"));
                         index++;
                         wrapperXSDs.put(targetNS, xsDef);
-                    } 
+                    }  
                 }
                 Element wrapper = schemaDoc.createElementNS(SCHEMA_NS, "xs:element");
                 schema.appendChild(wrapper);
@@ -477,6 +461,9 @@
                         String prefix = prefixMap.get(nsURI);
                         if (prefix == null) {
                             prefix = "ns" + i++;
+                            while(prefixMap.containsValue(prefix)){
+                                prefix = "ns" + i++;
+                            }
                             prefixMap.put(nsURI, prefix);
                             schema.setAttributeNS(XMLNS_NS, "xmlns:" + prefix, nsURI);
                             addSchemaImport(schema, nsURI, schemaDoc);
@@ -502,7 +489,6 @@
                             }
                             QName typeName = element.getType().getQName();
                             String nsURI = typeName.getNamespaceURI();
-                            // we shouldn't have type in a null namespace here
                             if ("".equals(nsURI)) {
                                 xsElement.setAttribute("type", typeName.getLocalPart());
                                 addSchemaImport(schema, "", schemaDoc);
@@ -516,6 +502,9 @@
 									    prefix = "tns";
 									} else {
                                         prefix = "ns" + i++;
+                                        while(prefixMap.containsValue(prefix)){
+                                            prefix = "ns" + i++;
+                                        }
                                         addSchemaImport(schema, nsURI, schemaDoc);
 									}
                                     prefixMap.put(nsURI, prefix);
@@ -531,31 +520,66 @@
  
             // resolve XSDefinitions containing generated wrappers
             for (XSDefinition xsDef: wrapperXSDs.values()) {
-                if (wsdlDefinition.getSchema(xsDef.getNamespace()) == null){
-                    wsdlDefinition.getXmlSchemas().add(xsDef);
+                if (wsdlDefinition.getSchema(xsDef.getNamespace()) == null) {
+                     wsdlDefinition.getXmlSchemas().add(xsDef);
                 }
+                
+                xsDef.setSchema(null);
+                xsDef.setSchemaCollection(null);
+                loadXSD(schemaCollection, xsDef);
             }
-        }   
+        }
         
-        // TUSCANY-3283 reload all of the schema to take account of any wrapper editing that's
-        //             happened. Can't just extend what's there as the schema collection won't
-        //             let me reload a schema that's already been loaded. 
-        schemaCollection = new XmlSchemaCollection();
+        XSDefinition noNamespaceSchema = null;
+        XSDefinition defaultNamespaceSchema = null;     
+
         for (XSDefinition xsDef: wsdlDefinition.getXmlSchemas()) {
-            xsDef.setSchema(null);
-            xsDef.setSchemaCollection(null);
-            loadXSD(schemaCollection, xsDef);
+            // only apply these changes if we have a DOM to work with
+            // this will generally come from the JAXB generation. SDO
+            // just goes straight to generating XmlSchema structures
+            Document doc = xsDef.getDocument();
+            if (doc != null) {
+                // TUSCANY-3283 find any schema that has been generated without a namespace
+                //              and any schema using the default WSDL schema so that we can
+                //              merge the two together              
+                if (xsDef.getNamespace().equals("")){
+                    noNamespaceSchema = xsDef;
+                }
+                if (xsDef.getNamespace().equals(namespaceURI)){
+                    defaultNamespaceSchema = xsDef;
+                } 
+            }
+        }     
+        
+        // TUSCANY-3283 merge the no namespace schema into the default namespace schema
+        if (noNamespaceSchema != null && defaultNamespaceSchema != null){
+            // remove the no namespace schema from our list of schema
+            wsdlDefinition.getXmlSchemas().remove(noNamespaceSchema);
+            // merge the schema with no namespace into the schema with the default namspace for this WSDL
+            mergeSchema(noNamespaceSchema, defaultNamespaceSchema, wsdlDefinition.getXmlSchemas());
+            
+            schemaCollection = new XmlSchemaCollection();
+            defaultNamespaceSchema.setSchema(null);
+            defaultNamespaceSchema.setSchemaCollection(null);
+            loadXSD(schemaCollection, defaultNamespaceSchema);
+        }        
+        
+        // push the schema into the WSDL 
+        for (XSDefinition xsDef: wsdlDefinition.getXmlSchemas()){
+            addSchemaExtension(xsDef, schemaCollection, wsdlDefinition, definition);
         }
         
-        // TUSCANY-3283
         // useful for debugging DOM issues
-        //for (XSDefinition xsDef : wsdlDefinition.getXmlSchemas()){
-        //    printDOM(xsDef.getDocument());
-        //}
-
+        //System.out.println("======================= Schema DOM =======================" );
+        //for (XSDefinition xsDef : wsdlDefinition.getXmlSchemas()) {
+        //    if (xsDef.getDocument() != null) {
+        //        printDOM(xsDef.getDocument());
+        //    }
+        //}        
+        
         return definition;
-    }
-    
+    }        
+   
     /**
      * TUSCANY-3283 
      * Merge the no namespace schema into the defualt namespace schema
@@ -566,7 +590,7 @@
      * @param defaultNamespaceSchema
      * @param xsDefinitions
      */
-    private void mergeSchema(XSDefinition noNamespaceSchema, XSDefinition defaultNamespaceSchema, List<XSDefinition> xsDefinitions){
+    private void mergeSchema(XSDefinition noNamespaceSchema, XSDefinition defaultNamespaceSchema, Collection<XSDefinition> xsDefinitions){
         Document fromDoc = noNamespaceSchema.getDocument();
         Document toDoc = defaultNamespaceSchema.getDocument();
           
@@ -597,7 +621,21 @@
             // merge the DOM types
             Node node = fromDoc.getDocumentElement().getChildNodes().item(i);
             Node newNode = toDoc.importNode(node, true);
-            toDoc.getDocumentElement().insertBefore(newNode, toDocFirstChild);
+            
+            if (newNode.getLocalName() != null && 
+                (newNode.getLocalName().equals("import") || 
+                 newNode.getLocalName().equals("include") ||
+                 newNode.getLocalName().equals("redefine") ||
+                 newNode.getLocalName().equals("annotation") )){
+            	toDoc.getDocumentElement().insertBefore(newNode, toDocFirstChild);
+            } else {
+            	toDoc.getDocumentElement().appendChild(newNode);
+            }
+        }
+        
+        // fix up any references to the types we've just moved
+        for(int i = 0; i < fromDoc.getDocumentElement().getChildNodes().getLength(); i++){
+            Node node = fromDoc.getDocumentElement().getChildNodes().item(i);
             
             // correct any references to no name types in other schema
             if (node.getLocalName() != null && 
@@ -611,12 +649,12 @@
     /**
      * TUSCANY-3283 
      * Correct any namespace prefixes in the no namespace schema to prevent them from 
-     * clashing when the non namespace schema is merged with the default schema
+     * clashing when the no namespace schema is merged with the default schema
      * 
      * @param fromSchema
      * @param fromPrefix
      * @param toPrefix
-     */
+     */   
     private void fixUpNoNamespaceNamespaces(Document fromSchema, String fromPrefix){
         NodeList elements = fromSchema.getElementsByTagNameNS("http://www.w3.org/2001/XMLSchema","element");
         for (int k = 0; k < elements.getLength(); k++){
@@ -631,7 +669,7 @@
             }
         }
     }
-    
+
     /**
      * TUSCANY-3283 
      * Correct any references in the schema list that used to point to types in the
@@ -639,59 +677,60 @@
      * 
      * @param fromSchema
      * @param toSchema
-     */
-    private void fixUpNoNamespaceReferences(List<XSDefinition> xsDefinitions, String typeName, String defaultNamespace){
+     */  
+    private void fixUpNoNamespaceReferences(Collection<XSDefinition> xsDefinitions, String typeName, String defaultNamespace){
         
         // fix up any references in any other schema that points to this type
         for (XSDefinition xsDef: xsDefinitions) {
 
-            // look for any imports of the no namespace schema
-            Document refSchema = xsDef.getDocument();
-            NodeList imports = refSchema.getElementsByTagNameNS("http://www.w3.org/2001/XMLSchema","import");
-            
-            for (int j = 0; j < imports.getLength(); j++){
-                Element _import = (Element)imports.item(j);
-                
-                // we only need to process this schema if JAXB determined that 
-                // it needed to import the no namespace schema
-                if (_import.getAttributes().getLength() == 0){
-                    if (xsDef.getNamespace().equals(defaultNamespace)){
-                        // remove the import
-                        _import.getParentNode().removeChild(_import);                        
-                    } else {
-                        // update the import to refer to the default namespace
-                        _import.setAttribute("namespace", defaultNamespace);
-                    }
-
-                    // look for any type attributes that refer to the 
-                    // node being merged
-                    NodeList elements = refSchema.getElementsByTagNameNS("http://www.w3.org/2001/XMLSchema","element");
-                    for (int k = 0; k < elements.getLength(); k++){
-                        Element element = (Element) elements.item(k);
-                        if (element != null && element.getAttributes() != null) {
-                            Node type = element.getAttributes().getNamedItem("type");
-                            
-                            if (type != null &&
-                                type.getNodeValue().equals(typeName)){
-                                if (xsDef.getNamespace().equals(defaultNamespace)){
-                                    // just add "tns" in front of the type name as
-                                    // we have merged the type into this schema
-                                    type.setNodeValue("tns:" + type.getNodeValue());
-                                } else {
-                                    // add a namespace 
-                                    refSchema.getDocumentElement().setAttributeNS("http://www.w3.org/2000/xmlns/", "xmlns:__nnns", defaultNamespace);
-    
-                                    // prefix the type name with the namespace
-                                    type.setNodeValue("__nnns:" + type.getNodeValue());
-                                }
-                            }
-                        }
-                    }
-                }
-            }
+        	if (xsDef.getDocument() != null){
+	            // look for any imports of the no namespace schema
+	            Document refSchema = xsDef.getDocument();
+	            NodeList imports = refSchema.getElementsByTagNameNS("http://www.w3.org/2001/XMLSchema","import");
+	            
+	            for (int j = 0; j < imports.getLength(); j++){
+	                Element _import = (Element)imports.item(j);
+	                
+	                // Fix up the import
+	                if (_import.getAttributes().getLength() == 0){
+	                    if (xsDef.getNamespace().equals(defaultNamespace)){
+	                        // remove the import
+	                        _import.getParentNode().removeChild(_import);                        
+	                    } else {
+	                        // update the import to refer to the default namespace
+	                        _import.setAttribute("namespace", defaultNamespace);
+	                    }
+	                }
+	            }
+	
+	            // look for any type attributes that refer to the 
+	            // node being merged
+	            NodeList elements = refSchema.getElementsByTagNameNS("http://www.w3.org/2001/XMLSchema","element");
+	            for (int k = 0; k < elements.getLength(); k++){
+	                Element element = (Element) elements.item(k);
+	                if (element != null && element.getAttributes() != null) {
+	                    Node type = element.getAttributes().getNamedItem("type");
+	                    
+	                    if (type != null &&
+	                        type.getNodeValue().equals(typeName)){
+	                        if (xsDef.getNamespace().equals(defaultNamespace)){
+	                            // just add "tns" in front of the type name as
+	                            // we have merged the type into this schema
+	                            type.setNodeValue("tns:" + type.getNodeValue());
+	                        } else {
+	                            // add a namespace 
+	                            refSchema.getDocumentElement().setAttributeNS("http://www.w3.org/2000/xmlns/", "xmlns:__nnns", defaultNamespace);
+	
+	                            // prefix the type name with the namespace
+	                            type.setNodeValue("__nnns:" + type.getNodeValue());
+	                        }
+	                    }
+	                }
+	            }
+        	}
         }
     }
-    
+
     /*
      * Just used when debugging DOM problems
      */
@@ -764,8 +803,8 @@
                     throw new RuntimeException(e);
                 }
             }
-            loadXSD(schemaCollection, xsDef);
-            wsdlDefinition.getXmlSchemas().add(xsDef);
+            //loadXSD(schemaCollection, xsDef);
+            //wsdlDefinition.getXmlSchemas().add(xsDef);
             Element schema = document.getDocumentElement();
             Schema schemaExt = createSchemaExt(definition);
             schemaExt.setDocumentBaseURI(document.getDocumentURI());