diff options
author | slaws <slaws@13f79535-47bb-0310-9956-ffa450edef68> | 2009-10-09 15:50:47 +0000 |
---|---|---|
committer | slaws <slaws@13f79535-47bb-0310-9956-ffa450edef68> | 2009-10-09 15:50:47 +0000 |
commit | 89cf22690e705fbdac45455d82f94be22b8704c4 (patch) | |
tree | 42178e33b449d2f6ddf90d50471f9032437a708f | |
parent | 4b08fe9f7f408dfc525a9bb1c4b87a599d378f27 (diff) |
TUSCANY-3283 - update to match the latest changes from the 1.5.2 branch
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@823595 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to '')
3 files changed, 485 insertions, 459 deletions
diff --git a/branches/sca-java-1.x/itest/wsdlgen/src/main/resources/wsdl/HelloWorldService_TuscanyGen.wsdl b/branches/sca-java-1.x/itest/wsdlgen/src/main/resources/wsdl/HelloWorldService_TuscanyGen.wsdl index 2f7b40e0ed..6c6d8c6637 100644 --- a/branches/sca-java-1.x/itest/wsdlgen/src/main/resources/wsdl/HelloWorldService_TuscanyGen.wsdl +++ b/branches/sca-java-1.x/itest/wsdlgen/src/main/resources/wsdl/HelloWorldService_TuscanyGen.wsdl @@ -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. - --> + <!-- + * 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 --> + <!-- + 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" /> + 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"> - <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" /> + </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> - <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> + </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> - <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> + <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"> - <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: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: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> + </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: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: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: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: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: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: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: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> + <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"> - <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> + <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: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> + <wsdl:operation name="getGreetingsDBean"> + <SOAP:operation /> + <wsdl:input> + <SOAP:body use="literal" /> + </wsdl:input> + <wsdl:output> + <SOAP:body use="literal" /> + </wsdl:output> - <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:operation> + <wsdl:operation name="getGreetingsBean"> + <SOAP:operation /> + <wsdl:input> + <SOAP:body use="literal" /> + </wsdl:input> + <wsdl:output> + <SOAP:body use="literal" /> + </wsdl:output> - <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:operation> + <wsdl:operation name="getGreetingsBeanArray"> + <SOAP:operation /> + <wsdl:input> + <SOAP:body use="literal" /> + </wsdl:input> + <wsdl:output> + <SOAP:body use="literal" /> + </wsdl:output> - </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> + </wsdl:operation> + <wsdl:operation name="getGreetingsBBean"> + <SOAP:operation /> + <wsdl:input> + <SOAP:body use="literal" /> + </wsdl:input> + <wsdl:output> + <SOAP:body use="literal" /> + </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> + </wsdl:operation> + <wsdl:operation name="getGreetingsCBean"> + <SOAP:operation /> + <wsdl:input> + <SOAP:body use="literal" /> + </wsdl:input> + <wsdl:output> + <SOAP:body use="literal" /> + </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> + </wsdl:operation> + </wsdl:binding> - <SOAP:body use="literal" /> - </wsdl:output> - </wsdl:operation> - <wsdl:operation name="getGreetingsBeanArray"> - <SOAP:operation /> - <wsdl:input> - <SOAP:body use="literal" /> - </wsdl:input> - <wsdl:output> + <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> - <SOAP:body use="literal" /> - </wsdl:output> - </wsdl:operation> - <wsdl:operation name="getGreetingsBBean"> - <SOAP:operation /> - <wsdl:input> - <SOAP:body use="literal" /> - </wsdl:input> - <wsdl:output> + <wsdl:output> + <SOAP:body use="literal" /> + </wsdl:output> + </wsdl:operation> - <SOAP:body use="literal" /> - </wsdl:output> - </wsdl:operation> - <wsdl:operation name="getGreetingsCBean"> - <SOAP:operation /> - <wsdl:input> - <SOAP:body use="literal" /> - </wsdl:input> - <wsdl:output> + </wsdl:binding> - <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&java.naming.factory.initial=org.apache.activemq.jndi.ActiveMQInitialContextFactory&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:service name="HelloWorldService"> + <wsdl:port name="HelloWorldJmsPort" binding="HelloWorldJmsBinding"> + <SOAP:address + location="jms:/queue.sample?transport.jms.ConnectionFactoryJNDIName=QueueConnectionFactory&java.naming.factory.initial=org.apache.activemq.jndi.ActiveMQInitialContextFactory&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> diff --git a/branches/sca-java-1.x/itest/wsdlgen/src/test/java/helloworld/HttpTransportTestCase.java b/branches/sca-java-1.x/itest/wsdlgen/src/test/java/helloworld/HttpTransportTestCase.java index c5c1d50bc1..22f154fbf3 100644 --- a/branches/sca-java-1.x/itest/wsdlgen/src/test/java/helloworld/HttpTransportTestCase.java +++ b/branches/sca-java-1.x/itest/wsdlgen/src/test/java/helloworld/HttpTransportTestCase.java @@ -50,6 +50,17 @@ public class HttpTransportTestCase{ 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 @@ public class HttpTransportTestCase{ // 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 diff --git a/branches/sca-java-1.x/modules/binding-ws-wsdlgen/src/main/java/org/apache/tuscany/sca/binding/ws/wsdlgen/Interface2WSDLGenerator.java b/branches/sca-java-1.x/modules/binding-ws-wsdlgen/src/main/java/org/apache/tuscany/sca/binding/ws/wsdlgen/Interface2WSDLGenerator.java index 80fb74ff64..34b7ed7bef 100644 --- a/branches/sca-java-1.x/modules/binding-ws-wsdlgen/src/main/java/org/apache/tuscany/sca/binding/ws/wsdlgen/Interface2WSDLGenerator.java +++ b/branches/sca-java-1.x/modules/binding-ws-wsdlgen/src/main/java/org/apache/tuscany/sca/binding/ws/wsdlgen/Interface2WSDLGenerator.java @@ -22,6 +22,7 @@ package org.apache.tuscany.sca.binding.ws.wsdlgen; 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.Problem.Severity; 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 @@ public class Interface2WSDLGenerator { 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 @@ public class Interface2WSDLGenerator { } } } - 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 @@ public class Interface2WSDLGenerator { 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 @@ public class Interface2WSDLGenerator { 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 @@ public class Interface2WSDLGenerator { 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 @@ public class Interface2WSDLGenerator { 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 @@ public class Interface2WSDLGenerator { 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 @@ public class Interface2WSDLGenerator { } 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 @@ public class Interface2WSDLGenerator { 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 @@ public class Interface2WSDLGenerator { // 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 @@ public class Interface2WSDLGenerator { * @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 @@ public class Interface2WSDLGenerator { // 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 @@ public class Interface2WSDLGenerator { /** * 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 @@ public class Interface2WSDLGenerator { } } } - + /** * TUSCANY-3283 * Correct any references in the schema list that used to point to types in the @@ -639,59 +677,60 @@ public class Interface2WSDLGenerator { * * @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 @@ public class Interface2WSDLGenerator { 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()); |