dims 2003/01/19 13:25:11 Modified: java/src/org/apache/axis Constants.java java/src/org/apache/axis/wsdl/symbolTable FaultInfo.java SymbolTable.java java/src/org/apache/axis/wsdl/toJava JavaSkelWriter.java JavaStubWriter.java Utils.java java/test/soap12 TestDeser.java TestHrefs.java TestRPC.java TestVersionMismatch.java java/src/org/apache/axis/utils WSDLUtils.java Added: java/test/wsdl/soap12/assertion build.xml soap12-test.wsdl Soap12TestDocBindingImpl.java Soap12TestRpcBindingImpl.java WhiteMesaSoap12TestSvcTestCase.java java/test/wsdl/soap12/additional soap12-add-test.wsdl Log: - Updating to latest SOAP1.2 CR (http://www.w3.org/TR/soap12-part1/) - Upgrading WSDL2Java to support WSDL 1.2 as well (http://www.w3.org/TR/2002/WD-wsdl12-20020709/) - Started work on test cases for both in test\wsdl\soap12 directory - Picked up 2 wsdls from http://www.whitemesa.net/test-soap12/soap12-test-index.htm - Currently test\wsdl\soap12\additional\soap12-add-test.wsdl points to WhiteMesa's endpoint. Notes: - FYI, WSDL4J does not support DIME or SOAP1.2. Had to use UnknownExtensibilityElement to extract info :-( Revision Changes Path 1.1 xml-axis/java/test/wsdl/soap12/assertion/build.xml Index: build.xml =================================================================== <?xml version="1.0"?> <!DOCTYPE project [ <!ENTITY properties SYSTEM "file:../../../../xmls/properties.xml"> <!ENTITY paths SYSTEM "file:../../../../xmls/path_refs.xml"> <!ENTITY taskdefs SYSTEM "file:../../../../xmls/taskdefs.xml"> <!ENTITY taskdefs_post_compile SYSTEM "file:../../../../xmls/taskdefs_post_compile.xml"> <!ENTITY targets SYSTEM "file:../../../../xmls/targets.xml"> ]> <!-- =================================================================== <description> Test/Sample Component file for Axis Notes: This is a build file for use with the Jakarta Ant build tool. Prerequisites: jakarta-ant from http://jakarta.apache.org Build Instructions: To compile ant compile To execute ant run Author: Matt Seibert [EMAIL PROTECTED] Glen Daniels [EMAIL PROTECTED] Copyright: Copyright (c) 2002-2003 Apache Software Foundation. </description> ==================================================================== --> <project name="Round4" default="compile"> <property name="axis.home" location="../../../.." /> <property name="componentName" value="test/wsdl/soap12/assertion" /> &properties; &paths; &taskdefs; &taskdefs_post_compile; &targets; <property name="root.dir" value="../../../.."/> <target name="clean"> <echo message="Removing ${build.dir}/classes/${componentName} and ${build.dir}/work/${componentName}" /> <delete dir="${build.dir}/classes/${componentName}"/> <delete dir="${build.dir}/work/${componentName}"/> </target> <target name="compile" depends="setenv"> <property name="testname" value="assertion"/> <!-- generate skeletons --> <wsdl2java url="${axis.home}/test/wsdl/soap12/assertion/soap12-test.wsdl" output="${root.dir}/build/work" skeletonDeploy="no" testCase="yes" timeout="-1" serverSide="yes"> <mapping namespace="http://whitemesa.net/wsdl/soap12-test" package="test.wsdl.soap12.assertion"/> <mapping namespace="http://example.org/ts-tests/xsd" package="test.wsdl.soap12.assertion.xsd"/> </wsdl2java> <mkdir dir="${build.dest}"/> <copy todir="${build.dir}/work/test/wsdl/soap12/assertion" overwrite="yes"> <fileset dir="${axis.home}/test/wsdl/soap12/assertion"> <include name="*TestCase.java"/> <include name="*Impl.java"/> </fileset> </copy> <!-- compile the code --> <javac srcdir="${build.dir}/work" destdir="${build.dest}" debug="on"> <classpath refid="classpath" /> <include name="test/wsdl/soap12/assertion/**/*.java" /> </javac> </target> <target name="run" > <antcall target="execute-Component" /> </target> </project> 1.1 xml-axis/java/test/wsdl/soap12/assertion/soap12-test.wsdl Index: soap12-test.wsdl =================================================================== <?xml version="1.0"?> <definitions name="SOAP-12-TestDefinitions" targetNamespace="http://whitemesa.net/wsdl/soap12-test" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:enc="http://www.w3.org/2002/12/soap-encoding" xmlns:tns="http://whitemesa.net/wsdl/soap12-test" xmlns:types="http://example.org/ts-tests/xsd" xmlns:test="http://example.org/ts-tests" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"> <types> <schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://example.org/ts-tests/xsd"> <import namespace="http://www.w3.org/2002/12/soap-encoding" /> <complexType name="ArrayOfstring"> <complexContent> <restriction base="enc:Array"> <sequence> <element name="item" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/> </sequence> <attributeGroup ref="enc:arrayAttributes" /> <attributeGroup ref="enc:commonAttributes" /> </restriction> </complexContent> </complexType> <complexType name="ArrayOfint"> <complexContent> <restriction base="enc:Array"> <sequence> <element name="item" type="xsd:int" minOccurs="0" maxOccurs="unbounded"/> </sequence> <attributeGroup ref="enc:arrayAttributes" /> <attributeGroup ref="enc:commonAttributes" /> </restriction> </complexContent> </complexType> <complexType name="ArrayOffloat"> <complexContent> <restriction base="enc:Array"> <sequence> <element name="item" type="xsd:float" minOccurs="0" maxOccurs="unbounded"/> </sequence> <attributeGroup ref="enc:arrayAttributes" /> <attributeGroup ref="enc:commonAttributes" /> </restriction> </complexContent> </complexType> <complexType name="ArrayOfSOAPStruct"> <complexContent> <restriction base="enc:Array"> <sequence> <element name="item" type="types:SOAPStruct" minOccurs="0" maxOccurs="unbounded"/> </sequence> <attributeGroup ref="enc:arrayAttributes" /> <attributeGroup ref="enc:commonAttributes" /> </restriction> </complexContent> </complexType> <complexType name="SOAPStruct"> <all> <element name="varString" type="xsd:string"/> <element name="varInt" type="xsd:int"/> <element name="varFloat" type="xsd:float"/> </all> </complexType> <complexType name="SOAPStructStruct"> <all> <element name="varString" type="xsd:string"/> <element name="varInt" type="xsd:int"/> <element name="varFloat" type="xsd:float"/> <element name="varStruct" type="types:SOAPStruct"/> </all> </complexType> <complexType name="SOAPArrayStruct"> <all> <element name="varString" type="xsd:string"/> <element name="varInt" type="xsd:int"/> <element name="varFloat" type="xsd:float"/> <element name="varArray" type="types:ArrayOfstring"/> </all> </complexType> </schema> <schema xmlns="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" targetNamespace="http://example.org/ts-tests"> <import namespace="http://www.w3.org/1999/xlink" /> <!-- 3.2.1 echoOk --> <element name="echoOk" type="xsd:string"/> <!-- 3.2.2 responseOk --> <element name="responseOk" type="xsd:string"/> <!-- 3.2.3 Ignore --> <element name="Ignore" type="xsd:string"/> <!-- 3.2.4 requiredHeader --> <element name="requiredHeader" type="xsd:string"/> <!-- 3.2.5 DataHolder --> <element name="DataHolder" type="test:DataHolder_t"/> <complexType name="DataHolder_t"> <sequence> <element name="Data" type="xsd:string" minOccurs="1" maxOccurs="unbounded"/> </sequence> </complexType> <!-- 3.2.6 concatAndForwardEchoOk --> <element name="concatAndForwardEchoOk"/> <!-- 3.2.7 concatAndForwardEchoOkArg1 --> <element name="concatAndForwardEchoOkArg1" type="xsd:string"/> <!-- 3.2.8 concatAndForwardEchoOkArg2 --> <element name="concatAndForwardEchoOkArg2" type="xsd:string"/> <!-- 3.2.9 validateCountryCode --> <element name="validateCountryCode" type="xsd:string"/> <!-- 3.2.10 validateCountryCodeFault --> <element name="validateCountryCodeFault" type="xsd:string"/> <!-- 3.2.11 echoResolvedRef --> <element name="RelativeReference" type="test:RelativeReference_t"/> <complexType name="RelativeReference_t"> <attribute ref="xml:base"/> <attribute ref="xlink:href"/> </complexType> <element name="echoResolvedRef" type="test:echoResolvedRef_t"/> <complexType name="echoResolvedRef_t"> <complexContent> <sequence> <element ref="test:RelativeReference" minOccurs="1" maxOccurs="1"/> </sequence> </complexContent> </complexType> <!-- 3.2.12 responseResolvedRef --> <element name="responseResolvedRef" type="xsd:string"/> <!-- echoOkUltimateReceiver added to support testing of "relay" --> <element name="echoOkUltimateReceiver" type="xsd:string"/> <!-- responseOkUltimateReceiver added to support testing of "relay" --> <element name="responseOkUltimateReceiver" type="xsd:string"/> </schema> </types> <!-- 3.4.1 returnVoid rpc operation --> <message name="returnVoidRequest"/> <message name="returnVoidResponse"/> <!-- 3.4.2 echoStruct rpc operation --> <message name="echoStructRequest"> <part name="inputStruct" type="types:SOAPStruct"/> </message> <message name="echoStructResponse"> <part name="return" type="types:SOAPStruct"/> </message> <!-- 3.4.3 echoStructArray rpc operation --> <message name="echoStructArrayRequest"> <part name="inputStructArray" type="types:ArrayOfSOAPStruct"/> </message> <message name="echoStructArrayResponse"> <part name="return" type="types:ArrayOfSOAPStruct"/> </message> <!-- 3.4.4 echoStructAsSimpleTypes rpc operation --> <message name="echoStructAsSimpleTypesRequest"> <part name="inputStruct" type="types:SOAPStruct"/> </message> <message name="echoStructAsSimpleTypesResponse"> <part name="outputString" type="xsd:string"/> <part name="outputInteger" type="xsd:int"/> <part name="outputFloat" type="xsd:float"/> </message> <!-- 3.4.5 echoSimpleTypesAsStruct rpc operation --> <message name="echoSimpleTypesAsStructRequest"> <part name="inputString" type="xsd:string"/> <part name="inputInteger" type="xsd:int"/> <part name="inputFloat" type="xsd:float"/> </message> <message name="echoSimpleTypesAsStructResponse"> <part name="return" type="types:SOAPStruct"/> </message> <!-- 3.4.6 echoNestedStruct rpc operation --> <message name="echoNestedStructRequest"> <part name="inputStruct" type="types:SOAPStructStruct"/> </message> <message name="echoNestedStructResponse"> <part name="return" type="types:SOAPStructStruct"/> </message> <!-- 3.4.7 echoNestedArray rpc operation --> <message name="echoNestedArrayRequest"> <part name="inputStruct" type="types:SOAPArrayStruct"/> </message> <message name="echoNestedArrayResponse"> <part name="return" type="types:SOAPArrayStruct"/> </message> <!-- 3.4.8 echoFloatArray rpc operation --> <message name="echoFloatArrayRequest"> <part name="inputFloatArray" type="types:ArrayOffloat"/> </message> <message name="echoFloatArrayResponse"> <part name="return" type="types:ArrayOffloat"/> </message> <!-- 3.4.9 echoStringArray rpc operation --> <message name="echoStringArrayRequest"> <part name="inputStringArray" type="types:ArrayOfstring"/> </message> <message name="echoStringArrayResponse"> <part name="return" type="types:ArrayOfstring"/> </message> <!-- 3.4.10 echoIntegerArray rpc operation --> <message name="echoIntegerArrayRequest"> <part name="inputIntegerArray" type="types:ArrayOfint"/> </message> <message name="echoIntegerArrayResponse"> <part name="return" type="types:ArrayOfint"/> </message> <!-- 3.4.11 echoBase64 rpc operation --> <message name="echoBase64Request"> <part name="inputBase64" type="xsd:base64Binary"/> </message> <message name="echoBase64Response"> <part name="return" type="xsd:base64Binary"/> </message> <!-- 3.4.12 echoBoolean rpc operation --> <message name="echoBooleanRequest"> <part name="inputBoolean" type="xsd:boolean"/> </message> <message name="echoBooleanResponse"> <part name="return" type="xsd:boolean"/> </message> <!-- 3.4.13 echoDate rpc operation --> <message name="echoDateRequest"> <part name="inputDate" type="xsd:dateTime"/> </message> <message name="echoDateResponse"> <part name="return" type="xsd:dateTime"/> </message> <!-- 3.4.14 echoDecimal rpc operation --> <message name="echoDecimalRequest"> <part name="inputDecimal" type="xsd:decimal"/> </message> <message name="echoDecimalResponse"> <part name="return" type="xsd:decimal"/> </message> <!-- 3.4.15 echoFloat rpc operation --> <message name="echoFloatRequest"> <part name="inputFloat" type="xsd:float"/> </message> <message name="echoFloatResponse"> <part name="return" type="xsd:float"/> </message> <!-- 3.4.16 echoString rpc operation --> <message name="echoStringRequest"> <part name="inputString" type="xsd:string"/> </message> <message name="echoStringResponse"> <part name="return" type="xsd:string"/> </message> <!-- 3.4.17 countItems rpc operation --> <message name="countItemsRequest"> <part name="inputStringArray" type="types:ArrayOfstring"/> </message> <message name="countItemsResponse"> <part name="return" type="xsd:int"/> </message> <!-- 3.4.18 isNil rpc operation --> <message name="isNilRequest"> <part name="inputString" type="xsd:string"/> </message> <message name="isNilResponse"> <part name="return" type="xsd:boolean"/> </message> <!-- DataHolder header block --> <message name="DataHolderRequest"> <part name="DataHolder" type="test:DataHolder_t"/> </message> <message name="DataHolderResponse"> <part name="DataHolder" type="test:DataHolder_t"/> </message> <!-- empty message for doc/literal testing --> <message name="emptyBodyRequest"/> <message name="emptyBodyResponse"/> <!-- echoOk body/header block --> <message name="echoOkRequest"> <part name="echoOk" element="test:echoOk"/> </message> <message name="echoOkResponse"> <part name="responseOk" element="test:responseOk"/> </message> <portType name="Soap12TestPortTypeDoc"> <operation name="emptyBody"> <input message="tns:emptyBodyRequest" /> <output message="tns:emptyBodyResponse" /> </operation> <operation name="echoOk"> <input message="tns:echoOkRequest" /> <output message="tns:echoOkResponse" /> </operation> </portType> <portType name="Soap12TestPortTypeRpc"> <!-- 3.4.1 returnVoid rpc operation --> <operation name="returnVoid"> <input message="tns:returnVoidRequest" name="returnVoid"/> <output message="tns:returnVoidResponse" name="returnVoidResponse"/> </operation> <!-- 3.4.2 echoStruct rpc operation --> <operation name="echoStruct" parameterOrder="inputStruct"> <input message="tns:echoStructRequest" name="echoStruct"/> <output message="tns:echoStructResponse" name="echoStructResponse"/> </operation> <!-- 3.4.3 echoStructArray rpc operation --> <operation name="echoStructArray" parameterOrder="inputStructArray"> <input message="tns:echoStructArrayRequest" name="echoStructArray"/> <output message="tns:echoStructArrayResponse" name="echoStructArrayResponse"/> </operation> <!-- 3.4.4 echoStructAsSimpleTypes rpc operation --> <operation name="echoStructAsSimpleTypes" parameterOrder="inputStruct outputString outputInteger outputFloat"> <input message="tns:echoStructAsSimpleTypesRequest"/> <output message="tns:echoStructAsSimpleTypesResponse"/> </operation> <!-- 3.4.5 echoSimpleTypesAsStruct rpc operation --> <operation name="echoSimpleTypesAsStruct" parameterOrder="inputString inputInteger inputFloat"> <input message="tns:echoSimpleTypesAsStructRequest"/> <output message="tns:echoSimpleTypesAsStructResponse"/> </operation> <!-- 3.4.6 echoNestedStruct rpc operation --> <operation name="echoNestedStruct" parameterOrder="inputStruct"> <input message="tns:echoNestedStructRequest"/> <output message="tns:echoNestedStructResponse"/> </operation> <!-- 3.4.7 echoNestedArray rpc operation --> <operation name="echoNestedArray" parameterOrder="inputStruct"> <input message="tns:echoNestedArrayRequest"/> <output message="tns:echoNestedArrayResponse"/> </operation> <!-- 3.4.8 echoFloatArray rpc operation --> <operation name="echoFloatArray" parameterOrder="inputFloatArray"> <input message="tns:echoFloatArrayRequest" name="echoFloatArray"/> <output message="tns:echoFloatArrayResponse" name="echoFloatArrayResponse"/> </operation> <!-- 3.4.9 echoStringArray rpc operation --> <operation name="echoStringArray" parameterOrder="inputStringArray"> <input message="tns:echoStringArrayRequest" name="echoStringArray"/> <output message="tns:echoStringArrayResponse" name="echoStringArrayResponse"/> </operation> <!-- 3.4.10 echoIntegerArray rpc operation --> <operation name="echoIntegerArray" parameterOrder="inputIntegerArray"> <input message="tns:echoIntegerArrayRequest" name="echoIntegerArray"/> <output message="tns:echoIntegerArrayResponse" name="echoIntegerArrayResponse"/> </operation> <!-- 3.4.11 echoBase64 rpc operation --> <operation name="echoBase64" parameterOrder="inputBase64"> <input message="tns:echoBase64Request" name="echoBase64"/> <output message="tns:echoBase64Response" name="echoBase64Response"/> </operation> <!-- 3.4.12 echoBoolean rpc operation --> <operation name="echoBoolean" parameterOrder="inputBoolean"> <input message="tns:echoBooleanRequest" name="echoBoolean"/> <output message="tns:echoBooleanResponse" name="echoBooleanResponse"/> </operation> <!-- 3.4.13 echoDate rpc operation --> <operation name="echoDate" parameterOrder="inputDate"> <input message="tns:echoDateRequest" name="echoDate"/> <output message="tns:echoDateResponse" name="echoDateResponse"/> </operation> <!-- 3.4.14 echoDecimal rpc operation --> <operation name="echoDecimal" parameterOrder="inputDecimal"> <input message="tns:echoDecimalRequest" name="echoDecimal"/> <output message="tns:echoDecimalResponse" name="echoDecimalResponse"/> </operation> <!-- 3.4.15 echoFloat rpc operation --> <operation name="echoFloat" parameterOrder="inputFloat"> <input message="tns:echoFloatRequest" name="echoFloat"/> <output message="tns:echoFloatResponse" name="echoFloatResponse"/> </operation> <!-- 3.4.16 echoString rpc operation --> <operation name="echoString" parameterOrder="inputString"> <input message="tns:echoStringRequest" name="echoString"/> <output message="tns:echoStringResponse" name="echoStringResponse"/> </operation> <!-- 3.4.17 countItems rpc operation --> <operation name="countItems" parameterOrder="inputStringArray"> <input message="tns:countItemsRequest" name="countItems"/> <output message="tns:countItemsResponse" name="countItemsResponse"/> </operation> <!-- 3.4.18 isNil rpc operation --> <operation name="isNil" parameterOrder="inputString"> <input message="tns:isNilRequest" name="isNil"/> <output message="tns:isNilResponse" name="isNilResponse"/> </operation> </portType> <binding name="Soap12TestDocBinding" type="tns:Soap12TestPortTypeDoc"> <soap12:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" /> <operation name="emptyBody"> <soap12:operation/> <input> <soap12:body use="literal" /> <soap12:header message="tns:echoOkRequest" part="echoOk" use="literal" /> </input> <output> <soap12:body use="literal" /> <soap12:header message="tns:echoOkResponse" part="responseOk" use="literal" /> </output> </operation> <operation name="echoOk"> <soap12:operation/> <input> <soap12:body use="literal" /> <soap12:header message="tns:echoOkRequest" part="echoOk" use="literal" /> </input> <output> <soap12:body use="literal" /> <soap12:header message="tns:echoOkResponse" part="responseOk" use="literal" /> </output> </operation> </binding> <binding name="Soap12TestRpcBinding" type="tns:Soap12TestPortTypeRpc"> <soap12:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/> <!-- 3.4.1 returnVoid rpc operation --> <operation name="returnVoid"> <soap12:operation/> <input> <soap12:body use="encoded" namespace="http://example.org/ts-tests" encodingStyle="http://www.w3.org/2002/12/soap-encoding"/> </input> <output> <soap12:body use="encoded" namespace="http://example.org/ts-tests" encodingStyle="http://www.w3.org/2002/12/soap-encoding"/> </output> </operation> <!-- 3.4.2 echoStruct rpc operation --> <operation name="echoStruct"> <soap12:operation/> <input> <soap12:body use="encoded" namespace="http://example.org/ts-tests" encodingStyle="http://www.w3.org/2002/12/soap-encoding"/> </input> <output> <soap12:body use="encoded" namespace="http://example.org/ts-tests" encodingStyle="http://www.w3.org/2002/12/soap-encoding"/> </output> </operation> <!-- 3.4.3 echoStructArray rpc operation --> <operation name="echoStructArray"> <soap12:operation/> <input> <soap12:body use="encoded" namespace="http://example.org/ts-tests" encodingStyle="http://www.w3.org/2002/12/soap-encoding"/> </input> <output> <soap12:body use="encoded" namespace="http://example.org/ts-tests" encodingStyle="http://www.w3.org/2002/12/soap-encoding"/> </output> </operation> <!-- 3.4.4 echoStructAsSimpleTypes rpc operation --> <operation name="echoStructAsSimpleTypes"> <soap12:operation/> <input> <soap12:body use="encoded" namespace="http://example.org/ts-tests" encodingStyle="http://www.w3.org/2002/12/soap-encoding"/> </input> <output> <soap12:body use="encoded" namespace="http://example.org/ts-tests" encodingStyle="http://www.w3.org/2002/12/soap-encoding"/> </output> </operation> <!-- 3.4.5 echoSimpleTypesAsStruct rpc operation --> <operation name="echoSimpleTypesAsStruct"> <soap12:operation/> <input> <soap12:body use="encoded" namespace="http://example.org/ts-tests" encodingStyle="http://www.w3.org/2002/12/soap-encoding"/> </input> <output> <soap12:body use="encoded" namespace="http://example.org/ts-tests" encodingStyle="http://www.w3.org/2002/12/soap-encoding"/> </output> </operation> <!-- 3.4.6 echoNestedStruct rpc operation --> <operation name="echoNestedStruct"> <soap12:operation/> <input> <soap12:body use="encoded" namespace="http://example.org/ts-tests" encodingStyle="http://www.w3.org/2002/12/soap-encoding"/> </input> <output> <soap12:body use="encoded" namespace="http://example.org/ts-tests" encodingStyle="http://www.w3.org/2002/12/soap-encoding"/> </output> </operation> <!-- 3.4.7 echoNestedArray rpc operation --> <operation name="echoNestedArray"> <soap12:operation/> <input> <soap12:body use="encoded" namespace="http://example.org/ts-tests" encodingStyle="http://www.w3.org/2002/12/soap-encoding"/> </input> <output> <soap12:body use="encoded" namespace="http://example.org/ts-tests" encodingStyle="http://www.w3.org/2002/12/soap-encoding"/> </output> </operation> <!-- 3.4.8 echoFloatArray rpc operation --> <operation name="echoFloatArray"> <soap12:operation/> <input> <soap12:body use="encoded" namespace="http://example.org/ts-tests" encodingStyle="http://www.w3.org/2002/12/soap-encoding"/> </input> <output> <soap12:body use="encoded" namespace="http://example.org/ts-tests" encodingStyle="http://www.w3.org/2002/12/soap-encoding"/> </output> </operation> <!-- 3.4.9 echoStringArray rpc operation --> <operation name="echoStringArray"> <soap12:operation/> <input> <soap12:body use="encoded" namespace="http://example.org/ts-tests" encodingStyle="http://www.w3.org/2002/12/soap-encoding"/> </input> <output> <soap12:body use="encoded" namespace="http://example.org/ts-tests" encodingStyle="http://www.w3.org/2002/12/soap-encoding"/> </output> </operation> <!-- 3.4.10 echoIntegerArray rpc operation --> <operation name="echoIntegerArray"> <soap12:operation/> <input> <soap12:body use="encoded" namespace="http://example.org/ts-tests" encodingStyle="http://www.w3.org/2002/12/soap-encoding"/> </input> <output> <soap12:body use="encoded" namespace="http://example.org/ts-tests" encodingStyle="http://www.w3.org/2002/12/soap-encoding"/> </output> </operation> <!-- 3.4.11 echoBase64 rpc operation --> <operation name="echoBase64"> <soap12:operation/> <input> <soap12:body use="encoded" namespace="http://example.org/ts-tests" encodingStyle="http://www.w3.org/2002/12/soap-encoding"/> </input> <output> <soap12:body use="encoded" namespace="http://example.org/ts-tests" encodingStyle="http://www.w3.org/2002/12/soap-encoding"/> </output> </operation> <!-- 3.4.12 echoBoolean rpc operation --> <operation name="echoBoolean"> <soap12:operation/> <input> <soap12:body use="encoded" namespace="http://example.org/ts-tests" encodingStyle="http://www.w3.org/2002/12/soap-encoding"/> </input> <output> <soap12:body use="encoded" namespace="http://example.org/ts-tests" encodingStyle="http://www.w3.org/2002/12/soap-encoding"/> </output> </operation> <!-- 3.4.13 echoDate rpc operation --> <operation name="echoDate"> <soap12:operation/> <input> <soap12:body use="encoded" namespace="http://example.org/ts-tests" encodingStyle="http://www.w3.org/2002/12/soap-encoding"/> </input> <output> <soap12:body use="encoded" namespace="http://example.org/ts-tests" encodingStyle="http://www.w3.org/2002/12/soap-encoding"/> </output> </operation> <!-- 3.4.14 echoDecimal rpc operation --> <operation name="echoDecimal"> <soap12:operation/> <input> <soap12:body use="encoded" namespace="http://example.org/ts-tests" encodingStyle="http://www.w3.org/2002/12/soap-encoding"/> </input> <output> <soap12:body use="encoded" namespace="http://example.org/ts-tests" encodingStyle="http://www.w3.org/2002/12/soap-encoding"/> </output> </operation> <!-- 3.4.15 echoFloat rpc operation --> <operation name="echoFloat"> <soap12:operation/> <input> <soap12:body use="encoded" namespace="http://example.org/ts-tests" encodingStyle="http://www.w3.org/2002/12/soap-encoding"/> </input> <output> <soap12:body use="encoded" namespace="http://example.org/ts-tests" encodingStyle="http://www.w3.org/2002/12/soap-encoding"/> </output> </operation> <!-- 3.4.16 echoString rpc operation --> <operation name="echoString"> <soap12:operation/> <input> <soap12:body use="encoded" namespace="http://example.org/ts-tests" encodingStyle="http://www.w3.org/2002/12/soap-encoding"/> <soap12:header use="encoded" message="tns:DataHolder_Request" part="DataHolder" namespace="http://example.org/ts-tests" encodingStyle="http://www.w3.org/2002/12/soap-encoding"/> </input> <output> <soap12:body use="encoded" namespace="http://example.org/ts-tests" encodingStyle="http://www.w3.org/2002/12/soap-encoding"/> <soap12:header use="encoded" message="tns:DataHolder_Response" part="DataHolder" namespace="http://example.org/ts-tests" encodingStyle="http://www.w3.org/2002/12/soap-encoding"/> </output> </operation> <!-- 3.4.17 countItems rpc operation --> <operation name="countItems"> <soap12:operation/> <input> <soap12:body use="encoded" namespace="http://example.org/ts-tests" encodingStyle="http://www.w3.org/2002/12/soap-encoding"/> </input> <output> <soap12:body use="encoded" namespace="http://example.org/ts-tests" encodingStyle="http://www.w3.org/2002/12/soap-encoding"/> </output> </operation> <!-- 3.4.18 isNil rpc operation --> <operation name="isNil"> <soap12:operation/> <input> <soap12:body use="encoded" namespace="http://example.org/ts-tests" encodingStyle="http://www.w3.org/2002/12/soap-encoding"/> </input> <output> <soap12:body use="encoded" namespace="http://example.org/ts-tests" encodingStyle="http://www.w3.org/2002/12/soap-encoding"/> </output> </operation> </binding> <service name="WhiteMesaSoap12TestSvc"> <port name="Soap12TestDocPort" binding="tns:Soap12TestDocBinding"> <soap12:address location="http://www.whitemesa.net/soap12/test-doc"/> </port> <port name="Soap12TestRpcPort" binding="tns:Soap12TestRpcBinding"> <soap12:address location="http://www.whitemesa.net/soap12/test-rpc"/> </port> </service> </definitions> 1.1 xml-axis/java/test/wsdl/soap12/assertion/Soap12TestDocBindingImpl.java Index: Soap12TestDocBindingImpl.java =================================================================== /** * Soap12TestDocBindingImpl.java * * This file was auto-generated from WSDL * by the Apache Axis WSDL2Java emitter. */ package test.wsdl.soap12.assertion; public class Soap12TestDocBindingImpl implements test.wsdl.soap12.assertion.Soap12TestPortTypeDoc{ public void emptyBody() throws java.rmi.RemoteException { } public java.lang.String echoOk(java.lang.String echoOk) throws java.rmi.RemoteException { return null; } } 1.1 xml-axis/java/test/wsdl/soap12/assertion/Soap12TestRpcBindingImpl.java Index: Soap12TestRpcBindingImpl.java =================================================================== /** * Soap12TestRpcBindingImpl.java * * This file was auto-generated from WSDL * by the Apache Axis WSDL2Java emitter. */ package test.wsdl.soap12.assertion; public class Soap12TestRpcBindingImpl implements test.wsdl.soap12.assertion.Soap12TestPortTypeRpc{ public void returnVoid() throws java.rmi.RemoteException { } public test.wsdl.soap12.assertion.xsd.SOAPStruct echoStruct(test.wsdl.soap12.assertion.xsd.SOAPStruct inputStruct) throws java.rmi.RemoteException { return null; } public test.wsdl.soap12.assertion.xsd.SOAPStruct[] echoStructArray(test.wsdl.soap12.assertion.xsd.SOAPStruct[] inputStructArray) throws java.rmi.RemoteException { return null; } public void echoStructAsSimpleTypes(test.wsdl.soap12.assertion.xsd.SOAPStruct inputStruct, javax.xml.rpc.holders.StringHolder outputString, javax.xml.rpc.holders.IntHolder outputInteger, javax.xml.rpc.holders.FloatHolder outputFloat) throws java.rmi.RemoteException { outputString.value = new java.lang.String(); outputInteger.value = 0; outputFloat.value = 0; } public test.wsdl.soap12.assertion.xsd.SOAPStruct echoSimpleTypesAsStruct(java.lang.String inputString, int inputInteger, float inputFloat) throws java.rmi.RemoteException { return null; } public test.wsdl.soap12.assertion.xsd.SOAPStructStruct echoNestedStruct(test.wsdl.soap12.assertion.xsd.SOAPStructStruct inputStruct) throws java.rmi.RemoteException { return null; } public test.wsdl.soap12.assertion.xsd.SOAPArrayStruct echoNestedArray(test.wsdl.soap12.assertion.xsd.SOAPArrayStruct inputStruct) throws java.rmi.RemoteException { return null; } public float[] echoFloatArray(float[] inputFloatArray) throws java.rmi.RemoteException { return null; } public java.lang.String[] echoStringArray(java.lang.String[] inputStringArray) throws java.rmi.RemoteException { return null; } public int[] echoIntegerArray(int[] inputIntegerArray) throws java.rmi.RemoteException { return null; } public byte[] echoBase64(byte[] inputBase64) throws java.rmi.RemoteException { return null; } public boolean echoBoolean(boolean inputBoolean) throws java.rmi.RemoteException { return false; } public java.util.Calendar echoDate(java.util.Calendar inputDate) throws java.rmi.RemoteException { return null; } public java.math.BigDecimal echoDecimal(java.math.BigDecimal inputDecimal) throws java.rmi.RemoteException { return null; } public float echoFloat(float inputFloat) throws java.rmi.RemoteException { return -3; } public java.lang.String echoString(java.lang.String inputString) throws java.rmi.RemoteException { return null; } public int countItems(java.lang.String[] inputStringArray) throws java.rmi.RemoteException { return -3; } public boolean isNil(java.lang.String inputString) throws java.rmi.RemoteException { return false; } } 1.1 xml-axis/java/test/wsdl/soap12/assertion/WhiteMesaSoap12TestSvcTestCase.java Index: WhiteMesaSoap12TestSvcTestCase.java =================================================================== /** * WhiteMesaSoap12TestSvcTestCase.java * * This file was auto-generated from WSDL * by the Apache Axis WSDL2Java emitter. */ package test.wsdl.soap12.assertion; public class WhiteMesaSoap12TestSvcTestCase extends junit.framework.TestCase { public WhiteMesaSoap12TestSvcTestCase(java.lang.String name) { super(name); } public void test1Soap12TestRpcPortReturnVoid() throws Exception { test.wsdl.soap12.assertion.Soap12TestRpcBindingStub binding; try { binding = (test.wsdl.soap12.assertion.Soap12TestRpcBindingStub) new test.wsdl.soap12.assertion.WhiteMesaSoap12TestSvcLocator().getSoap12TestRpcPort(); } catch (javax.xml.rpc.ServiceException jre) { if(jre.getLinkedCause()!=null) jre.getLinkedCause().printStackTrace(); throw new junit.framework.AssertionFailedError("JAX-RPC ServiceException caught: " + jre); } assertNotNull("binding is null", binding); // Time out after a minute binding.setTimeout(60000); // Test operation binding.returnVoid(); // TBD - validate results } public void test2Soap12TestRpcPortEchoStruct() throws Exception { test.wsdl.soap12.assertion.Soap12TestRpcBindingStub binding; try { binding = (test.wsdl.soap12.assertion.Soap12TestRpcBindingStub) new test.wsdl.soap12.assertion.WhiteMesaSoap12TestSvcLocator().getSoap12TestRpcPort(); } catch (javax.xml.rpc.ServiceException jre) { if(jre.getLinkedCause()!=null) jre.getLinkedCause().printStackTrace(); throw new junit.framework.AssertionFailedError("JAX-RPC ServiceException caught: " + jre); } assertNotNull("binding is null", binding); // Time out after a minute binding.setTimeout(60000); // Test operation test.wsdl.soap12.assertion.xsd.SOAPStruct value = null; value = binding.echoStruct(new test.wsdl.soap12.assertion.xsd.SOAPStruct()); // TBD - validate results } public void test3Soap12TestRpcPortEchoStructArray() throws Exception { test.wsdl.soap12.assertion.Soap12TestRpcBindingStub binding; try { binding = (test.wsdl.soap12.assertion.Soap12TestRpcBindingStub) new test.wsdl.soap12.assertion.WhiteMesaSoap12TestSvcLocator().getSoap12TestRpcPort(); } catch (javax.xml.rpc.ServiceException jre) { if(jre.getLinkedCause()!=null) jre.getLinkedCause().printStackTrace(); throw new junit.framework.AssertionFailedError("JAX-RPC ServiceException caught: " + jre); } assertNotNull("binding is null", binding); // Time out after a minute binding.setTimeout(60000); // Test operation test.wsdl.soap12.assertion.xsd.SOAPStruct[] value = null; value = binding.echoStructArray(new test.wsdl.soap12.assertion.xsd.SOAPStruct[0]); // TBD - validate results } public void test4Soap12TestRpcPortEchoStructAsSimpleTypes() throws Exception { test.wsdl.soap12.assertion.Soap12TestRpcBindingStub binding; try { binding = (test.wsdl.soap12.assertion.Soap12TestRpcBindingStub) new test.wsdl.soap12.assertion.WhiteMesaSoap12TestSvcLocator().getSoap12TestRpcPort(); } catch (javax.xml.rpc.ServiceException jre) { if(jre.getLinkedCause()!=null) jre.getLinkedCause().printStackTrace(); throw new junit.framework.AssertionFailedError("JAX-RPC ServiceException caught: " + jre); } assertNotNull("binding is null", binding); // Time out after a minute binding.setTimeout(60000); // Test operation //TODO: Why does this not work? //binding.echoStructAsSimpleTypes(new test.wsdl.soap12.assertion.xsd.SOAPStruct(), new javax.xml.rpc.holders.StringHolder(), new javax.xml.rpc.holders.IntHolder(), new javax.xml.rpc.holders.FloatHolder()); // TBD - validate results } public void test5Soap12TestRpcPortEchoSimpleTypesAsStruct() throws Exception { test.wsdl.soap12.assertion.Soap12TestRpcBindingStub binding; try { binding = (test.wsdl.soap12.assertion.Soap12TestRpcBindingStub) new test.wsdl.soap12.assertion.WhiteMesaSoap12TestSvcLocator().getSoap12TestRpcPort(); } catch (javax.xml.rpc.ServiceException jre) { if(jre.getLinkedCause()!=null) jre.getLinkedCause().printStackTrace(); throw new junit.framework.AssertionFailedError("JAX-RPC ServiceException caught: " + jre); } assertNotNull("binding is null", binding); // Time out after a minute binding.setTimeout(60000); // Test operation test.wsdl.soap12.assertion.xsd.SOAPStruct value = null; value = binding.echoSimpleTypesAsStruct(new java.lang.String(), 0, 0); // TBD - validate results } public void test6Soap12TestRpcPortEchoNestedStruct() throws Exception { test.wsdl.soap12.assertion.Soap12TestRpcBindingStub binding; try { binding = (test.wsdl.soap12.assertion.Soap12TestRpcBindingStub) new test.wsdl.soap12.assertion.WhiteMesaSoap12TestSvcLocator().getSoap12TestRpcPort(); } catch (javax.xml.rpc.ServiceException jre) { if(jre.getLinkedCause()!=null) jre.getLinkedCause().printStackTrace(); throw new junit.framework.AssertionFailedError("JAX-RPC ServiceException caught: " + jre); } assertNotNull("binding is null", binding); // Time out after a minute binding.setTimeout(60000); // Test operation test.wsdl.soap12.assertion.xsd.SOAPStructStruct value = null; value = binding.echoNestedStruct(new test.wsdl.soap12.assertion.xsd.SOAPStructStruct()); // TBD - validate results } public void test7Soap12TestRpcPortEchoNestedArray() throws Exception { test.wsdl.soap12.assertion.Soap12TestRpcBindingStub binding; try { binding = (test.wsdl.soap12.assertion.Soap12TestRpcBindingStub) new test.wsdl.soap12.assertion.WhiteMesaSoap12TestSvcLocator().getSoap12TestRpcPort(); } catch (javax.xml.rpc.ServiceException jre) { if(jre.getLinkedCause()!=null) jre.getLinkedCause().printStackTrace(); throw new junit.framework.AssertionFailedError("JAX-RPC ServiceException caught: " + jre); } assertNotNull("binding is null", binding); // Time out after a minute binding.setTimeout(60000); // Test operation test.wsdl.soap12.assertion.xsd.SOAPArrayStruct value = null; value = binding.echoNestedArray(new test.wsdl.soap12.assertion.xsd.SOAPArrayStruct()); // TBD - validate results } public void test8Soap12TestRpcPortEchoFloatArray() throws Exception { test.wsdl.soap12.assertion.Soap12TestRpcBindingStub binding; try { binding = (test.wsdl.soap12.assertion.Soap12TestRpcBindingStub) new test.wsdl.soap12.assertion.WhiteMesaSoap12TestSvcLocator().getSoap12TestRpcPort(); } catch (javax.xml.rpc.ServiceException jre) { if(jre.getLinkedCause()!=null) jre.getLinkedCause().printStackTrace(); throw new junit.framework.AssertionFailedError("JAX-RPC ServiceException caught: " + jre); } assertNotNull("binding is null", binding); // Time out after a minute binding.setTimeout(60000); // Test operation float[] value = null; value = binding.echoFloatArray(new float[0]); // TBD - validate results } public void test9Soap12TestRpcPortEchoStringArray() throws Exception { test.wsdl.soap12.assertion.Soap12TestRpcBindingStub binding; try { binding = (test.wsdl.soap12.assertion.Soap12TestRpcBindingStub) new test.wsdl.soap12.assertion.WhiteMesaSoap12TestSvcLocator().getSoap12TestRpcPort(); } catch (javax.xml.rpc.ServiceException jre) { if(jre.getLinkedCause()!=null) jre.getLinkedCause().printStackTrace(); throw new junit.framework.AssertionFailedError("JAX-RPC ServiceException caught: " + jre); } assertNotNull("binding is null", binding); // Time out after a minute binding.setTimeout(60000); // Test operation java.lang.String[] value = null; value = binding.echoStringArray(new java.lang.String[0]); // TBD - validate results } public void test10Soap12TestRpcPortEchoIntegerArray() throws Exception { test.wsdl.soap12.assertion.Soap12TestRpcBindingStub binding; try { binding = (test.wsdl.soap12.assertion.Soap12TestRpcBindingStub) new test.wsdl.soap12.assertion.WhiteMesaSoap12TestSvcLocator().getSoap12TestRpcPort(); } catch (javax.xml.rpc.ServiceException jre) { if(jre.getLinkedCause()!=null) jre.getLinkedCause().printStackTrace(); throw new junit.framework.AssertionFailedError("JAX-RPC ServiceException caught: " + jre); } assertNotNull("binding is null", binding); // Time out after a minute binding.setTimeout(60000); // Test operation int[] value = null; value = binding.echoIntegerArray(new int[0]); // TBD - validate results } public void test11Soap12TestRpcPortEchoBase64() throws Exception { test.wsdl.soap12.assertion.Soap12TestRpcBindingStub binding; try { binding = (test.wsdl.soap12.assertion.Soap12TestRpcBindingStub) new test.wsdl.soap12.assertion.WhiteMesaSoap12TestSvcLocator().getSoap12TestRpcPort(); } catch (javax.xml.rpc.ServiceException jre) { if(jre.getLinkedCause()!=null) jre.getLinkedCause().printStackTrace(); throw new junit.framework.AssertionFailedError("JAX-RPC ServiceException caught: " + jre); } assertNotNull("binding is null", binding); // Time out after a minute binding.setTimeout(60000); // Test operation byte[] value = null; value = binding.echoBase64(new byte[0]); // TBD - validate results } public void test12Soap12TestRpcPortEchoBoolean() throws Exception { test.wsdl.soap12.assertion.Soap12TestRpcBindingStub binding; try { binding = (test.wsdl.soap12.assertion.Soap12TestRpcBindingStub) new test.wsdl.soap12.assertion.WhiteMesaSoap12TestSvcLocator().getSoap12TestRpcPort(); } catch (javax.xml.rpc.ServiceException jre) { if(jre.getLinkedCause()!=null) jre.getLinkedCause().printStackTrace(); throw new junit.framework.AssertionFailedError("JAX-RPC ServiceException caught: " + jre); } assertNotNull("binding is null", binding); // Time out after a minute binding.setTimeout(60000); // Test operation boolean value = false; value = binding.echoBoolean(true); // TBD - validate results } public void test13Soap12TestRpcPortEchoDate() throws Exception { test.wsdl.soap12.assertion.Soap12TestRpcBindingStub binding; try { binding = (test.wsdl.soap12.assertion.Soap12TestRpcBindingStub) new test.wsdl.soap12.assertion.WhiteMesaSoap12TestSvcLocator().getSoap12TestRpcPort(); } catch (javax.xml.rpc.ServiceException jre) { if(jre.getLinkedCause()!=null) jre.getLinkedCause().printStackTrace(); throw new junit.framework.AssertionFailedError("JAX-RPC ServiceException caught: " + jre); } assertNotNull("binding is null", binding); // Time out after a minute binding.setTimeout(60000); // Test operation java.util.Calendar value = null; value = binding.echoDate(java.util.Calendar.getInstance()); // TBD - validate results } public void test14Soap12TestRpcPortEchoDecimal() throws Exception { test.wsdl.soap12.assertion.Soap12TestRpcBindingStub binding; try { binding = (test.wsdl.soap12.assertion.Soap12TestRpcBindingStub) new test.wsdl.soap12.assertion.WhiteMesaSoap12TestSvcLocator().getSoap12TestRpcPort(); } catch (javax.xml.rpc.ServiceException jre) { if(jre.getLinkedCause()!=null) jre.getLinkedCause().printStackTrace(); throw new junit.framework.AssertionFailedError("JAX-RPC ServiceException caught: " + jre); } assertNotNull("binding is null", binding); // Time out after a minute binding.setTimeout(60000); // Test operation java.math.BigDecimal value = null; value = binding.echoDecimal(new java.math.BigDecimal(0)); // TBD - validate results } public void test15Soap12TestRpcPortEchoFloat() throws Exception { test.wsdl.soap12.assertion.Soap12TestRpcBindingStub binding; try { binding = (test.wsdl.soap12.assertion.Soap12TestRpcBindingStub) new test.wsdl.soap12.assertion.WhiteMesaSoap12TestSvcLocator().getSoap12TestRpcPort(); } catch (javax.xml.rpc.ServiceException jre) { if(jre.getLinkedCause()!=null) jre.getLinkedCause().printStackTrace(); throw new junit.framework.AssertionFailedError("JAX-RPC ServiceException caught: " + jre); } assertNotNull("binding is null", binding); // Time out after a minute binding.setTimeout(60000); // Test operation float value = -3; value = binding.echoFloat(0); // TBD - validate results } public void test16Soap12TestRpcPortEchoString() throws Exception { test.wsdl.soap12.assertion.Soap12TestRpcBindingStub binding; try { binding = (test.wsdl.soap12.assertion.Soap12TestRpcBindingStub) new test.wsdl.soap12.assertion.WhiteMesaSoap12TestSvcLocator().getSoap12TestRpcPort(); } catch (javax.xml.rpc.ServiceException jre) { if(jre.getLinkedCause()!=null) jre.getLinkedCause().printStackTrace(); throw new junit.framework.AssertionFailedError("JAX-RPC ServiceException caught: " + jre); } assertNotNull("binding is null", binding); // Time out after a minute binding.setTimeout(60000); // Test operation java.lang.String value = null; value = binding.echoString(new java.lang.String()); // TBD - validate results } public void test17Soap12TestRpcPortCountItems() throws Exception { test.wsdl.soap12.assertion.Soap12TestRpcBindingStub binding; try { binding = (test.wsdl.soap12.assertion.Soap12TestRpcBindingStub) new test.wsdl.soap12.assertion.WhiteMesaSoap12TestSvcLocator().getSoap12TestRpcPort(); } catch (javax.xml.rpc.ServiceException jre) { if(jre.getLinkedCause()!=null) jre.getLinkedCause().printStackTrace(); throw new junit.framework.AssertionFailedError("JAX-RPC ServiceException caught: " + jre); } assertNotNull("binding is null", binding); // Time out after a minute binding.setTimeout(60000); // Test operation int value = -3; value = binding.countItems(new java.lang.String[0]); // TBD - validate results } public void test18Soap12TestRpcPortIsNil() throws Exception { test.wsdl.soap12.assertion.Soap12TestRpcBindingStub binding; try { binding = (test.wsdl.soap12.assertion.Soap12TestRpcBindingStub) new test.wsdl.soap12.assertion.WhiteMesaSoap12TestSvcLocator().getSoap12TestRpcPort(); } catch (javax.xml.rpc.ServiceException jre) { if(jre.getLinkedCause()!=null) jre.getLinkedCause().printStackTrace(); throw new junit.framework.AssertionFailedError("JAX-RPC ServiceException caught: " + jre); } assertNotNull("binding is null", binding); // Time out after a minute binding.setTimeout(60000); // Test operation boolean value = false; //TODO: Why does this not work? //value = binding.isNil(new java.lang.String()); // TBD - validate results } public void test19Soap12TestDocPortEmptyBody() throws Exception { test.wsdl.soap12.assertion.Soap12TestDocBindingStub binding; try { binding = (test.wsdl.soap12.assertion.Soap12TestDocBindingStub) new test.wsdl.soap12.assertion.WhiteMesaSoap12TestSvcLocator().getSoap12TestDocPort(); } catch (javax.xml.rpc.ServiceException jre) { if(jre.getLinkedCause()!=null) jre.getLinkedCause().printStackTrace(); throw new junit.framework.AssertionFailedError("JAX-RPC ServiceException caught: " + jre); } assertNotNull("binding is null", binding); // Time out after a minute binding.setTimeout(60000); // Test operation binding.emptyBody(); // TBD - validate results } public void test20Soap12TestDocPortEchoOk() throws Exception { test.wsdl.soap12.assertion.Soap12TestDocBindingStub binding; try { binding = (test.wsdl.soap12.assertion.Soap12TestDocBindingStub) new test.wsdl.soap12.assertion.WhiteMesaSoap12TestSvcLocator().getSoap12TestDocPort(); } catch (javax.xml.rpc.ServiceException jre) { if(jre.getLinkedCause()!=null) jre.getLinkedCause().printStackTrace(); throw new junit.framework.AssertionFailedError("JAX-RPC ServiceException caught: " + jre); } assertNotNull("binding is null", binding); // Time out after a minute binding.setTimeout(60000); // Test operation java.lang.String value = null; value = binding.echoOk(new java.lang.String()); // TBD - validate results } } 1.109 +13 -10 xml-axis/java/src/org/apache/axis/Constants.java Index: Constants.java =================================================================== RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/Constants.java,v retrieving revision 1.108 retrieving revision 1.109 diff -u -r1.108 -r1.109 --- Constants.java 16 Jan 2003 23:47:27 -0000 1.108 +++ Constants.java 19 Jan 2003 21:25:10 -0000 1.109 @@ -103,7 +103,7 @@ public static final String URI_SOAP11_ENV = "http://schemas.xmlsoap.org/soap/envelope/" ; public static final String URI_SOAP12_ENV = - "http://www.w3.org/2002/06/soap-envelope"; + "http://www.w3.org/2002/12/soap-envelope"; public static final String URI_DEFAULT_SOAP_ENV = DEFAULT_SOAP_VERSION.getEnvelopeURI(); @@ -152,9 +152,9 @@ public static final String URI_SOAP11_ENC = "http://schemas.xmlsoap.org/soap/encoding/" ; public static final String URI_SOAP12_ENC = - "http://www.w3.org/2002/06/soap-encoding"; + "http://www.w3.org/2002/12/soap-encoding"; public static final String URI_SOAP12_NOENC = - "http://www.w3.org/2002/06/soap-envelope/encoding/none"; + "http://www.w3.org/2002/12/soap-envelope/encoding/none"; public static final String URI_DEFAULT_SOAP_ENC = DEFAULT_SOAP_VERSION.getEncodingURI(); @@ -275,26 +275,26 @@ public static final String URI_SOAP11_NEXT_ACTOR = "http://schemas.xmlsoap.org/soap/actor/next" ; public static final String URI_SOAP12_NEXT_ACTOR = - "http://www.w3.org/2002/06/soap-envelope/actor/next"; + "http://www.w3.org/2002/12/soap-envelope/actor/next"; public static final String URI_SOAP12_FAULT = - "http://www.w3.org/2002/06/soap-faults"; + "http://www.w3.org/2002/12/soap-faults"; public static final String URI_SOAP12_UPGRADE = - "http://www.w3.org/2002/06/soap-upgrade"; + "http://www.w3.org/2002/12/soap-upgrade"; public static final String URI_SOAP12_RPC = - "http://www.w3.org/2002/06/soap-rpc"; + "http://www.w3.org/2002/12/soap-rpc"; public static final String URI_SOAP12_NONE_ROLE = - "http://www.w3.org/2002/06/soap-envelope/role/none"; + "http://www.w3.org/2002/12/soap-envelope/role/none"; public static final String URI_SOAP12_ULTIMATE_ROLE = - "http://www.w3.org/2002/06/soap-envelope/role/ultimateReceiver"; + "http://www.w3.org/2002/12/soap-envelope/role/ultimateReceiver"; public static final String URI_SOAP11_HTTP = "http://schemas.xmlsoap.org/soap/http"; public static final String URI_SOAP12_HTTP = - "http://www.w3.org/2002/06/http"; + "http://www.w3.org/2002/12/http"; public static final String NS_URI_XMLNS = "http://www.w3.org/2000/xmlns/"; @@ -412,9 +412,12 @@ // public static final String URI_WSDL11_SOAP = "http://schemas.xmlsoap.org/wsdl/soap/"; + public static final String URI_WSDL12_SOAP = + "http://schemas.xmlsoap.org/wsdl/soap12/"; public static final String[] NS_URIS_WSDL_SOAP = { URI_WSDL11_SOAP, + URI_WSDL12_SOAP }; /** 1.6 +25 -0 xml-axis/java/src/org/apache/axis/wsdl/symbolTable/FaultInfo.java Index: FaultInfo.java =================================================================== RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/wsdl/symbolTable/FaultInfo.java,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- FaultInfo.java 11 Dec 2002 22:38:29 -0000 1.5 +++ FaultInfo.java 19 Jan 2003 21:25:10 -0000 1.6 @@ -136,6 +136,31 @@ } // ctor + public FaultInfo(QName faultMessage, String faultPart, String faultUse, String faultNamespaceURI, SymbolTable symbolTable) + throws IOException { + MessageEntry mEntry = symbolTable.getMessageEntry(faultMessage); + if (mEntry == null) { + throw new IOException(Messages.getMessage("noMsg", + faultMessage.toString())); + } + this.message = mEntry.getMessage(); + Part part = message.getPart(faultPart); + this.xmlType = getFaultType(symbolTable, part); + this.use = Use.getUse(faultUse); + + if (part == null) { + this.qName = null; + } + else if (part.getTypeName() != null) { + this.qName = new QName(faultNamespaceURI, part.getName()); + } + else { + this.qName = part.getElementName(); + } + this.name = qName.getLocalPart(); + + } // ctor + public Message getMessage() { return message; } // getMessage 1.70 +107 -21 xml-axis/java/src/org/apache/axis/wsdl/symbolTable/SymbolTable.java Index: SymbolTable.java =================================================================== RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/wsdl/symbolTable/SymbolTable.java,v retrieving revision 1.69 retrieving revision 1.70 diff -u -r1.69 -r1.70 --- SymbolTable.java 15 Jan 2003 13:38:34 -0000 1.69 +++ SymbolTable.java 19 Jan 2003 21:25:10 -0000 1.70 @@ -1587,30 +1587,33 @@ node = getTypeEntry(type, false).getNode(); } + Vector vTypes = null; // If we have nothing at this point, we're in trouble. if (node == null) { - throw new IOException( + if(bindingEntry.isInHeaderPart(opName, partName)) { + wrapped = false; + } else { + throw new IOException( Messages.getMessage("badTypeNode", new String[] { partName, opName, elementName.toString()})); + } + } else { + // check for attributes + Vector vAttrs = SchemaUtils.getContainedAttributeTypes(node, this); + if (vAttrs != null) { + // can't do wrapped mode + wrapped = false; + } + + // Get the nested type entries. + // TODO - If we are unable to represent any of the types in the + // element, we need to use SOAPElement/SOAPBodyElement. + // I don't believe getContainedElementDecl does the right thing yet. + vTypes = SchemaUtils.getContainedElementDeclarations(node, this); } - - // check for attributes - Vector vAttrs = SchemaUtils.getContainedAttributeTypes(node, this); - if (vAttrs != null) { - // can't do wrapped mode - wrapped = false; - } - - // Get the nested type entries. - // TODO - If we are unable to represent any of the types in the - // element, we need to use SOAPElement/SOAPBodyElement. - // I don't believe getContainedElementDecl does the right thing yet. - Vector vTypes = - SchemaUtils.getContainedElementDeclarations(node, this); - // IF we got the type entries and we didn't find attributes // THEN use the things in this element as the parameters if (vTypes != null && wrapped) { @@ -1717,6 +1720,19 @@ else { bEntry.setBindingType(BindingEntry.TYPE_HTTP_GET); } + } + else if (obj instanceof UnknownExtensibilityElement){ + //TODO: After WSDL4J supports soap12, change this code + UnknownExtensibilityElement unkElement = (UnknownExtensibilityElement) obj; + QName name = unkElement.getElementType(); + if(name.getNamespaceURI().equals(Constants.URI_WSDL12_SOAP) && + name.getLocalPart().equals("binding")){ + bEntry.setBindingType(BindingEntry.TYPE_SOAP); + String style = unkElement.getElement().getAttribute("style"); + if ("rpc".equalsIgnoreCase(style)) { + bEntry.setBindingStyle(Style.RPC); + } + } } } @@ -1838,6 +1854,43 @@ name.getLocalPart().equals("message")) { fillInDIMEInformation(unkElement, input, operation, bEntry); } + //TODO: After WSDL4J supports soap12, change this code + if(name.getNamespaceURI().equals(Constants.URI_WSDL12_SOAP) && + name.getLocalPart().equals("body")){ + setBodyType(unkElement.getElement().getAttribute("use"), bEntry, operation, + input); + } + //TODO: After WSDL4J supports soap12, change this code + if(name.getNamespaceURI().equals(Constants.URI_WSDL12_SOAP) && + name.getLocalPart().equals("header")){ + setBodyType(unkElement.getElement().getAttribute("use"), bEntry, operation, input); + + // Note, this only works for explicit headers - those whose + // parts come from messages used in the portType's operation + // input/output clauses - it does not work for implicit + // headers - those whose parts come from messages not used in + // the portType's operation's input/output clauses. I don't + // know what we're supposed to emit for implicit headers. + bEntry.setHeaderPart(operation.getName(), unkElement.getElement().getAttribute("part"), + input ? BindingEntry.IN_HEADER : BindingEntry.OUT_HEADER); + + // Add any soap12:headerFault info to the faults array + NodeList headerFaults = unkElement.getElement().getChildNodes(); + for(int i=0;i<headerFaults.getLength();i++){ + String faultMessage = unkElement.getElement().getAttribute("message"); + String faultPart = unkElement.getElement().getAttribute("part"); + String faultUse = unkElement.getElement().getAttribute("use"); + String faultNamespaceURI = unkElement.getElement().getAttribute("namespace"); + QName faultMessageQName = null; + int sep = faultMessage.indexOf(':'); + if(sep == -1) { + faultMessageQName = new QName (faultMessage); + } else { + faultMessageQName = new QName(faultMessage.substring(0, sep), faultMessage.substring(sep + 1)); + } + faults.add(new FaultInfo(faultMessageQName, faultPart, faultUse, faultNamespaceURI, this)); + } + } } } } // fillInBindingInfo @@ -1922,18 +1975,36 @@ binding.getQName().toString())); } - SOAPFault soapFault = null; + boolean foundSOAPFault = false; + String soapFaultUse = ""; + String soapFaultNamespace = ""; + Iterator faultIter = bFault.getExtensibilityElements().iterator(); for (; faultIter.hasNext();) { Object obj = faultIter.next(); if (obj instanceof SOAPFault) { - soapFault = (SOAPFault) obj; + foundSOAPFault = true; + soapFaultUse = ((SOAPFault)obj).getUse(); + soapFaultNamespace = ((SOAPFault)obj).getNamespaceURI(); break; + } else if (obj instanceof UnknownExtensibilityElement) { + //TODO: After WSDL4J supports soap12, change this code + UnknownExtensibilityElement unkElement = (UnknownExtensibilityElement) obj; + QName name = unkElement.getElementType(); + if(name.getNamespaceURI().equals(Constants.URI_WSDL12_SOAP) && + name.getLocalPart().equals("fault")){ + if(unkElement.getElement().getAttribute("use")!=null) { + soapFaultUse = unkElement.getElement().getAttribute("use"); + } + if(unkElement.getElement().getAttribute("namespace")!=null) { + soapFaultNamespace = unkElement.getElement().getAttribute("namespace"); + } + } } } // Check to make sure we have a soap:fault element - if (soapFault == null) { + if (!foundSOAPFault) { throw new IOException(Messages.getMessage("missingSoapFault00", faultName, bindOp.getName(), @@ -1955,8 +2026,8 @@ } // put the updated entry back in the map faults.add(new FaultInfo(opFault, - Use.getUse(soapFault.getUse()), - soapFault.getNamespaceURI(), + Use.getUse(soapFaultUse), + soapFaultNamespace, this)); } } // faultsFromSOAPFault @@ -2015,6 +2086,21 @@ if (use.equalsIgnoreCase("literal")) { bodyType = Use.LITERAL; } + } else if (obj instanceof UnknownExtensibilityElement) { + //TODO: After WSDL4J supports soap12, change this code + UnknownExtensibilityElement unkElement = (UnknownExtensibilityElement) obj; + QName name = unkElement.getElementType(); + if(name.getNamespaceURI().equals(Constants.URI_WSDL12_SOAP) && + name.getLocalPart().equals("body")){ + String use = unkElement.getElement().getAttribute("use"); + if (use == null) { + throw new IOException(Messages.getMessage( + "noUse", op.getName())); + } + if (use.equalsIgnoreCase("literal")) { + bodyType = Use.LITERAL; + } + } } } } 1.54 +38 -0 xml-axis/java/src/org/apache/axis/wsdl/toJava/JavaSkelWriter.java Index: JavaSkelWriter.java =================================================================== RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/wsdl/toJava/JavaSkelWriter.java,v retrieving revision 1.53 retrieving revision 1.54 diff -u -r1.53 -r1.54 --- JavaSkelWriter.java 11 Dec 2002 22:38:30 -0000 1.53 +++ JavaSkelWriter.java 19 Jan 2003 21:25:10 -0000 1.54 @@ -60,6 +60,7 @@ import org.apache.axis.wsdl.symbolTable.Parameter; import org.apache.axis.wsdl.symbolTable.Parameters; import org.apache.axis.wsdl.symbolTable.SymbolTable; +import org.apache.axis.Constants; import javax.wsdl.Binding; import javax.wsdl.BindingInput; @@ -68,6 +69,7 @@ import javax.wsdl.Operation; import javax.wsdl.OperationType; import javax.wsdl.extensions.ExtensibilityElement; +import javax.wsdl.extensions.UnknownExtensibilityElement; import javax.wsdl.extensions.soap.SOAPBody; import javax.wsdl.extensions.soap.SOAPOperation; import javax.xml.namespace.QName; @@ -247,6 +249,18 @@ pw.println(" _oper.setSoapAction(\"" + action + "\");"); found = true; } + } else if (elem instanceof UnknownExtensibilityElement) { + //TODO: After WSDL4J supports soap12, change this code + UnknownExtensibilityElement unkElement = (UnknownExtensibilityElement) elem; + QName name = unkElement.getElementType(); + if(name.getNamespaceURI().equals(Constants.URI_WSDL12_SOAP) && + name.getLocalPart().equals("operation")){ + String action = unkElement.getElement().getAttribute("soapAction"); + if (action != null) { + pw.println(" _oper.setSoapAction(\"" + action + "\");"); + found = true; + } + } } } @@ -330,6 +344,16 @@ if (obj instanceof SOAPOperation) { soapAction = ((SOAPOperation) obj).getSoapActionURI(); break; + } else if (obj instanceof UnknownExtensibilityElement) { + //TODO: After WSDL4J supports soap12, change this code + UnknownExtensibilityElement unkElement = (UnknownExtensibilityElement) obj; + QName name = unkElement.getElementType(); + if(name.getNamespaceURI().equals(Constants.URI_WSDL12_SOAP) && + name.getLocalPart().equals("operation")){ + if (unkElement.getElement().getAttribute("soapAction") != null) { + soapAction = unkElement.getElement().getAttribute("soapAction"); + } + } } } // Get the namespace for the operation from the <soap:body> @@ -360,6 +384,20 @@ if (namespace == null) namespace = ""; break; + } else if (obj instanceof UnknownExtensibilityElement) { + //TODO: After WSDL4J supports soap12, change this code + UnknownExtensibilityElement unkElement = (UnknownExtensibilityElement) obj; + QName name = unkElement.getElementType(); + if(name.getNamespaceURI().equals(Constants.URI_WSDL12_SOAP) && + name.getLocalPart().equals("body")){ + namespace = unkElement.getElement().getAttribute("namespace"); + if (namespace == null) { + namespace = symbolTable.getDefinition().getTargetNamespace(); + } + if (namespace == null) + namespace = ""; + break; + } } } } 1.113 +56 -1 xml-axis/java/src/org/apache/axis/wsdl/toJava/JavaStubWriter.java Index: JavaStubWriter.java =================================================================== RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/wsdl/toJava/JavaStubWriter.java,v retrieving revision 1.112 retrieving revision 1.113 diff -u -r1.112 -r1.113 --- JavaStubWriter.java 15 Jan 2003 00:52:08 -0000 1.112 +++ JavaStubWriter.java 19 Jan 2003 21:25:10 -0000 1.113 @@ -67,6 +67,7 @@ import org.apache.axis.wsdl.symbolTable.SymbolTable; import org.apache.axis.wsdl.symbolTable.TypeEntry; import org.apache.axis.wsdl.symbolTable.MimeInfo; +import org.apache.axis.Constants; import javax.wsdl.Binding; import javax.wsdl.BindingOperation; @@ -77,6 +78,8 @@ import javax.wsdl.Part; import javax.wsdl.PortType; import javax.wsdl.extensions.soap.SOAPOperation; +import javax.wsdl.extensions.soap.SOAPBinding; +import javax.wsdl.extensions.UnknownExtensibilityElement; import javax.xml.namespace.QName; import java.io.IOException; import java.io.PrintWriter; @@ -268,7 +271,23 @@ if (bEntry.hasLiteral()) { pw.println(" _call.setEncodingStyle(null);"); } else { - pw.println(" _call.setEncodingStyle(org.apache.axis.Constants.URI_SOAP11_ENC);"); + Iterator iterator = bEntry.getBinding().getExtensibilityElements().iterator(); + while (iterator.hasNext()) { + Object obj = iterator.next(); + if (obj instanceof SOAPBinding) { + pw.println(" _call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS);"); + pw.println(" _call.setEncodingStyle(org.apache.axis.Constants.URI_SOAP11_ENC);"); + } else if (obj instanceof UnknownExtensibilityElement) { + //TODO: After WSDL4J supports soap12, change this code + UnknownExtensibilityElement unkElement = (UnknownExtensibilityElement) obj; + QName name = unkElement.getElementType(); + if(name.getNamespaceURI().equals(Constants.URI_WSDL12_SOAP) && + name.getLocalPart().equals("binding")){ + pw.println(" _call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP12_CONSTANTS);"); + pw.println(" _call.setEncodingStyle(org.apache.axis.Constants.URI_SOAP12_ENC);"); + } + } + } } pw.println(" for (int i = 0; i < cachedSerFactories.size(); ++i) {"); @@ -309,6 +328,17 @@ soapAction = ((SOAPOperation) obj).getSoapActionURI(); opStyle = ((SOAPOperation) obj).getStyle(); break; + } else if (obj instanceof UnknownExtensibilityElement) { + //TODO: After WSDL4J supports soap12, change this code + UnknownExtensibilityElement unkElement = (UnknownExtensibilityElement) obj; + QName name = unkElement.getElementType(); + if(name.getNamespaceURI().equals(Constants.URI_WSDL12_SOAP) && + name.getLocalPart().equals("operation")){ + if (unkElement.getElement().getAttribute("soapAction") != null) { + soapAction = unkElement.getElement().getAttribute("soapAction"); + } + opStyle = unkElement.getElement().getAttribute("style"); + } } } Operation ptOperation = operation.getOperation(); @@ -347,6 +377,14 @@ if (obj instanceof SOAPOperation) { opStyle = ((SOAPOperation) obj).getStyle(); break; + } else if (obj instanceof UnknownExtensibilityElement) { + //TODO: After WSDL4J supports soap12, change this code + UnknownExtensibilityElement unkElement = (UnknownExtensibilityElement) obj; + QName name = unkElement.getElementType(); + if(name.getNamespaceURI().equals(Constants.URI_WSDL12_SOAP) && + name.getLocalPart().equals("operation")){ + opStyle = unkElement.getElement().getAttribute("style"); + } } } Operation ptOperation = operation.getOperation(); @@ -713,6 +751,23 @@ style = Style.WRAPPED; } + + Iterator iterator = bEntry.getBinding().getExtensibilityElements().iterator(); + while (iterator.hasNext()) { + Object obj = iterator.next(); + if (obj instanceof SOAPBinding) { + pw.println(" _call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS);"); + } else if (obj instanceof UnknownExtensibilityElement) { + //TODO: After WSDL4J supports soap12, change this code + UnknownExtensibilityElement unkElement = (UnknownExtensibilityElement) obj; + QName name = unkElement.getElementType(); + if(name.getNamespaceURI().equals(Constants.URI_WSDL12_SOAP) && + name.getLocalPart().equals("binding")){ + pw.println(" _call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP12_CONSTANTS);"); + } + } + } + // Operation name if (style == Style.WRAPPED) { // We need to make sure the operation name, which is what we 1.67 +9 -0 xml-axis/java/src/org/apache/axis/wsdl/toJava/Utils.java Index: Utils.java =================================================================== RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/wsdl/toJava/Utils.java,v retrieving revision 1.66 retrieving revision 1.67 diff -u -r1.66 -r1.67 --- Utils.java 3 Jan 2003 19:54:41 -0000 1.66 +++ Utils.java 19 Jan 2003 21:25:10 -0000 1.67 @@ -77,6 +77,7 @@ import javax.wsdl.Operation; import javax.wsdl.Part; import javax.wsdl.extensions.ExtensibilityElement; +import javax.wsdl.extensions.UnknownExtensibilityElement; import javax.wsdl.extensions.soap.SOAPBody; import javax.xml.namespace.QName; import javax.xml.rpc.holders.BooleanHolder; @@ -627,6 +628,14 @@ SOAPBody body = (SOAPBody) elem; ns = body.getNamespaceURI(); break; + } else if (elem instanceof UnknownExtensibilityElement) { + //TODO: After WSDL4J supports soap12, change this code + UnknownExtensibilityElement unkElement = (UnknownExtensibilityElement) elem; + QName name = unkElement.getElementType(); + if(name.getNamespaceURI().equals(Constants.URI_WSDL12_SOAP) && + name.getLocalPart().equals("body")){ + ns = unkElement.getElement().getAttribute("namespace"); + } } } } 1.1 xml-axis/java/test/wsdl/soap12/additional/soap12-add-test.wsdl Index: soap12-add-test.wsdl =================================================================== <?xml version="1.0"?> <definitions name="SOAP-12-TestDefinitions" targetNamespace="http://whitemesa.net/wsdl/soap12-test" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:enc="http://www.w3.org/2002/12/soap-encoding" xmlns:tns="http://whitemesa.net/wsdl/soap12-test" xmlns:types="http://example.org/ts-tests/xsd" xmlns:test="http://example.org/ts-tests" xmlns:iop="http://soapinterop.org/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"> <types> <schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://example.org/ts-tests/xsd"> <complexType name="SOAPStruct"> <all> <element name="varString" type="xsd:string"/> <element name="varInt" type="xsd:int"/> <element name="varFloat" type="xsd:float"/> </all> </complexType> </schema> <schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://example.org/ts-tests/xsd"> <!-- added to support test xmlp-10 --> <complexType name="SOAPStructInputs"> <sequence> <element name="input1" type="anyType" /> <element name="input2" type="anyType" /> <element name="input3" type="anyType" /> <element name="input4" type="anyType" /> </sequence> </complexType> <complexType name="SOAPStructTypes"> <sequence> <element name="type1" type="QName" /> <element name="type2" type="QName" /> <element name="type3" type="QName" /> <element name="type4" type="QName" /> </sequence> </complexType> </schema> <schema xmlns="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" targetNamespace="http://soapinterop.org/"> <!-- xmlp-2 getTime --> <element name="time" type="time"/> <!-- xmlp-7 echoSenderFault --> <element name="echoSenderFault" /> <!-- xmlp-8 echoReceiverFault --> <element name="echoReceiverFault" /> <!-- xmlp-13 thru 19 echoString doc/lit operation --> <element name="echoString"> <complexType> <sequence> <element minOccurs="0" maxOccurs="1" name="inputString" type="string" /> </sequence> </complexType> </element> <element name="echoStringResponse"> <complexType> <sequence> <element minOccurs="0" maxOccurs="1" name="return" type="string" /> </sequence> </complexType> </element> </schema> </types> <!-- xmlp-5, xmlp-6 echoVoid rpc operation --> <message name="echoVoidRequest" /> <message name="echoVoidResponse" /> <!-- xmlp-4 echoSimpleTypesAsStruct rpc operation --> <message name="echoSimpleTypesAsStructRequest"> <part name="inputString" type="xsd:string"/> <part name="inputInteger" type="xsd:int"/> <part name="inputFloat" type="xsd:float"/> </message> <message name="echoSimpleTypesAsStructResponse"> <part name="return" type="types:SOAPStruct"/> </message> <!-- xmlp-1, xmlp-9 echoString rpc operation --> <message name="echoStringRequest"> <part name="inputString" type="xsd:string"/> </message> <message name="echoStringResponse"> <part name="return" type="xsd:string"/> </message> <!-- xmlp-10 echoSimpleTypesAsStructOfSchemaTypesRequest rpc operation --> <message name="echoSimpleTypesAsStructOfSchemaTypesRequest"> <part name="input1" type="xsd:anyType"/> <part name="input2" type="xsd:anyType"/> <part name="input3" type="xsd:anyType"/> <part name="input4" type="xsd:anyType"/> </message> <message name="echoSimpleTypesAsStructOfSchemaTypesResponse"> <part name="return" type="test:PolyMorphStruct"/> </message> <!-- xmlp-11 echoInteger rpc operation --> <message name="echoIntegerRequest"> <part name="inputInteger" type="xsd:int"/> </message> <message name="echoIntegerResponse"> <part name="return" type="xsd:int"/> </message> <!-- xmlp-3 getTime rpc operation --> <message name="getTimeRpcResponse"> <part name="return" type="xsd:time"/> </message> <!-- xmlp-2 getTime doc/lit operation --> <message name="getTimeDocResponse"> <part name="time" element="iop:time"/> </message> <!-- xmlp-13 thru 19 echoString doc/lit operation --> <message name="echoStringDocRequest"> <part name="inElement" element="iop:echoString" /> </message> <message name="echoStringDocResponse"> <part name="outElement" element="iop:echoStringResponse" /> </message> <!-- xmlp-7 echoSenderFault operation --> <message name="echoSenderFaultRequest"> <part name="inElement" element="iop:echoSenderFault" /> </message> <message name="echoSenderFaultResponse" /> <!-- xmlp-8 echoReceiverFault operation --> <message name="echoReceiverFaultRequest"> <part name="inElement" element="iop:echoReceiverFault" /> </message> <message name="echoReceiverFaultResponse" /> <portType name="Soap12AddTestPortTypeDoc"> <!-- xmlp-2 getTime operation --> <operation name="getTime"> <output message="tns:getTimeDocResponse" /> </operation> <!-- xmlp-13 thru xmlp-19 echoString doc/literal operation --> <operation name="echoString"> <input message="tns:echoStringDocRequest" /> <output message="tns:echoStringDocResponse" /> </operation> <!-- xmlp-7 echoSenderFault doc/literal operation --> <operation name="echoSenderFault"> <input message="tns:echoSenderFaultRequest" /> <output message="tns:echoSenderFaultResponse" /> </operation> <!-- xmlp-8 echoReceiverFault doc/literal operation --> <operation name="echoReceiverFault"> <input message="tns:echoReceiverFaultRequest" /> <output message="tns:echoReceiverFaultResponse" /> </operation> </portType> <portType name="Soap12AddTestPortTypeRpc"> <!-- xmlp-5, xmlp-6 echoVoid rpc operation --> <operation name="echoVoid"> <input message="tns:echoVoidRequest" name="echoVoid"/> <output message="tns:echoVoidResponse" name="echoVoidResponse"/> </operation> <!-- xmlp-4 echoSimpleTypesAsStruct rpc operation --> <operation name="echoSimpleTypesAsStruct" parameterOrder="inputString inputInteger inputFloat"> <input message="tns:echoSimpleTypesAsStructRequest"/> <output message="tns:echoSimpleTypesAsStructResponse"/> </operation> <!-- xmlp-1, xmlp-9 echoString rpc operation --> <operation name="echoString" parameterOrder="inputString"> <input message="tns:echoStringRequest" name="echoString"/> <output message="tns:echoStringResponse" name="echoStringResponse"/> </operation> <!-- xmlp-10 echoSimpleTypesAsStructOfSchemaTypes rpc operation --> <operation name="echoSimpleTypesAsStructOfSchemaTypes" parameterOrder="input1 input2 input3 input4"> <input message="tns:echoSimpleTypesAsStructOfSchemaTypesRequest"/> <output message="tns:echoSimpleTypesAsStructOfSchemaTypesResponse"/> </operation> <!-- xmlp-11 echoInteger rpc operation --> <operation name="echoInteger" parameterOrder="inputInteger"> <input message="tns:echoIntegerRequest" name="echoInteger"/> <output message="tns:echoIntegerResponse" name="echoIntegerResponse"/> </operation> <!-- xmlp-3 getTime rpc operation --> <operation name="getTime"> <output message="tns:getTimeRpcResponse" name="getTimeRpcResponse"/> </operation> </portType> <binding name="Soap12AddTestDocBinding" type="tns:Soap12AddTestPortTypeDoc"> <soap12:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" /> <operation name="getTime"> <soap12:operation style="document" /> <output> <soap12:body use="literal" /> </output> </operation> <operation name="echoString"> <soap12:operation style="document" /> <input> <soap12:body use="literal" /> </input> <output> <soap12:body use="literal" /> </output> </operation> <operation name="echoSenderFault"> <soap12:operation style="document" /> <input> <soap12:body use="literal" /> </input> <output> <soap12:body use="literal" /> </output> </operation> <operation name="echoReceiverFault"> <soap12:operation style="document" /> <input> <soap12:body use="literal" /> </input> <output> <soap12:body use="literal" /> </output> </operation> </binding> <binding name="Soap12AddTestRpcBinding" type="tns:Soap12AddTestPortTypeRpc"> <soap12:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/> <!-- xmlp-5, xmlp-6 echoVoid rpc operation --> <operation name="echoVoid"> <soap12:operation/> <input> <soap12:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://www.w3.org/2002/12/soap-encoding"/> </input> <output> <soap12:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://www.w3.org/2002/12/soap-encoding"/> </output> </operation> <!-- xmlp-4 echoSimpleTypesAsStruct rpc operation --> <operation name="echoSimpleTypesAsStruct"> <soap12:operation/> <input> <soap12:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://www.w3.org/2002/12/soap-encoding"/> </input> <output> <soap12:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://www.w3.org/2002/12/soap-encoding"/> </output> </operation> <!-- xmlp-3 getTime rpc operation --> <operation name="getTime"> <soap12:operation/> <output> <soap12:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://www.w3.org/2002/12/soap-encoding"/> </output> </operation> <!-- xmlp-1, xmlp-9 echoString rpc operation --> <operation name="echoString"> <soap12:operation/> <input> <soap12:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://www.w3.org/2002/12/soap-encoding"/> </input> <output> <soap12:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://www.w3.org/2002/12/soap-encoding"/> </output> </operation> <!-- xmlp-10 echoSimpleTypesAsStructOfSchemaTypes rpc operation --> <operation name="echoSimpleTypesAsStructOfSchemaTypes"> <soap12:operation/> <input> <soap12:body use="encoded" namespace="http://example.org/ts-tests" encodingStyle="http://www.w3.org/2002/12/soap-encoding"/> </input> <output> <soap12:body use="encoded" namespace="http://example.org/ts-tests" encodingStyle="http://www.w3.org/2002/12/soap-encoding"/> </output> </operation> <!-- xmlp-11 echoInteger rpc operation --> <operation name="echoInteger"> <soap12:operation/> <input> <soap12:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://www.w3.org/2002/12/soap-encoding"/> </input> <output> <soap12:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://www.w3.org/2002/12/soap-encoding"/> </output> </operation> </binding> <service name="WhiteMesaSoap12AddTestSvc"> <port name="Soap12AddTestDocPort" binding="tns:Soap12AddTestDocBinding"> <soap12:address location="http://www.whitemesa.net/soap12/add-test-doc"/> </port> <port name="Soap12AddTestDocIntermediaryPort" binding="tns:Soap12AddTestDocBinding"> <soap12:address location="http://www.whitemesa.net/soap12/add-test-doc-int"/> </port> <port name="Soap12AddTestDocUpperPort" binding="tns:Soap12AddTestDocBinding"> <soap12:address location="http://www.whitemesa.net/soap12/add-test-doc-int-uc"/> </port> <port name="Soap12AddTestRpcPort" binding="tns:Soap12AddTestRpcBinding"> <soap12:address location="http://www.whitemesa.net/soap12/add-test-rpc"/> </port> </service> </definitions> 1.4 +2 -2 xml-axis/java/test/soap12/TestDeser.java Index: TestDeser.java =================================================================== RCS file: /home/cvs/xml-axis/java/test/soap12/TestDeser.java,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- TestDeser.java 20 Dec 2002 17:28:21 -0000 1.3 +++ TestDeser.java 19 Jan 2003 21:25:10 -0000 1.4 @@ -48,8 +48,8 @@ private final String SOAP_HEAD = "<?xml version=\"1.0\"?>\n" + "<soap:Envelope " + - "xmlns:soap=\"http://www.w3.org/2002/06/soap-envelope\" " + - "xmlns:soapenc=\"http://www.w3.org/2002/06/soap-encoding\" " + + "xmlns:soap=\"http://www.w3.org/2002/12/soap-envelope\" " + + "xmlns:soapenc=\"http://www.w3.org/2002/12/soap-encoding\" " + "xmlns:this=\"http://encoding.test\" " + "xmlns:xsi=\"" + Constants.URI_DEFAULT_SCHEMA_XSI + "\" " + "xmlns:xsd=\"" + Constants.URI_DEFAULT_SCHEMA_XSD + "\">\n"; 1.3 +2 -2 xml-axis/java/test/soap12/TestHrefs.java Index: TestHrefs.java =================================================================== RCS file: /home/cvs/xml-axis/java/test/soap12/TestHrefs.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- TestHrefs.java 16 Jan 2003 23:47:29 -0000 1.2 +++ TestHrefs.java 19 Jan 2003 21:25:10 -0000 1.3 @@ -34,8 +34,8 @@ HEAD = "<?xml version=\"1.0\"?>\n" + "<soap:Envelope " + - "xmlns:soap=\"http://www.w3.org/2002/06/soap-envelope\" " + - "xmlns:soapenc=\"http://www.w3.org/2002/06/soap-encoding\" " + + "xmlns:soap=\"http://www.w3.org/2002/12/soap-envelope\" " + + "xmlns:soapenc=\"http://www.w3.org/2002/12/soap-encoding\" " + "xmlns:xsi=\"" + NS_XSI + "\" " + "xmlns:xsd=\"" + NS_XSD + "\">\n" + "<soap:Header>\n"; 1.2 +1 -1 xml-axis/java/test/soap12/TestRPC.java Index: TestRPC.java =================================================================== RCS file: /home/cvs/xml-axis/java/test/soap12/TestRPC.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- TestRPC.java 20 Dec 2002 17:28:21 -0000 1.1 +++ TestRPC.java 19 Jan 2003 21:25:10 -0000 1.2 @@ -86,7 +86,7 @@ // Check DOM Element e = body.getAsDOM(); - NodeList l = e.getElementsByTagNameNS("http://www.w3.org/2002/06/soap-rpc","result"); + NodeList l = e.getElementsByTagNameNS("http://www.w3.org/2002/12/soap-rpc","result"); assertTrue("No result element was fount", l.getLength() == 1); String ptr = l.item(0).getFirstChild().getNodeValue(); assertNotNull("Ptr to the result value was null", ptr); 1.2 +1 -1 xml-axis/java/test/soap12/TestVersionMismatch.java Index: TestVersionMismatch.java =================================================================== RCS file: /home/cvs/xml-axis/java/test/soap12/TestVersionMismatch.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- TestVersionMismatch.java 7 Jan 2003 21:29:07 -0000 1.1 +++ TestVersionMismatch.java 19 Jan 2003 21:25:10 -0000 1.2 @@ -86,7 +86,7 @@ "<?xml version=\"1.0\"?>\n" + "<soap:Envelope " + "xmlns:soap=\"http://www.w3.org/2002/wrong-envelope-version\" " + - "xmlns:soapenc=\"http://www.w3.org/2002/06/soap-encoding\" " + + "xmlns:soapenc=\"http://www.w3.org/2002/12/soap-encoding\" " + "xmlns:this=\"http://encoding.test\" " + "xmlns:xsi=\"" + Constants.URI_DEFAULT_SCHEMA_XSI + "\" " + "xmlns:xsd=\"" + Constants.URI_DEFAULT_SCHEMA_XSD + "\">\n" + 1.33 +11 -0 xml-axis/java/src/org/apache/axis/utils/WSDLUtils.java Index: WSDLUtils.java =================================================================== RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/utils/WSDLUtils.java,v retrieving revision 1.32 retrieving revision 1.33 diff -u -r1.32 -r1.33 --- WSDLUtils.java 11 Dec 2002 22:38:27 -0000 1.32 +++ WSDLUtils.java 19 Jan 2003 21:25:11 -0000 1.33 @@ -56,10 +56,13 @@ package org.apache.axis.utils; import org.apache.axis.components.logger.LogFactory; +import org.apache.axis.Constants; import org.apache.commons.logging.Log; import javax.wsdl.Port; import javax.wsdl.extensions.soap.SOAPAddress; +import javax.wsdl.extensions.UnknownExtensibilityElement; +import javax.xml.namespace.QName; import java.util.List; import java.util.ListIterator; @@ -78,6 +81,14 @@ Object obj = li.next(); if (obj instanceof SOAPAddress) { return ((SOAPAddress) obj).getLocationURI(); + } else if (obj instanceof UnknownExtensibilityElement){ + //TODO: After WSDL4J supports soap12, change this code + UnknownExtensibilityElement unkElement = (UnknownExtensibilityElement) obj; + QName name = unkElement.getElementType(); + if(name.getNamespaceURI().equals(Constants.URI_WSDL12_SOAP) && + name.getLocalPart().equals("address")) { + return unkElement.getElement().getAttribute("location"); + } } } // didn't find it