You are viewing a plain text version of this content. The canonical link for it is here.
Posted to axis-cvs@ws.apache.org by na...@apache.org on 2008/08/26 00:56:49 UTC
svn commit: r688914 - in /webservices/axis/trunk/c:
src/wsdl/org/apache/axis/wsdl/wsdl2ws/
src/wsdl/org/apache/axis/wsdl/wsdl2ws/c/literal/
src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/
src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/literal/ tests/auto_build/t...
Author: nadiramra
Date: Mon Aug 25 15:56:48 2008
New Revision: 688914
URL: http://svn.apache.org/viewvc?rev=688914&view=rev
Log:
AXISCPP-458 - unwrapped support when no input parameters. Additional test cases.
Added:
webservices/axis/trunk/c/tests/auto_build/testcases/client/cpp/NoInputParamsUnwrappedClient.cpp
webservices/axis/trunk/c/tests/auto_build/testcases/client/cpp/OneWayOperationUnwrappedClient.cpp
webservices/axis/trunk/c/tests/auto_build/testcases/tests/NoInputParamsUnwrapped.xml
webservices/axis/trunk/c/tests/auto_build/testcases/tests/OneWayOperationUnwrapped.xml
webservices/axis/trunk/c/tests/auto_build/testcases/wsdls/NoInputParamsUnwrapped.wsdl
webservices/axis/trunk/c/tests/auto_build/testcases/wsdls/OneWayOperationUnwrapped.wsdl
Modified:
webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/WSDL2Ws.java
webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/c/literal/ClientStubWriter.java
webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/BeanParamWriter.java
webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/literal/ClientStubWriter.java
webservices/axis/trunk/c/tests/auto_build/testcases/unitTest.list
Modified: webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/WSDL2Ws.java
URL: http://svn.apache.org/viewvc/webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/WSDL2Ws.java?rev=688914&r1=688913&r2=688914&view=diff
==============================================================================
--- webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/WSDL2Ws.java (original)
+++ webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/WSDL2Ws.java Mon Aug 25 15:56:48 2008
@@ -681,10 +681,11 @@
// For wrapped style, inner attributes and elements are added as parameters.
// For unwrapped style, objects are used for the parameters (i.e. classes or structures).
+ Iterator elementNames = type.getElementnames();
+ Iterator attributes = type.getAttributes();
if (!minfo.isUnwrapped())
{
// Add input elements to method info
- Iterator elementNames = type.getElementnames();
while (elementNames.hasNext())
{
String elementname = (String) elementNames.next();
@@ -713,8 +714,7 @@
minfo.addInputParameter(pinfo);
}
- // add input attributes to method info
- Iterator attributes = type.getAttributes();
+ // add input attributes to method info - TODO probably can remove this chunk of code.
if (attributes != null)
{
while (attributes.hasNext())
@@ -734,27 +734,32 @@
}
else
{
- String elementName;
-
- if (element != null)
- elementName = element.getQName().getLocalPart();
- else
- elementName = type.getName().getLocalPart();
-
- ParameterInfo pinfo = new ParameterInfo();
-
- pinfo.setType(type);
- type.setIsUnwrappedInputType(true);
- pinfo.setParamName(elementName, c_typeMap);
- pinfo.setElementName(type.getName());
- if (type.getName().equals(CUtils.anyTypeQname))
- pinfo.setAnyType(true);
-
- // Let us be nice and uppercase the first character in type name,
- // in addition to resolving method name/type conflicts.
- type.setLanguageSpecificName(generateNewTypeName(type, minfo));
-
- minfo.addInputParameter(pinfo);
+ // If input element does not contain any sub-elements or attributes, we ignore.
+ if (elementNames.hasNext()
+ || (attributes != null && attributes.hasNext()))
+ {
+ String elementName;
+
+ if (element != null)
+ elementName = element.getQName().getLocalPart();
+ else
+ elementName = type.getName().getLocalPart();
+
+ ParameterInfo pinfo = new ParameterInfo();
+
+ pinfo.setType(type);
+ type.setIsUnwrappedInputType(true);
+ pinfo.setParamName(elementName, c_typeMap);
+ pinfo.setElementName(type.getName());
+ if (type.getName().equals(CUtils.anyTypeQname))
+ pinfo.setAnyType(true);
+
+ // Let us be nice and uppercase the first character in type name,
+ // in addition to resolving method name/type conflicts.
+ type.setLanguageSpecificName(generateNewTypeName(type, minfo));
+
+ minfo.addInputParameter(pinfo);
+ }
}
}
Modified: webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/c/literal/ClientStubWriter.java
URL: http://svn.apache.org/viewvc/webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/c/literal/ClientStubWriter.java?rev=688914&r1=688913&r2=688914&view=diff
==============================================================================
--- webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/c/literal/ClientStubWriter.java (original)
+++ webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/c/literal/ClientStubWriter.java Mon Aug 25 15:56:48 2008
@@ -364,20 +364,28 @@
if (namespaceURI == null)
namespaceURI = "";
-
- if (minfo.isUnwrapped())
+
+ // Need to give indication to serializer whether wrapped or unwrapped style is being done.
+ // Note that the only time we override this if there are no input parameters.
+ if (minfo.isUnwrapped() && paramsB.size () > 0)
c_writer.write("\taxiscCallSetOperationUnwrapped(call, \"");
else
c_writer.write("\taxiscCallSetOperation(call, \"");
c_writer.write( minfo.getMethodname() + "\", \""
+ namespaceURI + "\");\n");
- // new calls from stub base
+ //=============================================================================
+ // Apply user specified properties
+ //=============================================================================
+
CUtils.printBlockComment(c_writer, "Apply SSL configuration properties and user-set SOAP headers.");
c_writer.write ("\taxiscStubIncludeSecure(stub);\n");
c_writer.write ("\taxiscStubApplyUserPreferences(stub);\n");
-
+
+ //=============================================================================
// Process elements
+ //=============================================================================
+
boolean commentIssued=false;
String tab2;
for (int i = 0; i < paramsB.size(); i++)
Modified: webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/BeanParamWriter.java
URL: http://svn.apache.org/viewvc/webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/BeanParamWriter.java?rev=688914&r1=688913&r2=688914&view=diff
==============================================================================
--- webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/BeanParamWriter.java (original)
+++ webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/BeanParamWriter.java Mon Aug 25 15:56:48 2008
@@ -140,6 +140,7 @@
CUtils.printMethodComment(c_writer, "Setter method for class member field "
+ parameterName + ".");
+ // TODO setter leaks memory if setting complex type!
if (attribs[i].isArray())
{
c_writer.write("void " + c_classname + "::\nset"
Modified: webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/literal/ClientStubWriter.java
URL: http://svn.apache.org/viewvc/webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/literal/ClientStubWriter.java?rev=688914&r1=688913&r2=688914&view=diff
==============================================================================
--- webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/literal/ClientStubWriter.java (original)
+++ webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/literal/ClientStubWriter.java Mon Aug 25 15:56:48 2008
@@ -366,8 +366,10 @@
if (namespaceURI == null)
namespaceURI = "";
+ // Need to give indication to serializer whether wrapped or unwrapped style is being done.
+ // Note that the only time we override this if there are no input parameters.
String iswrapperstyle = "true";
- if (minfo.isUnwrapped())
+ if (minfo.isUnwrapped() && paramsB.size () > 0)
iswrapperstyle = "false";
c_writer.write( "\t\tm_pCall->setOperation(\""
Added: webservices/axis/trunk/c/tests/auto_build/testcases/client/cpp/NoInputParamsUnwrappedClient.cpp
URL: http://svn.apache.org/viewvc/webservices/axis/trunk/c/tests/auto_build/testcases/client/cpp/NoInputParamsUnwrappedClient.cpp?rev=688914&view=auto
==============================================================================
--- webservices/axis/trunk/c/tests/auto_build/testcases/client/cpp/NoInputParamsUnwrappedClient.cpp (added)
+++ webservices/axis/trunk/c/tests/auto_build/testcases/client/cpp/NoInputParamsUnwrappedClient.cpp Mon Aug 25 15:56:48 2008
@@ -0,0 +1,72 @@
+// Copyright 2003-2004 The Apache Software Foundation.
+// (c) Copyright IBM Corp. 2004, 2005 All Rights Reserved
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+#include <iostream>
+#include "NoInputParamsServicePortType.hpp"
+
+int main( int argc, char * argv[])
+{
+ const char * pszURL = "http://localhost:9090/axis/services/NoInputParamsService";
+ GetVersionResponse * result = NULL;
+
+ if (argc > 1)
+ pszURL = argv[1];
+
+ NoInputParamsServicePortType pWS( pszURL, APTHTTP1_1);
+
+ try
+ {
+ result = pWS.getVersion();
+
+ if (result && result->_return)
+ cout << "Result: " << result->_return << endl;
+ else
+ cout << "FAILED-null result" << endl;
+
+ delete result;
+ }
+ catch( SoapFaultException& e)
+ {
+ char *faultCode = (char *)e.getFaultCode();
+ char *faultString = (char *)e.getFaultString();
+ char *faultActor = (char *)e.getFaultActor();
+
+ if (!faultCode) faultCode = "NULL";
+ if (!faultString) faultString = "NULL";
+ if (!faultActor) faultActor = "NULL";
+
+ cout << " FaultCode = " << faultCode << endl;
+ cout << " FaultString = " << faultString << endl;
+ cout << " FaultActor = " << faultActor << endl;
+ cout << " SoapFaultException: " << e.what() << endl;
+ }
+ catch( AxisException& e)
+ {
+ cout << e.what() << endl;
+ }
+ catch( exception& e)
+ {
+ cout << "Unknown exception has occured : " << e.what() << endl;
+ }
+ catch(...)
+ {
+ cout << "Unknown exception has occured" << endl;
+ }
+
+
+ cout<< "---------------------- TEST COMPLETE -----------------------------"<< endl;
+
+ return 0;
+}
\ No newline at end of file
Added: webservices/axis/trunk/c/tests/auto_build/testcases/client/cpp/OneWayOperationUnwrappedClient.cpp
URL: http://svn.apache.org/viewvc/webservices/axis/trunk/c/tests/auto_build/testcases/client/cpp/OneWayOperationUnwrappedClient.cpp?rev=688914&view=auto
==============================================================================
--- webservices/axis/trunk/c/tests/auto_build/testcases/client/cpp/OneWayOperationUnwrappedClient.cpp (added)
+++ webservices/axis/trunk/c/tests/auto_build/testcases/client/cpp/OneWayOperationUnwrappedClient.cpp Mon Aug 25 15:56:48 2008
@@ -0,0 +1,128 @@
+// Copyright 2003-2004 The Apache Software Foundation.
+// (c) Copyright IBM Corp. 2004, 2005 All Rights Reserved
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+#include <iostream>
+#include "TestServicePortType.hpp"
+
+int main( int argc, char * argv[])
+{
+ const char * pszURL = "http://localhost:9090/OneWayOperation/services/OneWayOperationImpl";
+
+ if (argc > 1)
+ pszURL = argv[1];
+
+ TestServicePortType pWS( pszURL, APTHTTP1_1);
+ SampleBeanBoolean pSBB;
+ SampleBeanComplex pSBC;
+
+ ABeanPortTypeComplexInput inputComplex;
+ ABeanPortTypeBaseInput inputBase;
+
+ try
+ {
+
+
+ SampleBeanComplex_Array BBArrayIn;
+ SampleBeanComplex ** BBArray = NULL;
+ BBArrayIn.set(BBArray,0);
+ pSBB.setSampleBean(&BBArrayIn);
+ pSBB.setSampleBeanBoolean(false_);
+
+ inputBase.setElement(new SampleBeanBoolean(pSBB));
+ pWS.aBeanPortTypeBase( &inputBase );
+ cout << "Called aBeanPortTypeBase()" << endl;
+
+ SampleBeanComplex_Array BCArrayIn;
+ SampleBeanComplex ** BCArray = NULL;
+ BCArrayIn.set(BCArray,0);
+
+ pSBC.setSampleBeanComplex(&BCArrayIn);
+ pSBC.setBoolean(false_);
+
+ inputComplex.setElement(new SampleBeanComplex(pSBC));
+ pWS.aBeanPortTypeComplex( &inputComplex);
+ cout << "Called aBeanPortTypeComplex()" << endl;
+
+ cout << "Calling aBeanPortTypeComplex() to initiate fault processing" << endl;
+ pWS.aBeanPortTypeComplex( &inputComplex);
+
+ cout << "Calling aBeanPortTypeComplex() to see everything OK after fault processing" << endl;
+ pWS.aBeanPortTypeComplex( &inputComplex);
+ }
+ catch( SoapFaultException& e)
+ {
+ char *faultCode = (char *)e.getFaultCode();
+ char *faultString = (char *)e.getFaultString();
+ char *faultActor = (char *)e.getFaultActor();
+
+ if (!faultCode) faultCode = "NULL";
+ if (!faultString) faultString = "NULL";
+ if (!faultActor) faultActor = "NULL";
+
+ cout << " FaultCode = " << faultCode << endl;
+ cout << " FaultString = " << faultString << endl;
+ cout << " FaultActor = " << faultActor << endl;
+ cout << " SoapFaultException: " << e.what() << endl;
+ }
+ catch( AxisException& e)
+ {
+ cout << e.what() << endl;
+ }
+ catch( exception& e)
+ {
+ cout << "Unknown exception has occured : " << e.what() << endl;
+ }
+ catch(...)
+ {
+ cout << "Unknown exception has occured" << endl;
+ }
+
+ try
+ {
+ cout << "Calling aBeanPortTypeComplex() to see everything OK after fault processing" << endl;
+ pWS.aBeanPortTypeComplex( &inputComplex);
+ }
+ catch( SoapFaultException& e)
+ {
+ char *faultCode = (char *)e.getFaultCode();
+ char *faultString = (char *)e.getFaultString();
+ char *faultActor = (char *)e.getFaultActor();
+
+ if (!faultCode) faultCode = "NULL";
+ if (!faultString) faultString = "NULL";
+ if (!faultActor) faultActor = "NULL";
+
+ cout << " FaultCode = " << faultCode << endl;
+ cout << " FaultString = " << faultString << endl;
+ cout << " FaultActor = " << faultActor << endl;
+ cout << " SoapFaultException: " << e.what() << endl;
+ }
+ catch( AxisException& e)
+ {
+ cout << e.what() << endl;
+ }
+ catch( exception& e)
+ {
+ cout << "Unknown exception has occured : " << e.what() << endl;
+ }
+ catch(...)
+ {
+ cout << "Unknown exception has occured" << endl;
+ }
+
+ cout<< "---------------------- TEST COMPLETE -----------------------------"<< endl;
+
+ return 0;
+}
\ No newline at end of file
Added: webservices/axis/trunk/c/tests/auto_build/testcases/tests/NoInputParamsUnwrapped.xml
URL: http://svn.apache.org/viewvc/webservices/axis/trunk/c/tests/auto_build/testcases/tests/NoInputParamsUnwrapped.xml?rev=688914&view=auto
==============================================================================
--- webservices/axis/trunk/c/tests/auto_build/testcases/tests/NoInputParamsUnwrapped.xml (added)
+++ webservices/axis/trunk/c/tests/auto_build/testcases/tests/NoInputParamsUnwrapped.xml Mon Aug 25 15:56:48 2008
@@ -0,0 +1,16 @@
+<test>
+ <name>NoInputParamsUnwrapped</name>
+ <description>NoInputParamsUnwrapped</description>
+ <clientLang>cpp</clientLang>
+ <clientCode>NoInputParamsUnwrappedClient.cpp</clientCode>
+ <wsdl>NoInputParamsUnwrapped.wsdl</wsdl>
+ <expected>
+ <serverResponse>
+ NoInputParams_ServerResponse.expected
+ </serverResponse>
+ <output>
+ NoInputParams.cpp.out
+ </output>
+ </expected>
+ <endpoint>http://localhost:80/axis/NoInputParamsUnwrapped</endpoint>
+</test>
Added: webservices/axis/trunk/c/tests/auto_build/testcases/tests/OneWayOperationUnwrapped.xml
URL: http://svn.apache.org/viewvc/webservices/axis/trunk/c/tests/auto_build/testcases/tests/OneWayOperationUnwrapped.xml?rev=688914&view=auto
==============================================================================
--- webservices/axis/trunk/c/tests/auto_build/testcases/tests/OneWayOperationUnwrapped.xml (added)
+++ webservices/axis/trunk/c/tests/auto_build/testcases/tests/OneWayOperationUnwrapped.xml Mon Aug 25 15:56:48 2008
@@ -0,0 +1,16 @@
+<test>
+ <name>OneWayOperationUnwrapped</name>
+ <description>OneWayOperationUnwrapped</description>
+ <clientLang>cpp</clientLang>
+ <clientCode>OneWayOperationUnwrappedClient.cpp</clientCode>
+ <wsdl>OneWayOperationUnwrapped.wsdl</wsdl>
+ <expected>
+ <serverResponse>
+ OneWayOperation_ServerResponse.expected
+ </serverResponse>
+ <output>
+ OneWayOperation.cpp.out
+ </output>
+ </expected>
+ <endpoint>http://localhost:80/axis/OneWayOperationUnwrapped</endpoint>
+</test>
Modified: webservices/axis/trunk/c/tests/auto_build/testcases/unitTest.list
URL: http://svn.apache.org/viewvc/webservices/axis/trunk/c/tests/auto_build/testcases/unitTest.list?rev=688914&r1=688913&r2=688914&view=diff
==============================================================================
Binary files - no diff available.
Added: webservices/axis/trunk/c/tests/auto_build/testcases/wsdls/NoInputParamsUnwrapped.wsdl
URL: http://svn.apache.org/viewvc/webservices/axis/trunk/c/tests/auto_build/testcases/wsdls/NoInputParamsUnwrapped.wsdl?rev=688914&view=auto
==============================================================================
--- webservices/axis/trunk/c/tests/auto_build/testcases/wsdls/NoInputParamsUnwrapped.wsdl (added)
+++ webservices/axis/trunk/c/tests/auto_build/testcases/wsdls/NoInputParamsUnwrapped.wsdl Mon Aug 25 15:56:48 2008
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="utf-8"?>
+<wsdl:definitions
+ xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
+ xmlns:axis2="http://webservice.example.apache.org"
+ xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl"
+ xmlns:xs="http://www.w3.org/2001/XMLSchema"
+ xmlns:ns1="http://org.apache.axis2/xsd"
+ xmlns:ns0="http://webservice.example.apache.org/xsd"
+ targetNamespace="http://webservice.example.apache.org"
+ xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
+ <wsdl:types>
+ <xs:schema
+ xmlns:ns="http://webservice.example.apache.org/xsd"
+ attributeFormDefault="qualified"
+ elementFormDefault="qualified"
+ targetNamespace="http://webservice.example.apache.org/xsd">
+ <xs:element name="getVersionResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="return" nillable="true" type="xs:string" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+
+ <xs:element name="getVersionInput">
+ <xs:complexType>
+ <xs:sequence>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:schema>
+ </wsdl:types>
+ <wsdl:message name="getVersionMessage">
+ <wsdl:part name="part1" element="ns0:getVersionInput" />
+ </wsdl:message>
+
+ <wsdl:message name="getVersionResponse">
+ <wsdl:part name="part1" element="ns0:getVersionResponse" />
+ </wsdl:message>
+ <wsdl:portType name="NoInputParamsServicePortType">
+ <wsdl:operation name="getVersion">
+ <wsdl:input wsaw:Action="urn:getVersion" message="axis2:getVersionMessage" />
+ <wsdl:output wsaw:Action="http://webservice.example.apache.org /NoInputParamsServicePortType/getVersionResponse" message="axis2:getVersionResponse" />
+ </wsdl:operation>
+ </wsdl:portType>
+ <wsdl:binding name="NoInputParamsServiceSOAP11Binding" type="axis2:NoInputParamsServicePortType">
+ <soap:binding transport="http://schemas.xmlsoap.org/soap/http" />
+ <wsdl:operation name="getVersion">
+ <soap:operation soapAction="urn:getVersion" style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ </wsdl:binding>
+ <wsdl:service name="NoInputParamsService">
+ <wsdl:port name="NoInputParamsServiceSOAP11port_http" binding="axis2:NoInputParamsServiceSOAP11Binding">
+ <soap:address location="http://localhost/axis/NoInputParamsService" />
+ </wsdl:port>
+ </wsdl:service>
+</wsdl:definitions>
\ No newline at end of file
Added: webservices/axis/trunk/c/tests/auto_build/testcases/wsdls/OneWayOperationUnwrapped.wsdl
URL: http://svn.apache.org/viewvc/webservices/axis/trunk/c/tests/auto_build/testcases/wsdls/OneWayOperationUnwrapped.wsdl?rev=688914&view=auto
==============================================================================
--- webservices/axis/trunk/c/tests/auto_build/testcases/wsdls/OneWayOperationUnwrapped.wsdl (added)
+++ webservices/axis/trunk/c/tests/auto_build/testcases/wsdls/OneWayOperationUnwrapped.wsdl Mon Aug 25 15:56:48 2008
@@ -0,0 +1,87 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright 2003-2004 The Apache Software Foundation. -->
+<!-- (c) Copyright IBM Corp. 2004, 2005 All Rights Reserved -->
+<!-- -->
+<!-- Licensed under the Apache License, Version 2.0 (the "License"); -->
+<!-- you may not use this file except in compliance with the License. -->
+<!-- You may obtain a copy of the License at -->
+<!-- -->
+<!-- http://www.apache.org/licenses/LICENSE-2.0 -->
+<!-- -->
+<!-- Unless required by applicable law or agreed to in writing, software -->
+<!-- distributed under the License is distributed on an "AS IS" BASIS, -->
+<!-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -->
+<!-- See the License for the specific language governing permissions and -->
+<!-- limitations under the License. -->
+
+<definitions targetNamespace="OneWayOperationTest"
+ xmlns="http://schemas.xmlsoap.org/wsdl/"
+ xmlns:ns99="OneWayOperation"
+ xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
+ xmlns:tns="OneWayOperationTest"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="XMLSchema">
+
+ <types>
+ <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+ <xsd:import namespace="OneWayOperation"
+ schemaLocation="OneWayOperation.xsd"/>
+
+ <xsd:element name="aBeanPortTypeComplexInput">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element maxOccurs="1" minOccurs="1" name="Element" nillable="true" type="ns99:SampleBeanComplex"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+
+ <xsd:element name="aBeanPortTypeBaseInput">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element maxOccurs="1" minOccurs="1" name="Element" nillable="true" type="ns99:SampleBeanBoolean"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ </types>
+
+ <message name="aBeanMessageComplex">
+ <part name="aBeanMesage" element="tns:aBeanPortTypeComplexInput"></part>
+ </message>
+
+ <message name="aBeanMessageBase">
+ <part name="aBeanMesage" element="tns:aBeanPortTypeBaseInput"></part>
+ </message>
+
+ <portType name="TestServicePortType">
+ <operation name="aBeanPortTypeComplex">
+ <input message="tns:aBeanMessageComplex"/>
+ </operation>
+
+ <operation name="aBeanPortTypeBase">
+ <input message="tns:aBeanMessageBase"/>
+ </operation>
+ </portType>
+
+ <binding name="ServiceBinding" type="tns:TestServicePortType">
+ <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+ <operation name="aBeanPortTypeComplex">
+ <soap:operation soapAction="" style="document"/>
+ <input>
+ <soap:body use="literal"/>
+ </input>
+ </operation>
+
+ <operation name="aBeanPortTypeBase">
+ <soap:operation soapAction="" style="document"/>
+ <input>
+ <soap:body use="literal"/>
+ </input>
+ </operation>
+ </binding>
+
+ <service name="SimpleService">
+ <port binding="tns:ServiceBinding" name="ServiceBinding">
+ <soap:address location="http://tempuri.org" />
+ </port>
+ </service>
+</definitions>
\ No newline at end of file