Author: palin
Date: 2007-05-06 17:40:39 -0400 (Sun, 06 May 2007)
New Revision: 2984
Added:
branches/JBWS-856/jbossws-tests/src/java/org/jboss/test/ws/tools/jbws1645/
branches/JBWS-856/jbossws-tests/src/java/org/jboss/test/ws/tools/jbws1645/JBWS1645TestCase.java
branches/JBWS-856/jbossws-tests/src/resources/tools/jbws1645/
branches/JBWS-856/jbossws-tests/src/resources/tools/jbws1645/BindingPolicy.txt
branches/JBWS-856/jbossws-tests/src/resources/tools/jbws1645/PortPolicy.txt
branches/JBWS-856/jbossws-tests/src/resources/tools/jbws1645/PortTypePolicy.txt
branches/JBWS-856/jbossws-tests/src/resources/tools/jbws1645/StandardJavaTypesServiceJBWS1645.wsdl
Modified:
branches/JBWS-856/jbossws-core/src/java/org/jboss/ws/Constants.java
branches/JBWS-856/jbossws-core/src/java/org/jboss/ws/extensions/policy/metadata/PolicyMetaExtension.java
branches/JBWS-856/jbossws-core/src/java/org/jboss/ws/tools/wsdl/WSDLGenerator.java
Log:
Bug fix on WSDLGenerator, new test case added to prove resolution of JBWS-1645.
Modified: branches/JBWS-856/jbossws-core/src/java/org/jboss/ws/Constants.java
===================================================================
--- branches/JBWS-856/jbossws-core/src/java/org/jboss/ws/Constants.java 2007-05-06
20:59:10 UTC (rev 2983)
+++ branches/JBWS-856/jbossws-core/src/java/org/jboss/ws/Constants.java 2007-05-06
21:40:39 UTC (rev 2984)
@@ -302,6 +302,7 @@
static final QName WSDL_ATTRIBUTE_WSE_EVENTSOURCE = new QName(URI_WS_EVENTING,
"EventSource");
static final QName WSDL_ATTRIBUTE_WSP_POLICYURIS = new QName(URI_WS_POLICY,
"PolicyURIs");
+ static final QName WSDL_ELEMENT_WSP_POLICYREFERENCE = new QName(URI_WS_POLICY,
"PolicyReference");
/** WSDL-2.0 exchange patterns */
static final String WSDL20_PATTERN_IN_ONLY =
"http://www.w3.org/2004/08/wsdl/in-only";
Modified:
branches/JBWS-856/jbossws-core/src/java/org/jboss/ws/extensions/policy/metadata/PolicyMetaExtension.java
===================================================================
---
branches/JBWS-856/jbossws-core/src/java/org/jboss/ws/extensions/policy/metadata/PolicyMetaExtension.java 2007-05-06
20:59:10 UTC (rev 2983)
+++
branches/JBWS-856/jbossws-core/src/java/org/jboss/ws/extensions/policy/metadata/PolicyMetaExtension.java 2007-05-06
21:40:39 UTC (rev 2984)
@@ -37,7 +37,8 @@
public Collection<Policy> getPolicies(PolicyScopeLevel scope)
{
- return policies.get(scope);
+ Collection<Policy> policyCollection = policies.get(scope);
+ return policyCollection == null ? new LinkedList<Policy>() :
policyCollection;
}
public Collection<Policy> getAllPolicies()
Modified:
branches/JBWS-856/jbossws-core/src/java/org/jboss/ws/tools/wsdl/WSDLGenerator.java
===================================================================
---
branches/JBWS-856/jbossws-core/src/java/org/jboss/ws/tools/wsdl/WSDLGenerator.java 2007-05-06
20:59:10 UTC (rev 2983)
+++
branches/JBWS-856/jbossws-core/src/java/org/jboss/ws/tools/wsdl/WSDLGenerator.java 2007-05-06
21:40:39 UTC (rev 2984)
@@ -402,8 +402,14 @@
protected void addPolicyReference(Policy policy, Extendable extendable)
{
- Element element = DOMUtils.createElement(Constants.WSDL_ELEMENT_POLICYREFERENCE,
- wsdl.getPrefix(Constants.URI_WS_POLICY), Constants.URI_WS_POLICY);
+ QName policyRefQName = Constants.WSDL_ELEMENT_WSP_POLICYREFERENCE;
+ String prefix = wsdl.getPrefix(policyRefQName.getNamespaceURI());
+ if (prefix == null)
+ {
+ prefix = "wsp";
+ wsdl.registerNamespaceURI(policyRefQName.getNamespaceURI(), prefix);
+ }
+ Element element = DOMUtils.createElement(policyRefQName.getLocalPart(), prefix);
element.setAttribute("URI", policy.getPolicyURI());
//TODO!! we need to understand if the policy is local or not...
WSDLExtensibilityElement ext = new
WSDLExtensibilityElement(Constants.WSDL_ELEMENT_POLICYREFERENCE, element);
Added:
branches/JBWS-856/jbossws-tests/src/java/org/jboss/test/ws/tools/jbws1645/JBWS1645TestCase.java
===================================================================
---
branches/JBWS-856/jbossws-tests/src/java/org/jboss/test/ws/tools/jbws1645/JBWS1645TestCase.java
(rev 0)
+++
branches/JBWS-856/jbossws-tests/src/java/org/jboss/test/ws/tools/jbws1645/JBWS1645TestCase.java 2007-05-06
21:40:39 UTC (rev 2984)
@@ -0,0 +1,151 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2007, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site:
http://www.fsf.org.
+ */
+package org.jboss.test.ws.tools.jbws1645;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.Writer;
+
+import org.apache.ws.policy.Policy;
+import org.apache.ws.policy.util.DOMPolicyReader;
+import org.apache.ws.policy.util.PolicyFactory;
+import org.apache.ws.policy.util.PolicyReader;
+import org.jboss.test.ws.JBossWSTest;
+import org.jboss.test.ws.tools.sei.StandardJavaTypes;
+import org.jboss.test.ws.tools.validation.WSDLValidator;
+import org.jboss.ws.Constants;
+import org.jboss.ws.core.jaxrpc.Style;
+import org.jboss.ws.core.utils.IOUtils;
+import org.jboss.ws.extensions.policy.PolicyScopeLevel;
+import org.jboss.ws.extensions.policy.metadata.PolicyMetaExtension;
+import org.jboss.ws.metadata.umdm.EndpointMetaData;
+import org.jboss.ws.metadata.umdm.ExtensibleMetaData;
+import org.jboss.ws.metadata.umdm.ServiceMetaData;
+import org.jboss.ws.metadata.umdm.UnifiedMetaData;
+import org.jboss.ws.metadata.wsdl.WSDLDefinitions;
+import org.jboss.ws.metadata.wsdl.WSDLUtils;
+import org.jboss.ws.tools.JavaToWSDL;
+import org.jboss.ws.tools.WSToolsConstants;
+import org.jboss.ws.tools.metadata.ToolsUnifiedMetaDataBuilder;
+import org.jboss.ws.tools.wsdl.WSDLDefinitionsFactory;
+import org.jboss.ws.tools.wsdl.WSDLWriter;
+
+/**
+ *
+ * @author Alessio Soldano, <alessio.soldano(a)javalinux.it>
+ * @since 05-May-2007
+ */
+public class JBWS1645TestCase extends JBossWSTest
+{
+ private PolicyReader reader;
+
+ public JBWS1645TestCase()
+ {
+ super();
+ setPolicyReader();
+ }
+
+ public JBWS1645TestCase(String name)
+ {
+ super(name);
+ setPolicyReader();
+ }
+
+ private void setPolicyReader()
+ {
+ reader = (DOMPolicyReader)
PolicyFactory.getPolicyReader(PolicyFactory.DOM_POLICY_READER);
+ }
+
+ public void testWSDLGeneratorWithPolicies() throws Exception
+ {
+ Class seiClass = StandardJavaTypes.class;
+ String fixturefile =
"resources/tools/jbws1645/StandardJavaTypesServiceJBWS1645.wsdl";
+
+ File wsdlDir = new File("./tools/jbws1645");
+ wsdlDir.mkdirs();
+
+ String sname = WSDLUtils.getJustClassName(seiClass) + "Service";
+ String wsdlPath = wsdlDir + "/" + sname + "JBWS1645.wsdl";
+ String targetNamespace = "http://org.jboss.ws";
+ Style style = Style.DOCUMENT;
+ JavaToWSDL jwsdl = new JavaToWSDL(Constants.NS_WSDL11);
+ jwsdl.setServiceName(sname);
+ jwsdl.setTargetNamespace(targetNamespace);
+ jwsdl.addFeature(WSToolsConstants.WSTOOLS_FEATURE_RESTRICT_TO_TARGET_NS, true);
+ jwsdl.setStyle(style);
+
+ //manually generate the umd using tools
+ UnifiedMetaData umd = new ToolsUnifiedMetaDataBuilder(seiClass, targetNamespace,
+ null, sname, style, null, null).getUnifiedMetaData();
+ jwsdl.setUmd(umd);
+
+ //manually add policies to the umd
+ ServiceMetaData serviceMetaData = umd.getServices().get(0);
+ EndpointMetaData epMetaData = serviceMetaData.getEndpoints().get(0);
+ addPolicy(new File("resources/tools/jbws1645/PortPolicy.txt"),
PolicyScopeLevel.WSDL_PORT, epMetaData);
+ addPolicy(new File("resources/tools/jbws1645/PortTypePolicy.txt"),
PolicyScopeLevel.WSDL_PORT_TYPE, epMetaData);
+ addPolicy(new File("resources/tools/jbws1645/BindingPolicy.txt"),
PolicyScopeLevel.WSDL_BINDING, epMetaData);
+
+ //generate the wsdl definitions and write the wsdl file
+ WSDLDefinitions wsdl = jwsdl.generate(seiClass);
+
+ //performe some trivial checks on wsdl definitions
+ assertEquals(1, wsdl.getServices()[0].getEndpoints()[0].getExtensibilityElements(
+ Constants.WSDL_ELEMENT_POLICYREFERENCE).size());
+
assertNotNull(wsdl.getInterfaces()[0].getProperty(Constants.WSDL_PROPERTY_POLICYURIS));
+ assertEquals(1,
wsdl.getBindings()[0].getExtensibilityElements(Constants.WSDL_ELEMENT_POLICYREFERENCE).size());
+ assertEquals(3,
wsdl.getExtensibilityElements(Constants.WSDL_ELEMENT_POLICY).size());
+
+ Writer fw = IOUtils.getCharsetFileWriter(new File(wsdlPath),
Constants.DEFAULT_XML_CHARSET);
+ new WSDLWriter(wsdl).write(fw, Constants.DEFAULT_XML_CHARSET);
+ fw.close();
+
+ //validate the generated WSDL
+ validateGeneratedWSDL(new File(wsdlPath), new File(fixturefile));
+
+ }
+
+ private void addPolicy(File sourceFile, PolicyScopeLevel scope, ExtensibleMetaData
extMetaData) throws Exception
+ {
+ PolicyMetaExtension ext =
(PolicyMetaExtension)extMetaData.getExtension(Constants.URI_WS_POLICY);
+ if (ext == null)
+ {
+ ext = new PolicyMetaExtension(Constants.URI_WS_POLICY);
+ extMetaData.addExtension(ext);
+ }
+ FileInputStream fis = new FileInputStream(sourceFile);
+ Policy policy = reader.readPolicy(fis);
+ fis.close();
+ ext.addPolicy(scope, policy);
+ }
+
+ private void validateGeneratedWSDL(File wsdlFile, File expectedWsdlFile) throws
Exception
+ {
+ WSDLDefinitionsFactory factory = WSDLDefinitionsFactory.newInstance();
+ WSDLDefinitions wsdl = factory.parse(wsdlFile.toURL());
+ WSDLDefinitions expWsdl = factory.parse(expectedWsdlFile.toURL());
+ assertNotNull(wsdl);
+ assertNotNull(expWsdl);
+ WSDLValidator validator = new WSDLValidator();
+ assertTrue(validator.validate(expWsdl,wsdl));
+ }
+}
Added: branches/JBWS-856/jbossws-tests/src/resources/tools/jbws1645/BindingPolicy.txt
===================================================================
--- branches/JBWS-856/jbossws-tests/src/resources/tools/jbws1645/BindingPolicy.txt
(rev 0)
+++
branches/JBWS-856/jbossws-tests/src/resources/tools/jbws1645/BindingPolicy.txt 2007-05-06
21:40:39 UTC (rev 2984)
@@ -0,0 +1,9 @@
+<wsp:Policy wsu:Id="X509EndpointPolicy"
xmlns:wsu='http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-ws...
xmlns:wsp='http://schemas.xmlsoap.org/ws/2004/09/policy'
xmlns:sp='http://schemas.xmlsoap.org/ws/2005/07/securitypolicy'>
+ <sp:AsymmetricBinding>
+ <wsp:Policy>
+ <!-- Details omitted for readability -->
+ <sp:IncludeTimestamp />
+ <sp:OnlySignEntireHeadersAndBody />
+ </wsp:Policy>
+ </sp:AsymmetricBinding>
+</wsp:Policy>
Added: branches/JBWS-856/jbossws-tests/src/resources/tools/jbws1645/PortPolicy.txt
===================================================================
--- branches/JBWS-856/jbossws-tests/src/resources/tools/jbws1645/PortPolicy.txt
(rev 0)
+++ branches/JBWS-856/jbossws-tests/src/resources/tools/jbws1645/PortPolicy.txt 2007-05-06
21:40:39 UTC (rev 2984)
@@ -0,0 +1,3 @@
+<wsp:Policy wsu:Id="uselessPortPolicy"
xmlns:wsu='http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-ws...
xmlns:wsp='http://schemas.xmlsoap.org/ws/2004/09/policy'
xmlns:fab='http://www.fabrikam123.example.com/stock'>
+ <fab:useless>nothing again</fab:useless>
+</wsp:Policy>
Added: branches/JBWS-856/jbossws-tests/src/resources/tools/jbws1645/PortTypePolicy.txt
===================================================================
--- branches/JBWS-856/jbossws-tests/src/resources/tools/jbws1645/PortTypePolicy.txt
(rev 0)
+++
branches/JBWS-856/jbossws-tests/src/resources/tools/jbws1645/PortTypePolicy.txt 2007-05-06
21:40:39 UTC (rev 2984)
@@ -0,0 +1,8 @@
+<wsp:Policy wsu:Id='RmPolicy'
xmlns:wsu='http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-ws...
xmlns:rmp='http://schemas.xmlsoap.org/ws/2005/02/rm/policy'
xmlns:wsp='http://schemas.xmlsoap.org/ws/2004/09/policy'>
+ <rmp:RMAssertion>
+ <rmp:InactivityTimeout Milliseconds='600000'/>
+ <rmp:BaseRetransmissionInterval Milliseconds='3000'/>
+ <rmp:ExponentialBackoff/>
+ <rmp:AcknowledgementInterval Milliseconds='200'/>
+ </rmp:RMAssertion>
+</wsp:Policy>
Added:
branches/JBWS-856/jbossws-tests/src/resources/tools/jbws1645/StandardJavaTypesServiceJBWS1645.wsdl
===================================================================
---
branches/JBWS-856/jbossws-tests/src/resources/tools/jbws1645/StandardJavaTypesServiceJBWS1645.wsdl
(rev 0)
+++
branches/JBWS-856/jbossws-tests/src/resources/tools/jbws1645/StandardJavaTypesServiceJBWS1645.wsdl 2007-05-06
21:40:39 UTC (rev 2984)
@@ -0,0 +1,261 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<definitions name='StandardJavaTypesService'
targetNamespace='http://org.jboss.ws'
+
xmlns='http://schemas.xmlsoap.org/wsdl/'
+
xmlns:soap='http://schemas.xmlsoap.org/wsdl/soap/'
+ xmlns:tns='http://org.jboss.ws'
+
xmlns:xsd='http://www.w3.org/2001/XMLSchema'
+
xmlns:wsp='http://schemas.xmlsoap.org/ws/2004/09/policy'>
+ <wsp:Policy wsu:Id='RmPolicy'
xmlns:wsu='http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-ws...
+ <rmp:RMAssertion
xmlns:rmp='http://schemas.xmlsoap.org/ws/2005/02/rm/policy'>
+ <rmp:InactivityTimeout Milliseconds='600000' />
+ <rmp:BaseRetransmissionInterval Milliseconds='3000' />
+ <rmp:ExponentialBackoff />
+ <rmp:AcknowledgementInterval Milliseconds='200' />
+ </rmp:RMAssertion>
+ </wsp:Policy>
+ <wsp:Policy wsu:Id='uselessPortPolicy'
xmlns:wsu='http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-ws...
+ <fab:useless
xmlns:fab='http://www.fabrikam123.example.com/stock'>nothing
again</fab:useless>
+ </wsp:Policy>
+ <wsp:Policy wsu:Id='X509EndpointPolicy'
xmlns:wsu='http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-ws...
+ <sp:AsymmetricBinding
xmlns:sp='http://schemas.xmlsoap.org/ws/2005/07/securitypolicy'>
+ <wsp:Policy>
+ <!-- Details omitted for readability -->
+ <sp:IncludeTimestamp />
+ <sp:OnlySignEntireHeadersAndBody />
+ </wsp:Policy>
+ </sp:AsymmetricBinding>
+ </wsp:Policy>
+ <types>
+ <schema targetNamespace='http://org.jboss.ws'
xmlns='http://www.w3.org/2001/XMLSchema'
xmlns:soap11-enc='http://schemas.xmlsoap.org/soap/encoding/'
xmlns:tns='http://org.jboss.ws'
xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'>
+ <complexType name='echoCalendar'>
+ <sequence>
+ <element name='Calendar_1' nillable='true'
type='dateTime'/>
+ </sequence>
+ </complexType>
+ <complexType name='echoCalendarResponse'>
+ <sequence>
+ <element name='result' nillable='true'
type='dateTime'/>
+ </sequence>
+ </complexType>
+ <complexType name='echoDate'>
+ <sequence>
+ <element name='Date_1' nillable='true'
type='dateTime'/>
+ </sequence>
+ </complexType>
+ <complexType name='echoDateResponse'>
+ <sequence>
+ <element name='result' nillable='true'
type='dateTime'/>
+ </sequence>
+ </complexType>
+ <complexType name='echoDecimal'>
+ <sequence>
+ <element name='BigDecimal_1' nillable='true'
type='decimal'/>
+ </sequence>
+ </complexType>
+ <complexType name='echoDecimalResponse'>
+ <sequence>
+ <element name='result' nillable='true'
type='decimal'/>
+ </sequence>
+ </complexType>
+ <complexType name='echoInteger'>
+ <sequence>
+ <element name='BigInteger_1' nillable='true'
type='integer'/>
+ </sequence>
+ </complexType>
+ <complexType name='echoIntegerResponse'>
+ <sequence>
+ <element name='result' nillable='true'
type='integer'/>
+ </sequence>
+ </complexType>
+ <complexType name='echoQName'>
+ <sequence>
+ <element name='QName_1' nillable='true'
type='QName'/>
+ </sequence>
+ </complexType>
+ <complexType name='echoQNameResponse'>
+ <sequence>
+ <element name='result' nillable='true' type='QName'/>
+ </sequence>
+ </complexType>
+ <complexType name='echoString'>
+ <sequence>
+ <element name='String_1' nillable='true'
type='string'/>
+ </sequence>
+ </complexType>
+ <complexType name='echoStringResponse'>
+ <sequence>
+ <element name='result' nillable='true'
type='string'/>
+ </sequence>
+ </complexType>
+ <complexType name='echoURI'>
+ <sequence>
+ <element name='URI_1' nillable='true' type='anyURI'/>
+ </sequence>
+ </complexType>
+ <complexType name='echoURIResponse'>
+ <sequence>
+ <element name='result' nillable='true'
type='anyURI'/>
+ </sequence>
+ </complexType>
+ <element name='echoCalendar' type='tns:echoCalendar'/>
+ <element name='echoCalendarResponse'
type='tns:echoCalendarResponse'/>
+ <element name='echoDate' type='tns:echoDate'/>
+ <element name='echoDateResponse' type='tns:echoDateResponse'/>
+ <element name='echoDecimal' type='tns:echoDecimal'/>
+ <element name='echoDecimalResponse'
type='tns:echoDecimalResponse'/>
+ <element name='echoInteger' type='tns:echoInteger'/>
+ <element name='echoIntegerResponse'
type='tns:echoIntegerResponse'/>
+ <element name='echoQName' type='tns:echoQName'/>
+ <element name='echoQNameResponse'
type='tns:echoQNameResponse'/>
+ <element name='echoString' type='tns:echoString'/>
+ <element name='echoStringResponse'
type='tns:echoStringResponse'/>
+ <element name='echoURI' type='tns:echoURI'/>
+ <element name='echoURIResponse' type='tns:echoURIResponse'/>
+ </schema>
+ </types>
+ <message name='StandardJavaTypes_echoCalendar'
xmlns='http://schemas.xmlsoap.org/wsdl/'>
+ <part element='tns:echoCalendar' name='echoCalendar'/>
+ </message>
+ <message name='StandardJavaTypes_echoCalendarResponse'>
+ <part element='tns:echoCalendarResponse'
name='echoCalendarResponse'/>
+ </message>
+ <message name='StandardJavaTypes_echoDate'>
+ <part element='tns:echoDate' name='echoDate'/>
+ </message>
+ <message name='StandardJavaTypes_echoDateResponse'>
+ <part element='tns:echoDateResponse' name='echoDateResponse'/>
+ </message>
+ <message name='StandardJavaTypes_echoDecimal'>
+ <part element='tns:echoDecimal' name='echoDecimal'/>
+ </message>
+ <message name='StandardJavaTypes_echoDecimalResponse'>
+ <part element='tns:echoDecimalResponse'
name='echoDecimalResponse'/>
+ </message>
+ <message name='StandardJavaTypes_echoInteger'>
+ <part element='tns:echoInteger' name='echoInteger'/>
+ </message>
+ <message name='StandardJavaTypes_echoIntegerResponse'>
+ <part element='tns:echoIntegerResponse'
name='echoIntegerResponse'/>
+ </message>
+ <message name='StandardJavaTypes_echoQName'>
+ <part element='tns:echoQName' name='echoQName'/>
+ </message>
+ <message name='StandardJavaTypes_echoQNameResponse'>
+ <part element='tns:echoQNameResponse' name='echoQNameResponse'/>
+ </message>
+ <message name='StandardJavaTypes_echoString'>
+ <part element='tns:echoString' name='echoString'/>
+ </message>
+ <message name='StandardJavaTypes_echoStringResponse'>
+ <part element='tns:echoStringResponse'
name='echoStringResponse'/>
+ </message>
+ <message name='StandardJavaTypes_echoURI'>
+ <part element='tns:echoURI' name='echoURI'/>
+ </message>
+ <message name='StandardJavaTypes_echoURIResponse'>
+ <part element='tns:echoURIResponse' name='echoURIResponse'/>
+ </message>
+ <portType name='StandardJavaTypes' wsp:PolicyURIs='#RmPolicy'>
+ <operation name='echoCalendar' parameterOrder='echoCalendar'>
+ <input message='tns:StandardJavaTypes_echoCalendar'/>
+ <output message='tns:StandardJavaTypes_echoCalendarResponse'/>
+ </operation>
+ <operation name='echoDate' parameterOrder='echoDate'>
+ <input message='tns:StandardJavaTypes_echoDate'/>
+ <output message='tns:StandardJavaTypes_echoDateResponse'/>
+ </operation>
+ <operation name='echoDecimal' parameterOrder='echoDecimal'>
+ <input message='tns:StandardJavaTypes_echoDecimal'/>
+ <output message='tns:StandardJavaTypes_echoDecimalResponse'/>
+ </operation>
+ <operation name='echoInteger' parameterOrder='echoInteger'>
+ <input message='tns:StandardJavaTypes_echoInteger'/>
+ <output message='tns:StandardJavaTypes_echoIntegerResponse'/>
+ </operation>
+ <operation name='echoQName' parameterOrder='echoQName'>
+ <input message='tns:StandardJavaTypes_echoQName'/>
+ <output message='tns:StandardJavaTypes_echoQNameResponse'/>
+ </operation>
+ <operation name='echoString' parameterOrder='echoString'>
+ <input message='tns:StandardJavaTypes_echoString'/>
+ <output message='tns:StandardJavaTypes_echoStringResponse'/>
+ </operation>
+ <operation name='echoURI' parameterOrder='echoURI'>
+ <input message='tns:StandardJavaTypes_echoURI'/>
+ <output message='tns:StandardJavaTypes_echoURIResponse'/>
+ </operation>
+ </portType>
+ <binding name='StandardJavaTypesBinding'
type='tns:StandardJavaTypes'>
+ <soap:binding style='document'
transport='http://schemas.xmlsoap.org/soap/http'/>
+ <wsp:PolicyReference URI='#X509EndpointPolicy' />
+ <operation name='echoCalendar'>
+ <soap:operation soapAction=''/>
+ <input>
+ <soap:body use='literal'/>
+ </input>
+ <output>
+ <soap:body use='literal'/>
+ </output>
+ </operation>
+ <operation name='echoDate'>
+ <soap:operation soapAction=''/>
+ <input>
+ <soap:body use='literal'/>
+ </input>
+ <output>
+ <soap:body use='literal'/>
+ </output>
+ </operation>
+ <operation name='echoDecimal'>
+ <soap:operation soapAction=''/>
+ <input>
+ <soap:body use='literal'/>
+ </input>
+ <output>
+ <soap:body use='literal'/>
+ </output>
+ </operation>
+ <operation name='echoInteger'>
+ <soap:operation soapAction=''/>
+ <input>
+ <soap:body use='literal'/>
+ </input>
+ <output>
+ <soap:body use='literal'/>
+ </output>
+ </operation>
+ <operation name='echoQName'>
+ <soap:operation soapAction=''/>
+ <input>
+ <soap:body use='literal'/>
+ </input>
+ <output>
+ <soap:body use='literal'/>
+ </output>
+ </operation>
+ <operation name='echoString'>
+ <soap:operation soapAction=''/>
+ <input>
+ <soap:body use='literal'/>
+ </input>
+ <output>
+ <soap:body use='literal'/>
+ </output>
+ </operation>
+ <operation name='echoURI'>
+ <soap:operation soapAction=''/>
+ <input>
+ <soap:body use='literal'/>
+ </input>
+ <output>
+ <soap:body use='literal'/>
+ </output>
+ </operation>
+ </binding>
+ <service name='StandardJavaTypesService'>
+ <port binding='tns:StandardJavaTypesBinding'
name='StandardJavaTypesPort'>
+ <soap:address location='REPLACE_WITH_ACTUAL_URL'/>
+ <wsp:PolicyReference URI='#uselessPortPolicy' />
+ </port>
+ </service>
+</definitions>
\ No newline at end of file