diff options
3 files changed, 101 insertions, 352 deletions
diff --git a/branches/sca-java-1.x/tools/databinding/sdo/src/main/java/org/apache/tuscany/tools/wsdl2java/sdo/SDODatabinding.java b/branches/sca-java-1.x/tools/databinding/sdo/src/main/java/org/apache/tuscany/tools/wsdl2java/sdo/SDODatabinding.java index 05946f2f27..465977194c 100644 --- a/branches/sca-java-1.x/tools/databinding/sdo/src/main/java/org/apache/tuscany/tools/wsdl2java/sdo/SDODatabinding.java +++ b/branches/sca-java-1.x/tools/databinding/sdo/src/main/java/org/apache/tuscany/tools/wsdl2java/sdo/SDODatabinding.java @@ -19,18 +19,12 @@ package org.apache.tuscany.tools.wsdl2java.sdo;
-import java.io.BufferedReader;
import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileReader;
import java.io.IOException;
import java.io.InputStream;
import java.net.URI;
import java.net.URISyntaxException;
-import java.util.ArrayList;
-import java.util.Hashtable;
-import java.util.Iterator;
-import java.util.List;
+import java.net.URL;
import javax.xml.namespace.QName;
@@ -39,40 +33,20 @@ import org.apache.cxf.tools.common.ToolContext; import org.apache.cxf.tools.common.ToolException;
import org.apache.cxf.tools.common.model.DefaultValueWriter;
import org.apache.cxf.tools.wsdlto.core.DataBindingProfile;
+import org.apache.tuscany.sdo.api.SDOUtil;
import org.apache.tuscany.sdo.generate.JavaGenerator;
-import org.apache.tuscany.sdo.helper.HelperContextImpl;
-import org.apache.tuscany.sdo.helper.XSDHelperImpl;
-import org.apache.tuscany.sdo.util.DataObjectUtil;
-import org.eclipse.emf.codegen.ecore.genmodel.GenClass;
-import org.eclipse.emf.codegen.ecore.genmodel.GenFeature;
-import org.eclipse.emf.codegen.ecore.genmodel.GenModel;
-import org.eclipse.emf.codegen.ecore.genmodel.GenPackage;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EClassifier;
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.impl.EPackageRegistryImpl;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.resource.ResourceSet;
-import org.eclipse.emf.ecore.util.BasicExtendedMetaData;
-import org.eclipse.emf.ecore.util.ExtendedMetaData;
-import org.eclipse.xsd.XSDSchema;
+import commonj.sdo.DataObject;
+import commonj.sdo.Property;
+import commonj.sdo.Type;
import commonj.sdo.helper.HelperContext;
+import commonj.sdo.helper.TypeHelper;
import commonj.sdo.helper.XSDHelper;
public class SDODatabinding extends JavaGenerator implements DataBindingProfile {
- private EPackage.Registry packageRegistry;
- private ExtendedMetaData extendedMetaData;
- private String packageURI;
- private Hashtable packageInfoTable;
-
- protected String schemaNamespace = null;
- protected String namespaceInfo = null;
- protected String generateBuiltIn = null;
- protected static GeneratedPackages generatedPackages = null;
- protected boolean allNamespaces = false;
+ private TypeHelper typeHelper;
+ private XSDHelper xsdHelper;
public void generate(ToolContext context) throws ToolException {
String srcd = (String)context.get(ToolConstants.CFG_OUTPUTDIR);
@@ -103,33 +77,50 @@ public class SDODatabinding extends JavaGenerator implements DataBindingProfile public void initialize(ToolContext context) throws ToolException {
String wsdl = (String)context.get(ToolConstants.CFG_WSDLLOCATION);
xsdFileName = wsdl;
- String catalog = (String)context.get(ToolConstants.CFG_CATALOG);
- Object o = context.get(ToolConstants.CFG_BINDING);
- String bindingFiles[];
- if (o instanceof String) {
- bindingFiles = new String[] {o.toString()};
- } else {
- bindingFiles = (String[])o;
- }
-
- packageRegistry = new EPackageRegistryImpl(EPackage.Registry.INSTANCE);
- extendedMetaData = new BasicExtendedMetaData(packageRegistry);
-// packageURI = getSchemaNamespace(xsdFileName);
-// packageInfoTable = createPackageInfoTable(packageURI, schemaNamespace, javaPackage, prefix, null);
+ HelperContext helperContext = SDOUtil.createHelperContext();
+ xsdHelper = helperContext.getXSDHelper();
+ URL location;
+ try {
+ location = new URL(xsdFileName);
+ InputStream is = location.openStream();
+ xsdHelper.define(is, xsdFileName);
+ } catch (IOException e) {
+ throw new ToolException(e);
+ }
+ this.typeHelper = helperContext.getTypeHelper();
}
- public String getType(QName qName, boolean b) {
- // im not sure of the usage of element.
- String type = "commonj.sdo.DataObject"; // since dynamic sdo always refer to
- //the same object type
-
- return type;
+ public String getType(QName qName, boolean element) {
+ Type type = null;
+ if (element) {
+ Property property = xsdHelper.getGlobalProperty(qName.getNamespaceURI(), qName.getLocalPart(), true);
+ if (property != null) {
+ type = property.getType();
+ }
+ }
+ typeHelper.getType(qName.getNamespaceURI(), qName.getLocalPart());
+ if (type != null && type.isDataType()) {
+ return type.getInstanceClass().getName();
+ }
+ return DataObject.class.getName();
}
- public String getWrappedElementType(QName qName, QName qName1) {
- //TODO:implement the functionality
- return null;
+ public String getWrappedElementType(QName wrapperElement, QName item) {
+ Type type = null;
+ Property property =
+ xsdHelper.getGlobalProperty(wrapperElement.getNamespaceURI(), wrapperElement.getLocalPart(), true);
+ if (property != null) {
+ type = property.getType();
+ Property itemProp = type.getProperty(item.getLocalPart());
+ if (itemProp != null) {
+ type = itemProp.getType();
+ }
+ }
+ if (type != null && type.isDataType()) {
+ return type.getInstanceClass().getName();
+ }
+ return DataObject.class.getName();
}
public DefaultValueWriter createDefaultValueWriter(QName qName, boolean b) {
@@ -142,248 +133,10 @@ public class SDODatabinding extends JavaGenerator implements DataBindingProfile return null;
}
- private void addSchema() {
-
- }
-
protected void run(String[] strings) {
// We extended the JavaGenerator class in order to make use of its utility methods
//but we are not going to implement standalone java generator.
// So no functionality in this method.
}
- public static String getSchemaNamespace(String xsdFileName) {
- ResourceSet resourceSet = DataObjectUtil.createResourceSet();
- File inputFile = new File(xsdFileName).getAbsoluteFile();
- Resource model =
- resourceSet.getResource(org.eclipse.emf.common.util.URI.createURI(inputFile.toURI().toString()), true);
- XSDSchema schema = (XSDSchema)model.getContents().get(0);
- String targetNS = schema.getTargetNamespace();
- if (targetNS == null) {
- targetNS = schema.getSchemaLocation();
- }
-
- return targetNS;
- }
-
- protected static GenModel generateFromXMLSchema(String xsdFileName,
- EPackage.Registry packageRegistry,
- ExtendedMetaData extendedMetaData,
- String targetDirectory,
- Hashtable packageInfoTable,
- int genOptions,
- String regenerateBuiltIn,
- boolean allNamespaces) {
- GenModel genModel = null;
-
- HelperContext hc = new HelperContextImpl(extendedMetaData, false);
- XSDHelper xsdHelper = hc.getXSDHelper();
- ((XSDHelperImpl)xsdHelper).setRedefineBuiltIn(regenerateBuiltIn);
-
- try {
- File inputFile = new File(xsdFileName).getAbsoluteFile();
- InputStream inputStream = new FileInputStream(inputFile);
- xsdHelper.define(inputStream, inputFile.toURI().toString());
-
- if (targetDirectory == null) {
- targetDirectory = new File(xsdFileName).getCanonicalFile().getParent();
- } else {
- targetDirectory = new File(targetDirectory).getCanonicalPath();
- }
-
- if (!packageRegistry.values().isEmpty()) {
- genModel =
- generatePackages(packageRegistry.values(),
- targetDirectory,
- packageInfoTable,
- genOptions,
- allNamespaces);
-
- } else {
- System.err.println("Input schema file " + xsdFileName + " defined no metadata.");
- }
-
- } catch (IOException e) {
- e.printStackTrace();
- }
- return genModel;
- }
-
- private static Hashtable createPackageInfoTable(String packageURI,
- String schemaNamespace,
- String javaPackage,
- String prefix,
- String namespaceInfo) {
- Hashtable packageInfoTable = new Hashtable();
-
- if (namespaceInfo != null) {
- try {
- FileReader inputFile = new FileReader(namespaceInfo);
- BufferedReader bufRead = new BufferedReader(inputFile);
-
- String line = bufRead.readLine();
- while (line != null) {
- if (line.length() > 0) {
- String[] options = line.split(";");
- if (options.length > 1) {
- if (options.length > 2)
- packageInfoTable.put(options[0], new PackageInfo(options[1], options[2], options[0],
- null));
- else
- packageInfoTable.put(options[0], new PackageInfo(options[1], null, options[0], null));
- } else
- packageInfoTable.put(options[0], new PackageInfo(null, null, options[0], null));
- }
- line = bufRead.readLine();
- }
- } catch (IOException e) {
- e.printStackTrace();
- }
- } else {
- if (schemaNamespace != null)
- packageInfoTable.put(schemaNamespace, new PackageInfo(javaPackage, prefix, schemaNamespace, null));
- else if (packageURI != null)
- packageInfoTable.put(packageURI, new PackageInfo(javaPackage, prefix, null, null));
- }
- return packageInfoTable;
- }
-
- protected class GeneratedPackages {
- private List genPackages = null;
-
- GeneratedPackages(GenModel genModel, ExtendedMetaData extendedMetaData) {
- List packages = genModel.getGenPackages();
- Hashtable genClasses = new Hashtable();
- for (Iterator iter = packages.iterator(); iter.hasNext();) {
- // loop through the list, once to build up the eclass to genclass mapper
- GenPackage genPackage = (GenPackage)iter.next();
- List classes = genPackage.getGenClasses();
- for (Iterator classIter = classes.iterator(); classIter.hasNext();) {
- GenClass genClass = (GenClass)classIter.next();
- genClasses.put(genClass.getEcoreClass(), genClass);
- }
- }
- genPackages = new ArrayList();
- for (Iterator iter = packages.iterator(); iter.hasNext();) {
- // now process the pckage list
- GenPackage genPackage = (GenPackage)iter.next();
- genPackages.add(new GeneratedPackage(genPackage, extendedMetaData, genClasses));
- }
- }
-
- List getPackageList() {
- return genPackages;
- }
- }
-
- public class GeneratedPackage {
- private String namespace;
- private Hashtable classes;
-
- public String getNamespace() {
- return namespace;
- }
-
- public List getClasses() {
- return new ArrayList(classes.values());
- }
-
- GeneratedPackage(GenPackage genPackage, ExtendedMetaData extendedMetaData, Hashtable eclassGenClassMap) {
- classes = new Hashtable();
-
- EPackage ePackage = genPackage.getEcorePackage();
- namespace = extendedMetaData.getNamespace(ePackage);
-
- List genClasses = genPackage.getGenClasses();
- for (Iterator iterClass = genClasses.iterator(); iterClass.hasNext();) {
- GenClass genClass = (GenClass)iterClass.next();
- if ("DocumentRoot".equals(genClass.getEcoreClass().getName())) {
- List features = genClass.getGenFeatures();
- for (Iterator iterFeatures = features.iterator(); iterFeatures.hasNext();) {
- GenFeature feature = (GenFeature)iterFeatures.next();
- addGlobalElement(feature.getEcoreFeature(), extendedMetaData, eclassGenClassMap);
- }
- }
- }
-
- }
-
- private void addGlobalElement(EStructuralFeature eFeature,
- ExtendedMetaData extendedMetaData,
- Hashtable eclassGenClassMap) {
-
- String name = eFeature.getName();
- String classname = "";
- boolean anonymous = false;
- List propertyClassNames = null;
-
- EClassifier eClassifier = eFeature.getEType();
-
- if (eClassifier instanceof EClass) {
- // complex type
- EClass eClass = (EClass)eClassifier;
- GenClass genEClass = (GenClass)eclassGenClassMap.get(eClassifier);
- if (genEClass != null) {
- classname =
- genEClass.getGenPackage().getInterfacePackageName() + '.' + genEClass.getInterfaceName();
- anonymous = extendedMetaData.isAnonymous(eClass);
-
- // Build list of property names
- propertyClassNames = new ArrayList();
- List properties = eClass.getEStructuralFeatures();
- for (Iterator iterProperties = properties.iterator(); iterProperties.hasNext();) {
- EStructuralFeature property = (EStructuralFeature)iterProperties.next();
- EClassifier propertyType = property.getEType();
- if (propertyType instanceof EClass) {
- GenClass propertyGenClass = (GenClass)eclassGenClassMap.get(propertyType);
- if (propertyGenClass != null) {
- String propertyClassName =
- propertyGenClass.getGenPackage().getInterfacePackageName() + '.'
- + propertyGenClass.getInterfaceName();
- propertyClassNames.add(propertyClassName);
- }
- } else if (propertyType instanceof EClassifier) {
- String propertyClassName = propertyType.getInstanceClass().getName();
- propertyClassNames.add(propertyClassName);
- }
- }
- }
- } else {
- // simple type
- classname = eClassifier.getInstanceClass().getName();
- }
- classes.put(name, new PackageClassInfo(name, classname, anonymous, propertyClassNames));
- }
-
- public class PackageClassInfo {
- private String name;
- private String className = null;
- private boolean anonymous = false;
- private List properties = null;
-
- PackageClassInfo(String name, String className, boolean anonymous, List properties) {
- this.name = name;
- this.className = className;
- this.anonymous = anonymous;
- this.properties = properties;
- }
-
- public String getName() {
- return name;
- }
-
- public String getClassName() {
- return className;
- }
-
- public boolean getAnonymous() {
- return anonymous;
- }
-
- public List getProperties() {
- return properties;
- }
- }
- }
-
}
diff --git a/branches/sca-java-1.x/tools/databinding/sdo/src/test/java/org/apache/tuscany/tools/wsdl2java/sdo/SDODataBindingTestCase.java b/branches/sca-java-1.x/tools/databinding/sdo/src/test/java/org/apache/tuscany/tools/wsdl2java/sdo/SDODataBindingTestCase.java index fe32577297..72d66a7ac9 100644 --- a/branches/sca-java-1.x/tools/databinding/sdo/src/test/java/org/apache/tuscany/tools/wsdl2java/sdo/SDODataBindingTestCase.java +++ b/branches/sca-java-1.x/tools/databinding/sdo/src/test/java/org/apache/tuscany/tools/wsdl2java/sdo/SDODataBindingTestCase.java @@ -19,6 +19,8 @@ package org.apache.tuscany.tools.wsdl2java.sdo;
+import java.net.URL;
+
import org.apache.cxf.tools.wsdlto.WSDLToJava;
import org.junit.Test;
@@ -29,8 +31,9 @@ public class SDODataBindingTestCase { @Test
public void testGenerate() {
+ URL url = getClass().getResource("/HelloService.wsdl");
String args[] =
- new String[] {"-db", "sdo", "-d", "target/jaxws-source", "src/test/resources/HelloService.wsdl"};
+ new String[] {"-db", "sdo", "-d", "target/jaxws-source", url.toString()};
WSDLToJava.main(args);
}
diff --git a/branches/sca-java-1.x/tools/databinding/sdo/src/test/resources/HelloService.wsdl b/branches/sca-java-1.x/tools/databinding/sdo/src/test/resources/HelloService.wsdl index a36d6d02b9..8127e02d34 100644 --- a/branches/sca-java-1.x/tools/databinding/sdo/src/test/resources/HelloService.wsdl +++ b/branches/sca-java-1.x/tools/databinding/sdo/src/test/resources/HelloService.wsdl @@ -1,5 +1,5 @@ <?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
@@ -17,165 +17,158 @@ * specific language governing permissions and limitations
* under the License.
-->
-
-<wsdl:definitions name="HelloWorld" targetNamespace="http://apache.org/hello_world_soap_http"
- 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">
+<wsdl:definitions name="HelloWorld" targetNamespace="http://apache.org/hello_world_soap_http" 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">
<wsdl:types>
- <schema targetNamespace="http://apache.org/hello_world_soap_http/types"
- xmlns="http://www.w3.org/2001/XMLSchema"
- xmlns:tns="http://apache.org/hello_world_soap_http/types"
- elementFormDefault="qualified">
- <simpleType name="MyStringType">
- <restriction base="string">
- <maxLength value="30" />
- </restriction>
- </simpleType>
+ <schema targetNamespace="http://apache.org/hello_world_soap_http/types" xmlns="http://www.w3.org/2001/XMLSchema"
+ xmlns:tns="http://apache.org/hello_world_soap_http/types" elementFormDefault="qualified">
+ <simpleType name="MyStringType">
+ <restriction base="string">
+ <maxLength value="30" />
+ </restriction>
+ </simpleType>
<element name="sayHi">
- <complexType/>
+ <complexType />
</element>
<element name="sayHiResponse">
<complexType>
<sequence>
- <element name="responseType" type="string"/>
+ <element name="responseType" type="string" />
</sequence>
</complexType>
</element>
<element name="greetMe">
<complexType>
<sequence>
- <element name="requestType" type="tns:MyStringType"/>
+ <element name="requestType" type="tns:MyStringType" />
</sequence>
</complexType>
</element>
<element name="greetMeResponse">
<complexType>
<sequence>
- <element name="responseType" type="string"/>
+ <element name="responseType" type="string" />
</sequence>
</complexType>
</element>
<element name="greetMeOneWay">
<complexType>
<sequence>
- <element name="requestType" type="string"/>
+ <element name="requestType" type="string" />
</sequence>
</complexType>
</element>
<element name="pingMe">
- <complexType/>
+ <complexType />
</element>
<element name="pingMeResponse">
- <complexType/>
+ <complexType />
</element>
<element name="faultDetail">
<complexType>
<sequence>
- <element name="minor" type="short"/>
- <element name="major" type="short"/>
+ <element name="minor" type="short" />
+ <element name="major" type="short" />
</sequence>
</complexType>
</element>
</schema>
</wsdl:types>
<wsdl:message name="sayHiRequest">
- <wsdl:part element="x1:sayHi" name="in"/>
+ <wsdl:part element="x1:sayHi" name="in" />
</wsdl:message>
<wsdl:message name="sayHiResponse">
- <wsdl:part element="x1:sayHiResponse" name="out"/>
+ <wsdl:part element="x1:sayHiResponse" name="out" />
</wsdl:message>
<wsdl:message name="greetMeRequest">
- <wsdl:part element="x1:greetMe" name="in"/>
+ <wsdl:part element="x1:greetMe" name="in" />
</wsdl:message>
<wsdl:message name="greetMeResponse">
- <wsdl:part element="x1:greetMeResponse" name="out"/>
+ <wsdl:part element="x1:greetMeResponse" name="out" />
</wsdl:message>
<wsdl:message name="greetMeOneWayRequest">
- <wsdl:part element="x1:greetMeOneWay" name="in"/>
+ <wsdl:part element="x1:greetMeOneWay" name="in" />
</wsdl:message>
<wsdl:message name="pingMeRequest">
- <wsdl:part name="in" element="x1:pingMe"/>
+ <wsdl:part name="in" element="x1:pingMe" />
</wsdl:message>
<wsdl:message name="pingMeResponse">
- <wsdl:part name="out" element="x1:pingMeResponse"/>
+ <wsdl:part name="out" element="x1:pingMeResponse" />
</wsdl:message>
<wsdl:message name="pingMeFault">
- <wsdl:part name="faultDetail" element="x1:faultDetail"/>
+ <wsdl:part name="faultDetail" element="x1:faultDetail" />
</wsdl:message>
<wsdl:portType name="Greeter">
<wsdl:operation name="sayHi">
- <wsdl:input message="tns:sayHiRequest" name="sayHiRequest"/>
- <wsdl:output message="tns:sayHiResponse" name="sayHiResponse"/>
+ <wsdl:input message="tns:sayHiRequest" name="sayHiRequest" />
+ <wsdl:output message="tns:sayHiResponse" name="sayHiResponse" />
</wsdl:operation>
<wsdl:operation name="greetMe">
- <wsdl:input message="tns:greetMeRequest" name="greetMeRequest"/>
- <wsdl:output message="tns:greetMeResponse" name="greetMeResponse"/>
+ <wsdl:input message="tns:greetMeRequest" name="greetMeRequest" />
+ <wsdl:output message="tns:greetMeResponse" name="greetMeResponse" />
</wsdl:operation>
<wsdl:operation name="greetMeOneWay">
- <wsdl:input message="tns:greetMeOneWayRequest" name="greetMeOneWayRequest"/>
+ <wsdl:input message="tns:greetMeOneWayRequest" name="greetMeOneWayRequest" />
</wsdl:operation>
<wsdl:operation name="pingMe">
- <wsdl:input name="pingMeRequest" message="tns:pingMeRequest"/>
- <wsdl:output name="pingMeResponse" message="tns:pingMeResponse"/>
- <wsdl:fault name="pingMeFault" message="tns:pingMeFault"/>
+ <wsdl:input name="pingMeRequest" message="tns:pingMeRequest" />
+ <wsdl:output name="pingMeResponse" message="tns:pingMeResponse" />
+ <wsdl:fault name="pingMeFault" message="tns:pingMeFault" />
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="Greeter_SOAPBinding" type="tns:Greeter">
- <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+ <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" />
<wsdl:operation name="sayHi">
- <soap:operation soapAction="" style="document"/>
+ <soap:operation soapAction="" style="document" />
<wsdl:input name="sayHiRequest">
- <soap:body use="literal"/>
+ <soap:body use="literal" />
</wsdl:input>
<wsdl:output name="sayHiResponse">
- <soap:body use="literal"/>
+ <soap:body use="literal" />
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="greetMe">
- <soap:operation soapAction="" style="document"/>
+ <soap:operation soapAction="" style="document" />
<wsdl:input name="greetMeRequest">
- <soap:body use="literal"/>
+ <soap:body use="literal" />
</wsdl:input>
<wsdl:output name="greetMeResponse">
- <soap:body use="literal"/>
+ <soap:body use="literal" />
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="greetMeOneWay">
- <soap:operation soapAction="" style="document"/>
+ <soap:operation soapAction="" style="document" />
<wsdl:input name="greetMeOneWayRequest">
- <soap:body use="literal"/>
+ <soap:body use="literal" />
</wsdl:input>
</wsdl:operation>
<wsdl:operation name="pingMe">
- <soap:operation style="document"/>
+ <soap:operation style="document" />
<wsdl:input>
- <soap:body use="literal"/>
+ <soap:body use="literal" />
</wsdl:input>
<wsdl:output>
- <soap:body use="literal"/>
+ <soap:body use="literal" />
</wsdl:output>
<wsdl:fault name="pingMeFault">
- <soap:fault name="pingMeFault" use="literal"/>
+ <soap:fault name="pingMeFault" use="literal" />
</wsdl:fault>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="SOAPService">
<wsdl:port binding="tns:Greeter_SOAPBinding" name="SoapPort">
- <soap:address location="http://localhost:9000/SoapContext/SoapPort"/>
+ <soap:address location="http://localhost:9000/SoapContext/SoapPort" />
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
|