Author: ema
Date: Thu Jul 5 02:11:22 2007
New Revision: 553430
URL: http://svn.apache.org/viewvc?view=rev&rev=553430
Log:
* [CXF-765] Fixed duplicate client and server issue. Changed the client name to
{SEIName}_{PortName}_Client.java ,changed server name to
{SEIName}_{PortName}_Server.java
* Fixed minor issue in generating exception class standalone
Added:
incubator/cxf/trunk/tools/wsdlto/test/src/test/resources/wsdl2java_wsdl/bug765/
incubator/cxf/trunk/tools/wsdlto/test/src/test/resources/wsdl2java_wsdl/bug765/hello_world.wsdl
incubator/cxf/trunk/tools/wsdlto/test/src/test/resources/wsdl2java_wsdl/bug765/hello_world_ports.wsdl
Modified:
incubator/cxf/trunk/tools/wsdlto/core/src/main/java/org/apache/cxf/tools/wsdlto/WSDLToJavaContainer.java
incubator/cxf/trunk/tools/wsdlto/core/src/main/java/org/apache/cxf/tools/wsdlto/core/DataBindingProfile.java
incubator/cxf/trunk/tools/wsdlto/databinding/jaxb/src/main/java/org/apache/cxf/tools/wsdlto/databinding/jaxb/JAXBDataBinding.java
incubator/cxf/trunk/tools/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/generators/ClientGenerator.java
incubator/cxf/trunk/tools/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/generators/ServerGenerator.java
incubator/cxf/trunk/tools/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/WSDLToJavaProcessor.java
incubator/cxf/trunk/tools/wsdlto/frontend/jaxws/src/test/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/DummyDataBinding.java
incubator/cxf/trunk/tools/wsdlto/test/src/test/java/org/apache/cxf/tools/wsdlto/jaxws/CodeGenBugTest.java
incubator/cxf/trunk/tools/wsdlto/test/src/test/java/org/apache/cxf/tools/wsdlto/jaxws/CodeGenOptionTest.java
Modified:
incubator/cxf/trunk/tools/wsdlto/core/src/main/java/org/apache/cxf/tools/wsdlto/WSDLToJavaContainer.java
URL:
http://svn.apache.org/viewvc/incubator/cxf/trunk/tools/wsdlto/core/src/main/java/org/apache/cxf/tools/wsdlto/WSDLToJavaContainer.java?view=diff&rev=553430&r1=553429&r2=553430
==============================================================================
---
incubator/cxf/trunk/tools/wsdlto/core/src/main/java/org/apache/cxf/tools/wsdlto/WSDLToJavaContainer.java
(original)
+++
incubator/cxf/trunk/tools/wsdlto/core/src/main/java/org/apache/cxf/tools/wsdlto/WSDLToJavaContainer.java
Thu Jul 5 02:11:22 2007
@@ -464,21 +464,22 @@
|| context.optionSet(ToolConstants.CFG_GEN_IMPL)
|| context.optionSet(ToolConstants.CFG_GEN_SEI)
|| context.optionSet(ToolConstants.CFG_GEN_SERVER)
- || context.optionSet(ToolConstants.CFG_GEN_SERVICE)) {
+ || context.optionSet(ToolConstants.CFG_GEN_SERVICE)
+ || context.optionSet(ToolConstants.CFG_GEN_FAULT)) {
return true;
}
return false;
}
- public void generateTypes() throws ToolException {
- if (passthrough()) {
- return;
- }
-
+ public void generateTypes() throws ToolException {
DataBindingProfile dataBindingProfile =
context.get(DataBindingProfile.class);
if (dataBindingProfile == null) {
Message msg = new Message("FOUND_NO_DATABINDING", LOG);
throw new ToolException(msg);
+ }
+ dataBindingProfile.initialize(context);
+ if (passthrough()) {
+ return;
}
dataBindingProfile.generate(context);
}
Modified:
incubator/cxf/trunk/tools/wsdlto/core/src/main/java/org/apache/cxf/tools/wsdlto/core/DataBindingProfile.java
URL:
http://svn.apache.org/viewvc/incubator/cxf/trunk/tools/wsdlto/core/src/main/java/org/apache/cxf/tools/wsdlto/core/DataBindingProfile.java?view=diff&rev=553430&r1=553429&r2=553430
==============================================================================
---
incubator/cxf/trunk/tools/wsdlto/core/src/main/java/org/apache/cxf/tools/wsdlto/core/DataBindingProfile.java
(original)
+++
incubator/cxf/trunk/tools/wsdlto/core/src/main/java/org/apache/cxf/tools/wsdlto/core/DataBindingProfile.java
Thu Jul 5 02:11:22 2007
@@ -28,6 +28,7 @@
public interface DataBindingProfile {
void generate(ToolContext context) throws ToolException;
+ void initialize(ToolContext c) throws ToolException;
String getType(QName qn, boolean element);
String getWrappedElementType(QName wrapperElement, QName item);
}
Modified:
incubator/cxf/trunk/tools/wsdlto/databinding/jaxb/src/main/java/org/apache/cxf/tools/wsdlto/databinding/jaxb/JAXBDataBinding.java
URL:
http://svn.apache.org/viewvc/incubator/cxf/trunk/tools/wsdlto/databinding/jaxb/src/main/java/org/apache/cxf/tools/wsdlto/databinding/jaxb/JAXBDataBinding.java?view=diff&rev=553430&r1=553429&r2=553430
==============================================================================
---
incubator/cxf/trunk/tools/wsdlto/databinding/jaxb/src/main/java/org/apache/cxf/tools/wsdlto/databinding/jaxb/JAXBDataBinding.java
(original)
+++
incubator/cxf/trunk/tools/wsdlto/databinding/jaxb/src/main/java/org/apache/cxf/tools/wsdlto/databinding/jaxb/JAXBDataBinding.java
Thu Jul 5 02:11:22 2007
@@ -67,7 +67,7 @@
private ToolContext context;
@SuppressWarnings("unchecked")
- private void initialize(ToolContext c) throws ToolException {
+ public void initialize(ToolContext c) throws ToolException {
this.context = c;
Modified:
incubator/cxf/trunk/tools/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/generators/ClientGenerator.java
URL:
http://svn.apache.org/viewvc/incubator/cxf/trunk/tools/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/generators/ClientGenerator.java?view=diff&rev=553430&r1=553429&r2=553430
==============================================================================
---
incubator/cxf/trunk/tools/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/generators/ClientGenerator.java
(original)
+++
incubator/cxf/trunk/tools/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/generators/ClientGenerator.java
Thu Jul 5 02:11:22 2007
@@ -31,6 +31,7 @@
import org.apache.cxf.tools.common.model.JavaModel;
import org.apache.cxf.tools.common.model.JavaPort;
import org.apache.cxf.tools.common.model.JavaServiceClass;
+import org.apache.cxf.tools.util.NameUtil;
public class ClientGenerator extends AbstractJAXWSGenerator {
@@ -40,24 +41,20 @@
this.name = ToolConstants.CLT_GENERATOR;
}
- public boolean passthrough() {
- if (env.optionSet(ToolConstants.CFG_GEN_CLIENT)
- || env.optionSet(ToolConstants.CFG_CLIENT)
+ public boolean passthrough() {
+ if (env.optionSet(ToolConstants.CFG_GEN_CLIENT) ||
env.optionSet(ToolConstants.CFG_CLIENT)
|| env.optionSet(ToolConstants.CFG_ALL)) {
return false;
- }
- if (env.optionSet(ToolConstants.CFG_GEN_ANT)
- || env.optionSet(ToolConstants.CFG_GEN_TYPES)
- || env.optionSet(ToolConstants.CFG_GEN_IMPL)
- || env.optionSet(ToolConstants.CFG_GEN_SEI)
- || env.optionSet(ToolConstants.CFG_GEN_SERVER)
- || env.optionSet(ToolConstants.CFG_GEN_SERVICE)
+ }
+ if (env.optionSet(ToolConstants.CFG_GEN_ANT) ||
env.optionSet(ToolConstants.CFG_GEN_TYPES)
+ || env.optionSet(ToolConstants.CFG_GEN_IMPL) ||
env.optionSet(ToolConstants.CFG_GEN_SEI)
+ || env.optionSet(ToolConstants.CFG_GEN_SERVER) ||
env.optionSet(ToolConstants.CFG_GEN_SERVICE)
|| env.optionSet(ToolConstants.CFG_GEN_FAULT)) {
return true;
}
-
+
return true;
-
+
}
public void generate(ToolContext penv) throws ToolException {
@@ -77,47 +74,28 @@
}
Map<String, JavaInterface> interfaces = javaModel.getInterfaces();
- JavaServiceClass js = null;
- JavaPort jp = null;
-
- for (Iterator iter = interfaces.keySet().iterator(); iter.hasNext();) {
- String interfaceName = (String)iter.next();
- JavaInterface intf = interfaces.get(interfaceName);
-
- Iterator it = javaModel.getServiceClasses().values().iterator();
- while (it.hasNext()) {
- String serviceName = "";
- js = (JavaServiceClass)it.next();
- Iterator i = js.getPorts().iterator();
- while (i.hasNext()) {
- jp = (JavaPort)i.next();
- if (jp.getPortType().equals(interfaceName)) {
- serviceName = js.getName();
-
- break;
- }
- }
- if (!"".equals(serviceName)) {
- break;
- }
- }
+ Iterator it = javaModel.getServiceClasses().values().iterator();
+ while (it.hasNext()) {
+ JavaServiceClass js = (JavaServiceClass)it.next();
+ Iterator i = js.getPorts().iterator();
+ while (i.hasNext()) {
+ JavaPort jp = (JavaPort)i.next();
+ String interfaceName = jp.getPortType();
+ JavaInterface intf = interfaces.get(interfaceName);
+
+ String clientClassName = interfaceName + "_"
+ +
NameUtil.mangleNameToClassName(jp.getPortName()) + "_Client";
+
+ clearAttributes();
+ setAttributes("clientClassName", clientClassName);
+ setAttributes("intf", intf);
+ setAttributes("service", js);
+ setAttributes("port", jp);
+ setCommonAttributes();
- String clientClassName = interfaceName + "Client";
- while (isCollision(intf.getPackageName(), clientClassName)) {
- clientClassName = clientClassName + "_Client";
+ doWrite(CLT_TEMPLATE, parseOutputName(intf.getPackageName(),
clientClassName));
}
-
- clearAttributes();
- setAttributes("clientClassName", clientClassName);
- setAttributes("intf", intf);
- setAttributes("service", js);
- setAttributes("port", jp);
-
- setCommonAttributes();
-
- doWrite(CLT_TEMPLATE, parseOutputName(intf.getPackageName(),
- clientClassName));
}
}
}
Modified:
incubator/cxf/trunk/tools/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/generators/ServerGenerator.java
URL:
http://svn.apache.org/viewvc/incubator/cxf/trunk/tools/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/generators/ServerGenerator.java?view=diff&rev=553430&r1=553429&r2=553430
==============================================================================
---
incubator/cxf/trunk/tools/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/generators/ServerGenerator.java
(original)
+++
incubator/cxf/trunk/tools/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/generators/ServerGenerator.java
Thu Jul 5 02:11:22 2007
@@ -23,6 +23,7 @@
import java.util.Map;
import org.apache.cxf.common.i18n.Message;
+import org.apache.cxf.common.util.StringUtils;
import org.apache.cxf.service.model.ServiceInfo;
import org.apache.cxf.tools.common.ToolConstants;
import org.apache.cxf.tools.common.ToolContext;
@@ -31,6 +32,7 @@
import org.apache.cxf.tools.common.model.JavaModel;
import org.apache.cxf.tools.common.model.JavaPort;
import org.apache.cxf.tools.common.model.JavaServiceClass;
+import org.apache.cxf.tools.util.NameUtil;
public class ServerGenerator extends AbstractJAXWSGenerator {
@@ -41,17 +43,13 @@
}
public boolean passthrough() {
- if (env.optionSet(ToolConstants.CFG_GEN_SERVER)
- || env.optionSet(ToolConstants.CFG_SERVER)
+ if (env.optionSet(ToolConstants.CFG_GEN_SERVER) ||
env.optionSet(ToolConstants.CFG_SERVER)
|| env.optionSet(ToolConstants.CFG_ALL)) {
return false;
- }
- if (env.optionSet(ToolConstants.CFG_GEN_ANT)
- || env.optionSet(ToolConstants.CFG_GEN_TYPES)
- || env.optionSet(ToolConstants.CFG_GEN_CLIENT)
- || env.optionSet(ToolConstants.CFG_GEN_IMPL)
- || env.optionSet(ToolConstants.CFG_GEN_SEI)
- || env.optionSet(ToolConstants.CFG_GEN_SERVICE)
+ }
+ if (env.optionSet(ToolConstants.CFG_GEN_ANT) ||
env.optionSet(ToolConstants.CFG_GEN_TYPES)
+ || env.optionSet(ToolConstants.CFG_GEN_CLIENT) ||
env.optionSet(ToolConstants.CFG_GEN_IMPL)
+ || env.optionSet(ToolConstants.CFG_GEN_SEI) ||
env.optionSet(ToolConstants.CFG_GEN_SERVICE)
|| env.optionSet(ToolConstants.CFG_GEN_FAULT)) {
return true;
}
@@ -67,7 +65,7 @@
}
String address = "CHANGE_ME";
Map<String, JavaInterface> interfaces = javaModel.getInterfaces();
-
+
if (javaModel.getServiceClasses().size() == 0) {
ServiceInfo serviceInfo = (ServiceInfo)env.get(ServiceInfo.class);
String wsdl = serviceInfo.getDescription().getBaseURI();
@@ -77,46 +75,31 @@
}
return;
}
-
- for (Iterator iter = interfaces.keySet().iterator(); iter.hasNext();) {
- String interfaceName = (String)iter.next();
- JavaInterface intf = interfaces.get(interfaceName);
- Iterator it = javaModel.getServiceClasses().values().iterator();
- while (it.hasNext()) {
- JavaServiceClass js = (JavaServiceClass)it.next();
- Iterator i = js.getPorts().iterator();
- while (i.hasNext()) {
- JavaPort jp = (JavaPort)i.next();
- if (interfaceName.equals(jp.getPortType())) {
- address = jp.getBindingAdress();
- break;
- }
- }
- if (!"".equals(address)) {
- break;
+ Iterator it = javaModel.getServiceClasses().values().iterator();
+ while (it.hasNext()) {
+ JavaServiceClass js = (JavaServiceClass)it.next();
+ Iterator i = js.getPorts().iterator();
+ while (i.hasNext()) {
+ JavaPort jp = (JavaPort)i.next();
+ String interfaceName = jp.getPortType();
+ JavaInterface intf = interfaces.get(interfaceName);
+ address = StringUtils.isEmpty(jp.getBindingAdress()) ? address
: jp.getBindingAdress();
+ String serverClassName = interfaceName + "_"
+ +
NameUtil.mangleNameToClassName(jp.getPortName()) + "_Server";
+
+ clearAttributes();
+ setAttributes("serverClassName", serverClassName);
+ setAttributes("intf", intf);
+ if (penv.optionSet(ToolConstants.CFG_IMPL_CLASS)) {
+ setAttributes("impl",
(String)penv.get(ToolConstants.CFG_IMPL_CLASS));
+ } else {
+ setAttributes("impl", intf.getName() + "Impl");
}
- }
-
+ setAttributes("address", address);
+ setCommonAttributes();
- String serverClassName = interfaceName + "Server";
-
- while (isCollision(intf.getPackageName(), serverClassName)) {
- serverClassName = serverClassName + "_Server";
- }
-
- clearAttributes();
- setAttributes("serverClassName", serverClassName);
- setAttributes("intf", intf);
- if (penv.optionSet(ToolConstants.CFG_IMPL_CLASS)) {
- setAttributes("impl",
- (String)penv.get(ToolConstants.CFG_IMPL_CLASS));
- } else {
- setAttributes("impl", intf.getName() + "Impl");
+ doWrite(SRV_TEMPLATE, parseOutputName(intf.getPackageName(),
serverClassName));
}
- setAttributes("address", address);
- setCommonAttributes();
-
- doWrite(SRV_TEMPLATE, parseOutputName(intf.getPackageName(),
serverClassName));
}
}
Modified:
incubator/cxf/trunk/tools/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/WSDLToJavaProcessor.java
URL:
http://svn.apache.org/viewvc/incubator/cxf/trunk/tools/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/WSDLToJavaProcessor.java?view=diff&rev=553430&r1=553429&r2=553430
==============================================================================
---
incubator/cxf/trunk/tools/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/WSDLToJavaProcessor.java
(original)
+++
incubator/cxf/trunk/tools/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/WSDLToJavaProcessor.java
Thu Jul 5 02:11:22 2007
@@ -79,7 +79,7 @@
map.put(serviceInfo.getName(), javaModel);
}
context.put(JavaModel.class, javaModel);
-
+
List<JavaInterface> interfaces = new ArrayList<JavaInterface>();
interfaces.addAll(javaModel.getInterfaces().values());
Modified:
incubator/cxf/trunk/tools/wsdlto/frontend/jaxws/src/test/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/DummyDataBinding.java
URL:
http://svn.apache.org/viewvc/incubator/cxf/trunk/tools/wsdlto/frontend/jaxws/src/test/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/DummyDataBinding.java?view=diff&rev=553430&r1=553429&r2=553430
==============================================================================
---
incubator/cxf/trunk/tools/wsdlto/frontend/jaxws/src/test/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/DummyDataBinding.java
(original)
+++
incubator/cxf/trunk/tools/wsdlto/frontend/jaxws/src/test/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/DummyDataBinding.java
Thu Jul 5 02:11:22 2007
@@ -28,6 +28,10 @@
public void generate(ToolContext context) throws ToolException {
}
+ public void initialize(ToolContext c) throws ToolException {
+
+ }
+
public String getType(QName qn, boolean element) {
return null;
}
Modified:
incubator/cxf/trunk/tools/wsdlto/test/src/test/java/org/apache/cxf/tools/wsdlto/jaxws/CodeGenBugTest.java
URL:
http://svn.apache.org/viewvc/incubator/cxf/trunk/tools/wsdlto/test/src/test/java/org/apache/cxf/tools/wsdlto/jaxws/CodeGenBugTest.java?view=diff&rev=553430&r1=553429&r2=553430
==============================================================================
---
incubator/cxf/trunk/tools/wsdlto/test/src/test/java/org/apache/cxf/tools/wsdlto/jaxws/CodeGenBugTest.java
(original)
+++
incubator/cxf/trunk/tools/wsdlto/test/src/test/java/org/apache/cxf/tools/wsdlto/jaxws/CodeGenBugTest.java
Thu Jul 5 02:11:22 2007
@@ -377,7 +377,7 @@
WebServiceClient webServiceClient = AnnotationUtil
.getPrivClassAnnotation(clz, WebServiceClient.class);
assertEquals("http://apache.org/hello_world_soap_http/service",
webServiceClient.targetNamespace());
- File file = new File(output,
"org/apache/hello_world_soap_http/GreeterClient.java");
+ File file = new File(output,
"org/apache/hello_world_soap_http/Greeter_SoapPortTest1_Client.java");
FileInputStream fin = new FileInputStream(file);
byte[] buffer = new byte[30000];
int index = -1;
@@ -534,7 +534,26 @@
}
-
-
-
+ @Test
+ //Test for CXF-765
+ public void testClientServer() throws Exception {
+ env.put(ToolConstants.CFG_WSDLURL,
getLocation("/wsdl2java_wsdl/bug765/hello_world_ports.wsdl"));
+ env.remove(ToolConstants.CFG_COMPILE);
+ env.remove(ToolConstants.CFG_IMPL);
+ env.put(ToolConstants.CFG_GEN_SERVER, ToolConstants.CFG_GEN_SERVER);
+ env.put(ToolConstants.CFG_GEN_CLIENT, ToolConstants.CFG_GEN_CLIENT);
+ processor.setContext(env);
+ processor.execute();
+
+ File file = new File(output, "org/apache/hello_world_soap_http");
+ assertEquals(4, file.list().length);
+ file = new File(output,
"org/apache/hello_world_soap_http/DocLitBare_DocLitBarePort_Client.java");
+ assertTrue("DocLitBare_DocLitBarePort_Client is not found",
file.exists());
+ file = new File(output,
"org/apache/hello_world_soap_http/DocLitBare_DocLitBarePort_Server.java");
+ assertTrue("DocLitBare_DocLitBarePort_Server is not found",
file.exists());
+ file = new File(output,
"org/apache/hello_world_soap_http/Greeter_GreeterPort_Client.java");
+ assertTrue("Greeter_GreeterPort_Client is not found", file.exists());
+ file = new File(output,
"org/apache/hello_world_soap_http/Greeter_GreeterPort_Server.java");
+ assertTrue("Greeter_GreeterPort_Server is not found", file.exists());
+ }
}
Modified:
incubator/cxf/trunk/tools/wsdlto/test/src/test/java/org/apache/cxf/tools/wsdlto/jaxws/CodeGenOptionTest.java
URL:
http://svn.apache.org/viewvc/incubator/cxf/trunk/tools/wsdlto/test/src/test/java/org/apache/cxf/tools/wsdlto/jaxws/CodeGenOptionTest.java?view=diff&rev=553430&r1=553429&r2=553430
==============================================================================
---
incubator/cxf/trunk/tools/wsdlto/test/src/test/java/org/apache/cxf/tools/wsdlto/jaxws/CodeGenOptionTest.java
(original)
+++
incubator/cxf/trunk/tools/wsdlto/test/src/test/java/org/apache/cxf/tools/wsdlto/jaxws/CodeGenOptionTest.java
Thu Jul 5 02:11:22 2007
@@ -75,7 +75,8 @@
processor.setContext(env);
processor.execute();
- Class greeterServer =
classLoader.loadClass("org.apache.hello_world_soap_http.GreeterServer");
+ Class greeterServer = classLoader
+
.loadClass("org.apache.hello_world_soap_http.Greeter_SoapPort_Server");
assertNotNull("Server should be generated", greeterServer);
}
@@ -89,7 +90,8 @@
processor.setContext(env);
processor.execute();
- Class greeterServer =
classLoader.loadClass("org.apache.hello_world_soap_http.GreeterServer");
+ Class greeterServer = classLoader
+
.loadClass("org.apache.hello_world_soap_http.Greeter_SoapPort_Server");
assertNotNull("Server should be generated", greeterServer);
}
@@ -110,6 +112,20 @@
Class clz =
classLoader.loadClass("org.apache.hello_world_async_soap_http.GreeterAsync");
assertEquals(3, clz.getMethods().length);
+
+ }
+
+ @Test
+ public void testGenFault() throws Exception {
+ env.put(ToolConstants.CFG_WSDLURL,
getLocation("/wsdl2java_wsdl/hello_world.wsdl"));
+ env.remove(ToolConstants.CFG_COMPILE);
+ env.remove(ToolConstants.CFG_IMPL);
+ env.put(ToolConstants.CFG_GEN_FAULT, ToolConstants.CFG_GEN_FAULT);
+ processor.setContext(env);
+ processor.execute();
+
+ File file = new File(output, "org/apache/hello_world_soap_http");
+ assertEquals(2, file.list().length);
}
}
Added:
incubator/cxf/trunk/tools/wsdlto/test/src/test/resources/wsdl2java_wsdl/bug765/hello_world.wsdl
URL:
http://svn.apache.org/viewvc/incubator/cxf/trunk/tools/wsdlto/test/src/test/resources/wsdl2java_wsdl/bug765/hello_world.wsdl?view=auto&rev=553430
==============================================================================
---
incubator/cxf/trunk/tools/wsdlto/test/src/test/resources/wsdl2java_wsdl/bug765/hello_world.wsdl
(added)
+++
incubator/cxf/trunk/tools/wsdlto/test/src/test/resources/wsdl2java_wsdl/bug765/hello_world.wsdl
Thu Jul 5 02:11:22 2007
@@ -0,0 +1,349 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+<wsdl:definitions xmlns="http://schemas.xmlsoap.org/wsdl/"
+ xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
+ xmlns:tns="http://apache.org/hello_world_soap_http"
+ xmlns:x1="http://apache.org/hello_world_soap_http/types"
+ xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ targetNamespace="http://apache.org/hello_world_soap_http"
name="HelloWorld">
+ <wsdl:types>
+ <schema
targetNamespace="http://apache.org/hello_world_soap_http/types"
xmlns="http://www.w3.org/2001/XMLSchema"
xmlns:x1="http://apache.org/hello_world_soap_http/types"
elementFormDefault="qualified">
+ <element name="sayHi">
+ <complexType/>
+ </element>
+ <element name="sayHiResponse">
+ <complexType>
+ <sequence>
+ <element name="responseType" type="string"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="greetMe">
+ <complexType>
+ <sequence>
+ <element name="requestType" type="string"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="greetMeResponse">
+ <complexType>
+ <sequence>
+ <element name="responseType" type="string"/>
+ </sequence>
+ </complexType>
+ </element>
+
+ <element name="testNillable">
+ <complexType>
+ <sequence>
+ <element name="NillElem" nillable="true"
type="string"/>
+ <element name="intElem" type="int"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="testNillableResponse">
+ <complexType>
+ <sequence>
+ <element name="responseType" nillable="true"
type="string"/>
+ </sequence>
+ </complexType>
+ </element>
+
+ <element name="greetMeLater">
+ <complexType>
+ <sequence>
+ <element name="requestType" type="long"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="greetMeLaterResponse">
+ <complexType>
+ <sequence>
+ <element name="responseType" type="string"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="greetMeSometime">
+ <complexType>
+ <sequence>
+ <element name="requestType" type="string"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="greetMeSometimeResponse">
+ <complexType>
+ <sequence>
+ <element name="responseType" type="string"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="greetMeOneWay">
+ <complexType>
+ <sequence>
+ <element name="requestType" type="string"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="testDocLitFault">
+ <complexType>
+ <sequence>
+ <element name="faultType" type="string"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="testDocLitFaultResponse">
+ <complexType>
+ <sequence/>
+ </complexType>
+ </element>
+ <complexType name="ErrorCode">
+ <sequence>
+ <element name="minor" type="short"/>
+ <element name="major" type="short"/>
+ </sequence>
+ </complexType>
+ <element name="NoSuchCodeLit">
+ <complexType>
+ <sequence>
+ <element name="code" type="x1:ErrorCode"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="BadRecordLit" type="string"/>
+ <complexType name="BadRecord">
+ <sequence>
+ <element name="reason" type="string"/>
+ <element name="code" type="short"/>
+ </sequence>
+ </complexType>
+ <complexType name="addNumbers">
+ <sequence>
+ <element name="arg0" type="int"/>
+ <element name="arg1" type="int"/>
+ </sequence>
+ </complexType>
+ <element name="addNumbers" type="x1:addNumbers"/>
+ <complexType name="addNumbersResponse">
+ <sequence>
+ <element name="return" type="int"/>
+ </sequence>
+ </complexType>
+ <element name="addNumbersResponse" type="x1:addNumbersResponse"/>
+ <complexType name="stringStruct">
+ <sequence>
+ <element name="arg0" type="string"/>
+ <element name="arg1" type="string"/>
+ </sequence>
+ </complexType>
+ <element name="BareDocument" type="string"/>
+ <element name="BareDocumentResponse">
+ <complexType>
+ <sequence>
+ <element name="company" type="string"/>
+ </sequence>
+ <attribute name="id" type="int"/>
+ </complexType>
+ </element>
+ </schema>
+ </wsdl:types>
+ <wsdl:message name="sayHiRequest">
+ <wsdl:part name="in" element="x1:sayHi"/>
+ </wsdl:message>
+ <wsdl:message name="sayHiResponse">
+ <wsdl:part name="out" element="x1:sayHiResponse"/>
+ </wsdl:message>
+ <wsdl:message name="greetMeRequest">
+ <wsdl:part name="in" element="x1:greetMe"/>
+ </wsdl:message>
+ <wsdl:message name="greetMeResponse">
+ <wsdl:part name="out" element="x1:greetMeResponse"/>
+ </wsdl:message>
+ <wsdl:message name="testNillableRequest">
+ <wsdl:part name="in" element="x1:testNillable"/>
+ </wsdl:message>
+ <wsdl:message name="testNillableResponse">
+ <wsdl:part name="out" element="x1:testNillableResponse"/>
+ </wsdl:message>
+ <wsdl:message name="greetMeLaterRequest">
+ <wsdl:part name="in" element="x1:greetMeLater"/>
+ </wsdl:message>
+ <wsdl:message name="greetMeLaterResponse">
+ <wsdl:part name="out" element="x1:greetMeLaterResponse"/>
+ </wsdl:message>
+ <wsdl:message name="greetMeSometimeRequest">
+ <wsdl:part name="in" element="x1:greetMeSometime"/>
+ </wsdl:message>
+ <wsdl:message name="greetMeSometimeResponse">
+ <wsdl:part name="out" element="x1:greetMeSometimeResponse"/>
+ </wsdl:message>
+ <wsdl:message name="greetMeOneWayRequest">
+ <wsdl:part name="in" element="x1:greetMeOneWay"/>
+ </wsdl:message>
+ <wsdl:message name="testDocLitFaultRequest">
+ <wsdl:part name="in" element="x1:testDocLitFault"/>
+ </wsdl:message>
+ <wsdl:message name="testDocLitFaultResponse">
+ <wsdl:part name="out" element="x1:testDocLitFaultResponse"/>
+ </wsdl:message>
+ <wsdl:message name="NoSuchCodeLitFault">
+ <wsdl:part name="NoSuchCodeLit" element="x1:NoSuchCodeLit"/>
+ </wsdl:message>
+ <wsdl:message name="BadRecordLitFault">
+ <wsdl:part name="BadRecordLit" element="x1:BadRecordLit"/>
+ </wsdl:message>
+ <wsdl:message name="testDocLitBareRequest">
+ <wsdl:part name="in" element="x1:BareDocument"/>
+ </wsdl:message>
+ <wsdl:message name="testDocLitBareResponse">
+ <wsdl:part name="out" element="x1:BareDocumentResponse"/>
+ </wsdl:message>
+ <wsdl:portType name="Greeter">
+ <wsdl:operation name="sayHi">
+ <wsdl:input name="sayHiRequest" message="tns:sayHiRequest"/>
+ <wsdl:output name="sayHiResponse" message="tns:sayHiResponse"/>
+ </wsdl:operation>
+ <wsdl:operation name="greetMe">
+ <wsdl:input name="greetMeRequest" message="tns:greetMeRequest"/>
+ <wsdl:output name="greetMeResponse" message="tns:greetMeResponse"/>
+ </wsdl:operation>
+ <wsdl:operation name="testNillable">
+ <wsdl:input name="testNillableRequest"
message="tns:testNillableRequest"/>
+ <wsdl:output name="testNillableResponse"
message="tns:testNillableResponse"/>
+ </wsdl:operation>
+ <wsdl:operation name="greetMeLater">
+ <wsdl:input name="greetMeLaterRequest"
message="tns:greetMeLaterRequest"/>
+ <wsdl:output name="greetMeLaterResponse"
message="tns:greetMeLaterResponse"/>
+ </wsdl:operation>
+ <wsdl:operation name="greetMeSometime">
+ <wsdl:input name="greetMeSometimeRequest"
message="tns:greetMeSometimeRequest"/>
+ <wsdl:output name="greetMeSometimeResponse"
message="tns:greetMeSometimeResponse"/>
+ </wsdl:operation>
+ <wsdl:operation name="greetMeOneWay">
+ <wsdl:input name="greetMeOneWayRequest"
message="tns:greetMeOneWayRequest"/>
+ </wsdl:operation>
+ <wsdl:operation name="testDocLitFault">
+ <wsdl:input name="testDocLitFaultRequest"
message="tns:testDocLitFaultRequest"/>
+ <wsdl:output name="testDocLitFaultResponse"
message="tns:testDocLitFaultResponse"/>
+ <wsdl:fault name="NoSuchCodeLitFault"
message="tns:NoSuchCodeLitFault"/>
+ <wsdl:fault name="BadRecordLitFault"
message="tns:BadRecordLitFault"/>
+ </wsdl:operation>
+
+ </wsdl:portType>
+
+ <wsdl:portType name="DocLitBare">
+ <wsdl:operation name="testDocLitBare">
+ <wsdl:input name="testDocLitBareRequest"
message="tns:testDocLitBareRequest"/>
+ <wsdl:output name="testDocLitBareResponse"
message="tns:testDocLitBareResponse"/>
+ </wsdl:operation>
+ </wsdl:portType>
+ <wsdl:binding name="Greeter_SOAPBinding" type="tns:Greeter">
+ <soap:binding style="document"
transport="http://schemas.xmlsoap.org/soap/http"/>
+ <wsdl:operation name="sayHi">
+ <soap:operation style="document"/>
+ <wsdl:input>
+ <soap:body use="literal"/>
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal"/>
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="greetMe">
+ <soap:operation style="document"/>
+ <wsdl:input>
+ <soap:body use="literal"/>
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal"/>
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="testNillable">
+ <soap:operation style="document"/>
+ <wsdl:input>
+ <soap:body use="literal"/>
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal"/>
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="greetMeLater">
+ <soap:operation style="document"/>
+ <wsdl:input>
+ <soap:body use="literal"/>
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal"/>
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="greetMeSometime">
+ <soap:operation style="document"/>
+ <wsdl:input>
+ <soap:body use="literal"/>
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal"/>
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="greetMeOneWay">
+ <soap:operation style="document"/>
+ <wsdl:input>
+ <soap:body use="literal"/>
+ </wsdl:input>
+ </wsdl:operation>
+ <wsdl:operation name="testDocLitFault">
+ <soap:operation style="document"/>
+ <wsdl:input>
+ <soap:body use="literal"/>
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal"/>
+ </wsdl:output>
+ <wsdl:fault name="NoSuchCodeLitFault">
+ <soap:fault name="NoSuchCodeLitFault" use="literal"/>
+ </wsdl:fault>
+ <wsdl:fault name="BadRecordLitFault">
+ <soap:fault name="BadRecordLitFault" use="literal"/>
+ </wsdl:fault>
+ </wsdl:operation>
+
+ </wsdl:binding>
+ <wsdl:binding name="Doc_Lit_Bare_SOAPBinding" type="tns:DocLitBare">
+ <soap:binding style="document"
transport="http://schemas.xmlsoap.org/soap/http"/>
+ <wsdl:operation name="testDocLitBare">
+ <soap:operation style="document"
soapAction="http://apache.org/hello_world_soap_http/testDocLitBare"/>
+ <wsdl:input name="testDocLitBareRequest">
+ <soap:body use="literal"/>
+ </wsdl:input>
+ <wsdl:output name="testDocLitBareResponse">
+ <soap:body use="literal"/>
+ </wsdl:output>
+ </wsdl:operation>
+ </wsdl:binding>
+
+ <wsdl:service name="SOAPServiceMultiPortTypeTest">
+ <wsdl:port name="GreeterPort" binding="tns:Greeter_SOAPBinding">
+ <soap:address
location="http://localhost:9020/MultiPort/GreeterPort"/>
+ </wsdl:port>
+ <wsdl:port name="DocLitBarePort"
binding="tns:Doc_Lit_Bare_SOAPBinding">
+ <soap:address
location="http://localhost:9021/MultiPort/DocBarePort"/>
+ </wsdl:port>
+ </wsdl:service>
+</wsdl:definitions>
+
Added:
incubator/cxf/trunk/tools/wsdlto/test/src/test/resources/wsdl2java_wsdl/bug765/hello_world_ports.wsdl
URL:
http://svn.apache.org/viewvc/incubator/cxf/trunk/tools/wsdlto/test/src/test/resources/wsdl2java_wsdl/bug765/hello_world_ports.wsdl?view=auto&rev=553430
==============================================================================
---
incubator/cxf/trunk/tools/wsdlto/test/src/test/resources/wsdl2java_wsdl/bug765/hello_world_ports.wsdl
(added)
+++
incubator/cxf/trunk/tools/wsdlto/test/src/test/resources/wsdl2java_wsdl/bug765/hello_world_ports.wsdl
Thu Jul 5 02:11:22 2007
@@ -0,0 +1,349 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+<wsdl:definitions xmlns="http://schemas.xmlsoap.org/wsdl/"
+ xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
+ xmlns:tns="http://apache.org/hello_world_soap_http"
+ xmlns:x1="http://apache.org/hello_world_soap_http/types"
+ xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ targetNamespace="http://apache.org/hello_world_soap_http"
name="HelloWorld">
+ <wsdl:types>
+ <schema
targetNamespace="http://apache.org/hello_world_soap_http/types"
xmlns="http://www.w3.org/2001/XMLSchema"
xmlns:x1="http://apache.org/hello_world_soap_http/types"
elementFormDefault="qualified">
+ <element name="sayHi">
+ <complexType/>
+ </element>
+ <element name="sayHiResponse">
+ <complexType>
+ <sequence>
+ <element name="responseType" type="string"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="greetMe">
+ <complexType>
+ <sequence>
+ <element name="requestType" type="string"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="greetMeResponse">
+ <complexType>
+ <sequence>
+ <element name="responseType" type="string"/>
+ </sequence>
+ </complexType>
+ </element>
+
+ <element name="testNillable">
+ <complexType>
+ <sequence>
+ <element name="NillElem" nillable="true"
type="string"/>
+ <element name="intElem" type="int"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="testNillableResponse">
+ <complexType>
+ <sequence>
+ <element name="responseType" nillable="true"
type="string"/>
+ </sequence>
+ </complexType>
+ </element>
+
+ <element name="greetMeLater">
+ <complexType>
+ <sequence>
+ <element name="requestType" type="long"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="greetMeLaterResponse">
+ <complexType>
+ <sequence>
+ <element name="responseType" type="string"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="greetMeSometime">
+ <complexType>
+ <sequence>
+ <element name="requestType" type="string"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="greetMeSometimeResponse">
+ <complexType>
+ <sequence>
+ <element name="responseType" type="string"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="greetMeOneWay">
+ <complexType>
+ <sequence>
+ <element name="requestType" type="string"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="testDocLitFault">
+ <complexType>
+ <sequence>
+ <element name="faultType" type="string"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="testDocLitFaultResponse">
+ <complexType>
+ <sequence/>
+ </complexType>
+ </element>
+ <complexType name="ErrorCode">
+ <sequence>
+ <element name="minor" type="short"/>
+ <element name="major" type="short"/>
+ </sequence>
+ </complexType>
+ <element name="NoSuchCodeLit">
+ <complexType>
+ <sequence>
+ <element name="code" type="x1:ErrorCode"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="BadRecordLit" type="string"/>
+ <complexType name="BadRecord">
+ <sequence>
+ <element name="reason" type="string"/>
+ <element name="code" type="short"/>
+ </sequence>
+ </complexType>
+ <complexType name="addNumbers">
+ <sequence>
+ <element name="arg0" type="int"/>
+ <element name="arg1" type="int"/>
+ </sequence>
+ </complexType>
+ <element name="addNumbers" type="x1:addNumbers"/>
+ <complexType name="addNumbersResponse">
+ <sequence>
+ <element name="return" type="int"/>
+ </sequence>
+ </complexType>
+ <element name="addNumbersResponse" type="x1:addNumbersResponse"/>
+ <complexType name="stringStruct">
+ <sequence>
+ <element name="arg0" type="string"/>
+ <element name="arg1" type="string"/>
+ </sequence>
+ </complexType>
+ <element name="BareDocument" type="string"/>
+ <element name="BareDocumentResponse">
+ <complexType>
+ <sequence>
+ <element name="company" type="string"/>
+ </sequence>
+ <attribute name="id" type="int"/>
+ </complexType>
+ </element>
+ </schema>
+ </wsdl:types>
+ <wsdl:message name="sayHiRequest">
+ <wsdl:part name="in" element="x1:sayHi"/>
+ </wsdl:message>
+ <wsdl:message name="sayHiResponse">
+ <wsdl:part name="out" element="x1:sayHiResponse"/>
+ </wsdl:message>
+ <wsdl:message name="greetMeRequest">
+ <wsdl:part name="in" element="x1:greetMe"/>
+ </wsdl:message>
+ <wsdl:message name="greetMeResponse">
+ <wsdl:part name="out" element="x1:greetMeResponse"/>
+ </wsdl:message>
+ <wsdl:message name="testNillableRequest">
+ <wsdl:part name="in" element="x1:testNillable"/>
+ </wsdl:message>
+ <wsdl:message name="testNillableResponse">
+ <wsdl:part name="out" element="x1:testNillableResponse"/>
+ </wsdl:message>
+ <wsdl:message name="greetMeLaterRequest">
+ <wsdl:part name="in" element="x1:greetMeLater"/>
+ </wsdl:message>
+ <wsdl:message name="greetMeLaterResponse">
+ <wsdl:part name="out" element="x1:greetMeLaterResponse"/>
+ </wsdl:message>
+ <wsdl:message name="greetMeSometimeRequest">
+ <wsdl:part name="in" element="x1:greetMeSometime"/>
+ </wsdl:message>
+ <wsdl:message name="greetMeSometimeResponse">
+ <wsdl:part name="out" element="x1:greetMeSometimeResponse"/>
+ </wsdl:message>
+ <wsdl:message name="greetMeOneWayRequest">
+ <wsdl:part name="in" element="x1:greetMeOneWay"/>
+ </wsdl:message>
+ <wsdl:message name="testDocLitFaultRequest">
+ <wsdl:part name="in" element="x1:testDocLitFault"/>
+ </wsdl:message>
+ <wsdl:message name="testDocLitFaultResponse">
+ <wsdl:part name="out" element="x1:testDocLitFaultResponse"/>
+ </wsdl:message>
+ <wsdl:message name="NoSuchCodeLitFault">
+ <wsdl:part name="NoSuchCodeLit" element="x1:NoSuchCodeLit"/>
+ </wsdl:message>
+ <wsdl:message name="BadRecordLitFault">
+ <wsdl:part name="BadRecordLit" element="x1:BadRecordLit"/>
+ </wsdl:message>
+ <wsdl:message name="testDocLitBareRequest">
+ <wsdl:part name="in" element="x1:BareDocument"/>
+ </wsdl:message>
+ <wsdl:message name="testDocLitBareResponse">
+ <wsdl:part name="out" element="x1:BareDocumentResponse"/>
+ </wsdl:message>
+ <wsdl:portType name="Greeter">
+ <wsdl:operation name="sayHi">
+ <wsdl:input name="sayHiRequest" message="tns:sayHiRequest"/>
+ <wsdl:output name="sayHiResponse" message="tns:sayHiResponse"/>
+ </wsdl:operation>
+ <wsdl:operation name="greetMe">
+ <wsdl:input name="greetMeRequest" message="tns:greetMeRequest"/>
+ <wsdl:output name="greetMeResponse" message="tns:greetMeResponse"/>
+ </wsdl:operation>
+ <wsdl:operation name="testNillable">
+ <wsdl:input name="testNillableRequest"
message="tns:testNillableRequest"/>
+ <wsdl:output name="testNillableResponse"
message="tns:testNillableResponse"/>
+ </wsdl:operation>
+ <wsdl:operation name="greetMeLater">
+ <wsdl:input name="greetMeLaterRequest"
message="tns:greetMeLaterRequest"/>
+ <wsdl:output name="greetMeLaterResponse"
message="tns:greetMeLaterResponse"/>
+ </wsdl:operation>
+ <wsdl:operation name="greetMeSometime">
+ <wsdl:input name="greetMeSometimeRequest"
message="tns:greetMeSometimeRequest"/>
+ <wsdl:output name="greetMeSometimeResponse"
message="tns:greetMeSometimeResponse"/>
+ </wsdl:operation>
+ <wsdl:operation name="greetMeOneWay">
+ <wsdl:input name="greetMeOneWayRequest"
message="tns:greetMeOneWayRequest"/>
+ </wsdl:operation>
+ <wsdl:operation name="testDocLitFault">
+ <wsdl:input name="testDocLitFaultRequest"
message="tns:testDocLitFaultRequest"/>
+ <wsdl:output name="testDocLitFaultResponse"
message="tns:testDocLitFaultResponse"/>
+ <wsdl:fault name="NoSuchCodeLitFault"
message="tns:NoSuchCodeLitFault"/>
+ <wsdl:fault name="BadRecordLitFault"
message="tns:BadRecordLitFault"/>
+ </wsdl:operation>
+
+ </wsdl:portType>
+
+ <wsdl:portType name="DocLitBare">
+ <wsdl:operation name="testDocLitBare">
+ <wsdl:input name="testDocLitBareRequest"
message="tns:testDocLitBareRequest"/>
+ <wsdl:output name="testDocLitBareResponse"
message="tns:testDocLitBareResponse"/>
+ </wsdl:operation>
+ </wsdl:portType>
+ <wsdl:binding name="Greeter_SOAPBinding" type="tns:Greeter">
+ <soap:binding style="document"
transport="http://schemas.xmlsoap.org/soap/http"/>
+ <wsdl:operation name="sayHi">
+ <soap:operation style="document"/>
+ <wsdl:input>
+ <soap:body use="literal"/>
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal"/>
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="greetMe">
+ <soap:operation style="document"/>
+ <wsdl:input>
+ <soap:body use="literal"/>
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal"/>
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="testNillable">
+ <soap:operation style="document"/>
+ <wsdl:input>
+ <soap:body use="literal"/>
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal"/>
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="greetMeLater">
+ <soap:operation style="document"/>
+ <wsdl:input>
+ <soap:body use="literal"/>
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal"/>
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="greetMeSometime">
+ <soap:operation style="document"/>
+ <wsdl:input>
+ <soap:body use="literal"/>
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal"/>
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="greetMeOneWay">
+ <soap:operation style="document"/>
+ <wsdl:input>
+ <soap:body use="literal"/>
+ </wsdl:input>
+ </wsdl:operation>
+ <wsdl:operation name="testDocLitFault">
+ <soap:operation style="document"/>
+ <wsdl:input>
+ <soap:body use="literal"/>
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal"/>
+ </wsdl:output>
+ <wsdl:fault name="NoSuchCodeLitFault">
+ <soap:fault name="NoSuchCodeLitFault" use="literal"/>
+ </wsdl:fault>
+ <wsdl:fault name="BadRecordLitFault">
+ <soap:fault name="BadRecordLitFault" use="literal"/>
+ </wsdl:fault>
+ </wsdl:operation>
+
+ </wsdl:binding>
+ <wsdl:binding name="Doc_Lit_Bare_SOAPBinding" type="tns:DocLitBare">
+ <soap:binding style="document"
transport="http://schemas.xmlsoap.org/soap/http"/>
+ <wsdl:operation name="testDocLitBare">
+ <soap:operation style="document"
soapAction="http://apache.org/hello_world_soap_http/testDocLitBare"/>
+ <wsdl:input name="testDocLitBareRequest">
+ <soap:body use="literal"/>
+ </wsdl:input>
+ <wsdl:output name="testDocLitBareResponse">
+ <soap:body use="literal"/>
+ </wsdl:output>
+ </wsdl:operation>
+ </wsdl:binding>
+
+ <wsdl:service name="SOAPServiceMultiPortTypeTest">
+ <wsdl:port name="GreeterPort" binding="tns:Greeter_SOAPBinding">
+ <soap:address
location="http://localhost:9020/MultiPort/GreeterPort"/>
+ </wsdl:port>
+ <wsdl:port name="DocLitBarePort"
binding="tns:Doc_Lit_Bare_SOAPBinding">
+ <soap:address
location="http://localhost:9021/MultiPort/DocBarePort"/>
+ </wsdl:port>
+ </wsdl:service>
+</wsdl:definitions>
+