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