Author: palin
Date: 2007-05-30 05:14:04 -0400 (Wed, 30 May 2007)
New Revision: 3303
Added:
trunk/jbossws-core/src/test/java/org/jboss/test/ws/jaxws/wspolicy/
trunk/jbossws-core/src/test/java/org/jboss/test/ws/jaxws/wspolicy/PolicyDeployerTestCase.java
trunk/jbossws-core/src/test/java/org/jboss/test/ws/jaxws/wspolicy/PolicyMetaDataBuilderTestCase.java
trunk/jbossws-core/src/test/resources/jaxws/wspolicy/
trunk/jbossws-core/src/test/resources/jaxws/wspolicy/TestService.wsdl
Modified:
trunk/jbossws-core/src/main/java/org/jboss/ws/extensions/policy/deployer/PolicyDeployer.java
trunk/jbossws-core/src/main/java/org/jboss/ws/extensions/policy/metadata/PolicyMetaDataBuilder.java
Log:
PolicyDeployer and PolicyMetaDataBuilder test cases
Modified:
trunk/jbossws-core/src/main/java/org/jboss/ws/extensions/policy/deployer/PolicyDeployer.java
===================================================================
---
trunk/jbossws-core/src/main/java/org/jboss/ws/extensions/policy/deployer/PolicyDeployer.java 2007-05-30
08:43:49 UTC (rev 3302)
+++
trunk/jbossws-core/src/main/java/org/jboss/ws/extensions/policy/deployer/PolicyDeployer.java 2007-05-30
09:14:04 UTC (rev 3303)
@@ -32,6 +32,7 @@
import org.apache.ws.policy.PrimitiveAssertion;
import org.apache.ws.policy.XorCompositeAssertion;
import org.jboss.logging.Logger;
+import org.jboss.ws.WSException;
import org.jboss.ws.extensions.policy.deployer.domainAssertion.AssertionDeployer;
import org.jboss.ws.extensions.policy.deployer.domainAssertion.NopAssertionDeployer;
import
org.jboss.ws.extensions.policy.deployer.domainAssertion.WSSecurityAssertionDeployer;
@@ -90,12 +91,13 @@
@SuppressWarnings("unchecked")
public Policy deployServerside(Policy policy, ExtensibleMetaData extMetaData) throws
UnsupportedPolicy
{
-
+ if (policy == null) throw new WSException("Cannot deploy null policy!");
+
List<Assertion> returnedPolicyTerms = new LinkedList<Assertion>();
if (! policy.isNormalized())
{
- policy.normalize();
+ policy = (Policy)policy.normalize();
}
//in normal form we have just one wsp:ExactlyOne element containg unbounded wsp:All
(alternative)
@@ -141,9 +143,11 @@
@SuppressWarnings("unchecked")
public void deployClientSide(Policy policy, ExtensibleMetaData extMetaData) throws
UnsupportedPolicy
{
+ if (policy == null) throw new WSException("Cannot deploy null policy!");
+
if (! policy.isNormalized())
{
- policy.normalize();
+ policy = (Policy)policy.normalize();
}
//in normal form we have just one wsp:ExactlyOne element containg unbounded wsp:All
(alternative)
XorCompositeAssertion exactlyOne = (XorCompositeAssertion)
policy.getTerms().get(0);
Modified:
trunk/jbossws-core/src/main/java/org/jboss/ws/extensions/policy/metadata/PolicyMetaDataBuilder.java
===================================================================
---
trunk/jbossws-core/src/main/java/org/jboss/ws/extensions/policy/metadata/PolicyMetaDataBuilder.java 2007-05-30
08:43:49 UTC (rev 3302)
+++
trunk/jbossws-core/src/main/java/org/jboss/ws/extensions/policy/metadata/PolicyMetaDataBuilder.java 2007-05-30
09:14:04 UTC (rev 3303)
@@ -61,6 +61,7 @@
private static final Logger log = Logger.getLogger(PolicyMetaDataBuilder.class);
private boolean serverSide = true;
private boolean toolMode = false;
+ private PolicyDeployer customDeployer;
public PolicyMetaDataBuilder()
{
@@ -68,6 +69,16 @@
}
/**
+ * To be used for tests or whenever a custom deployer is required
+ *
+ * @param customDeployer
+ */
+ public PolicyMetaDataBuilder(PolicyDeployer customDeployer)
+ {
+ this.customDeployer = customDeployer;
+ }
+
+ /**
* Creates a new PolicyMetaDataBuilder for server side policy processing.
*
* @param toolMode True if running WSProvideTask (no policy deployments)
@@ -192,7 +203,7 @@
{
if (policyProp!=null && policyProp.getValue()!=null)
{
- StringTokenizer st = new StringTokenizer(policyProp.getValue(), " ",
false);
+ StringTokenizer st = new StringTokenizer(policyProp.getValue(), ", ",
false);
while (st.hasMoreTokens())
{
PolicyReference policyRef = new PolicyReference(st.nextToken());
@@ -232,8 +243,12 @@
private void deployPolicy(Policy policy, PolicyScopeLevel scope, ExtensibleMetaData
extMetaData)
{
PolicyDeployer deployer;
- if (toolMode)
+ if (customDeployer != null)
{
+ deployer = customDeployer;
+ }
+ else if (toolMode)
+ {
deployer = PolicyDeployer.newInstanceForTools();
}
else
Added:
trunk/jbossws-core/src/test/java/org/jboss/test/ws/jaxws/wspolicy/PolicyDeployerTestCase.java
===================================================================
---
trunk/jbossws-core/src/test/java/org/jboss/test/ws/jaxws/wspolicy/PolicyDeployerTestCase.java
(rev 0)
+++
trunk/jbossws-core/src/test/java/org/jboss/test/ws/jaxws/wspolicy/PolicyDeployerTestCase.java 2007-05-30
09:14:04 UTC (rev 3303)
@@ -0,0 +1,180 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, 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.jaxws.wspolicy;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import javax.xml.namespace.QName;
+
+import org.apache.ws.policy.AndCompositeAssertion;
+import org.apache.ws.policy.Policy;
+import org.apache.ws.policy.PrimitiveAssertion;
+import org.apache.ws.policy.XorCompositeAssertion;
+import org.jboss.test.ws.JBossWSTest;
+import org.jboss.ws.WSException;
+import org.jboss.ws.extensions.policy.deployer.PolicyDeployer;
+import org.jboss.ws.extensions.policy.deployer.domainAssertion.NopAssertionDeployer;
+import org.jboss.ws.extensions.policy.deployer.exceptions.UnsupportedPolicy;
+
+/**
+ * @author Alessio Soldano, <mailto:alessio.soldano@javalinux.it>
+ *
+ * since 29-May-2007
+ */
+public class PolicyDeployerTestCase extends JBossWSTest
+{
+
+ public void testDeployEmptyPolicy() throws Exception
+ {
+ Map<String,Class> map = new HashMap<String,Class>();
+
map.put("http://www.jboss.com/test/policy", NopAssertionDeployer.class);
+ PolicyDeployer deployer = PolicyDeployer.newInstance(map);
+ try
+ {
+ deployer.deployServerside(null, null);
+ fail("deployServerSide should throw exception when invoked with null
policy!");
+ }
+ catch (WSException wse)
+ {
+ //OK
+ }
+ Policy policy = new Policy();
+ deployer.deployServerside(policy, null);
+ }
+
+ public void testDeploySingleAssertion() throws Exception
+ {
+ Map<String,Class> map = new HashMap<String,Class>();
+
map.put("http://www.jboss.com/test/policy", NopAssertionDeployer.class);
+ PolicyDeployer deployer = PolicyDeployer.newInstance(map);
+ Policy policy = new Policy("myID");
+ PrimitiveAssertion assertion = new PrimitiveAssertion(new
QName("http://www.jboss.com/test/policy","test"));
+ policy.addTerm(assertion);
+ deployer.deployServerside(policy, null);
+
+ policy.remove(assertion);
+ policy.addTerm(new PrimitiveAssertion(new
QName("http://www.jboss.com/test/policy2","test")));
+ try
+ {
+ deployer.deployServerside(policy, null);
+ fail("deployServerSide shouldn't be able to deploy this
policy!");
+ }
+ catch (UnsupportedPolicy up)
+ {
+ //OK
+ }
+ }
+
+ public void testDeployMultipleAssertion() throws Exception
+ {
+ Map<String,Class> map = new HashMap<String,Class>();
+
map.put("http://www.jboss.com/test/policy", NopAssertionDeployer.class);
+
map.put("http://www.jboss.com/test/policy2",
NopAssertionDeployer.class);
+
map.put("http://www.jboss.com/test/policy3",
NopAssertionDeployer.class);
+ PolicyDeployer deployer = PolicyDeployer.newInstance(map);
+ Policy policy = new Policy("myID");
+ policy.addTerm(new PrimitiveAssertion(new
QName("http://www.jboss.com/test/policy","test")));
+ policy.addTerm(new PrimitiveAssertion(new
QName("http://www.jboss.com/test/policy2","test2")));
+ deployer.deployServerside(policy, null);
+
+ policy.addTerm(new PrimitiveAssertion(new
QName("http://www.jboss.com/test/policy4","test4")));
+ try
+ {
+ deployer.deployServerside(policy, null);
+ fail("deployServerSide shouldn't be able to deploy this
policy!");
+ }
+ catch (UnsupportedPolicy up)
+ {
+ //OK
+ }
+ }
+
+ public void testDeployMultipleAlternative() throws Exception
+ {
+ Map<String,Class> map = new HashMap<String,Class>();
+
map.put("http://www.jboss.com/test/policy", NopAssertionDeployer.class);
+
map.put("http://www.jboss.com/test/policy2",
NopAssertionDeployer.class);
+ PolicyDeployer deployer = PolicyDeployer.newInstance(map);
+ Policy policy = new Policy("myID");
+ PrimitiveAssertion assertion1 = new PrimitiveAssertion(new
QName("http://www.jboss.com/test/policy","test"));
+ PrimitiveAssertion assertion2 = new PrimitiveAssertion(new
QName("http://www.jboss.com/test/policy2","test2"));
+ XorCompositeAssertion xorAssertion = new XorCompositeAssertion();
+ xorAssertion.addTerm(assertion1);
+ xorAssertion.addTerm(assertion2);
+ policy.addTerm(xorAssertion);
+ deployer.deployServerside(policy, null);
+
+ xorAssertion.remove(assertion2);
+ xorAssertion.addTerm(new PrimitiveAssertion(new
QName("http://www.jboss.com/test/policy3","test3")));
+ deployer.deployServerside(policy, null);
+
+ xorAssertion.remove(assertion1);
+ xorAssertion.addTerm(new PrimitiveAssertion(new
QName("http://www.jboss.com/test/policy4","test4")));
+ try
+ {
+ deployer.deployServerside(policy, null);
+ fail("deployServerSide shouldn't be able to deploy this policy (no
alternative supported)!");
+ }
+ catch (UnsupportedPolicy up)
+ {
+ //OK
+ }
+ }
+
+ public void testDeployMultipleComplexAlternative() throws Exception
+ {
+ Map<String,Class> map = new HashMap<String,Class>();
+
map.put("http://www.jboss.com/test/policy", NopAssertionDeployer.class);
+
map.put("http://www.jboss.com/test/policy2",
NopAssertionDeployer.class);
+
map.put("http://www.jboss.com/test/policy3",
NopAssertionDeployer.class);
+ PolicyDeployer deployer = PolicyDeployer.newInstance(map);
+ Policy policy = new Policy("myID");
+ PrimitiveAssertion assertion1 = new PrimitiveAssertion(new
QName("http://www.jboss.com/test/policy","test"));
+ PrimitiveAssertion assertion2 = new PrimitiveAssertion(new
QName("http://www.jboss.com/test/policy2","test2"));
+ PrimitiveAssertion assertion3 = new PrimitiveAssertion(new
QName("http://www.jboss.com/test/policy3","test3"));
+ PrimitiveAssertion assertion4 = new PrimitiveAssertion(new
QName("http://www.jboss.com/test/policy4","test4"));
+ AndCompositeAssertion andAssertion1 = new AndCompositeAssertion();
+ andAssertion1.addTerm(assertion1);
+ andAssertion1.addTerm(assertion2);
+ AndCompositeAssertion andAssertion2 = new AndCompositeAssertion();
+ andAssertion2.addTerm(assertion3);
+ andAssertion2.addTerm(assertion4);
+ XorCompositeAssertion xorAssertion = new XorCompositeAssertion();
+ xorAssertion.addTerm(andAssertion1);
+ xorAssertion.addTerm(andAssertion2);
+ policy.addTerm(xorAssertion);
+ deployer.deployServerside(policy, null);
+
+ xorAssertion.remove(andAssertion1);
+ try
+ {
+ deployer.deployServerside(policy, null);
+ fail("deployServerSide shouldn't be able to deploy this policy (no
alternative supported)!");
+ }
+ catch (UnsupportedPolicy up)
+ {
+ //OK
+ }
+ }
+
+}
Added:
trunk/jbossws-core/src/test/java/org/jboss/test/ws/jaxws/wspolicy/PolicyMetaDataBuilderTestCase.java
===================================================================
---
trunk/jbossws-core/src/test/java/org/jboss/test/ws/jaxws/wspolicy/PolicyMetaDataBuilderTestCase.java
(rev 0)
+++
trunk/jbossws-core/src/test/java/org/jboss/test/ws/jaxws/wspolicy/PolicyMetaDataBuilderTestCase.java 2007-05-30
09:14:04 UTC (rev 3303)
@@ -0,0 +1,108 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, 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.jaxws.wspolicy;
+
+import java.io.File;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.Map;
+
+import javax.xml.namespace.QName;
+
+import org.apache.ws.policy.Policy;
+import org.jboss.test.ws.JBossWSTest;
+import org.jboss.ws.Constants;
+import org.jboss.ws.extensions.policy.PolicyScopeLevel;
+import org.jboss.ws.extensions.policy.deployer.PolicyDeployer;
+import org.jboss.ws.extensions.policy.deployer.domainAssertion.NopAssertionDeployer;
+import org.jboss.ws.extensions.policy.metadata.PolicyMetaDataBuilder;
+import org.jboss.ws.extensions.policy.metadata.PolicyMetaExtension;
+import org.jboss.ws.metadata.umdm.EndpointMetaData;
+import org.jboss.ws.metadata.umdm.ServerEndpointMetaData;
+import org.jboss.ws.metadata.umdm.ServiceMetaData;
+import org.jboss.ws.metadata.umdm.EndpointMetaData.Type;
+import org.jboss.ws.metadata.wsdl.WSDLDefinitions;
+import org.jboss.ws.tools.wsdl.WSDLDefinitionsFactory;
+
+/**
+ * @author Alessio Soldano, <mailto:alessio.soldano@javalinux.it>
+ *
+ * since 29-May-2007
+ */
+public class PolicyMetaDataBuilderTestCase extends JBossWSTest
+{
+
+ private WSDLDefinitions readWsdl(String filename) throws Exception
+ {
+ File wsdlFile = new File(filename);
+ assertTrue(wsdlFile.exists());
+ WSDLDefinitionsFactory factory = WSDLDefinitionsFactory.newInstance();
+ WSDLDefinitions wsdlDefinitions = factory.parse(wsdlFile.toURL());
+ assertNotNull(wsdlDefinitions);
+ return wsdlDefinitions;
+ }
+
+ public void testEndpointScopePolicies() throws Exception
+ {
+ WSDLDefinitions wsdlDefinitions =
readWsdl("resources/jaxws/wspolicy/TestService.wsdl");
+ QName serviceName = new QName("http://org.jboss.ws/jaxws/endpoint",
"TestService");
+ ServiceMetaData serviceMetaData = new ServiceMetaData(null, serviceName);
+ QName portName = new QName("http://org.jboss.ws/jaxws/endpoint",
"EndpointInterfacePort");
+ QName portTypeName = new QName("http://org.jboss.ws/jaxws/endpoint",
"EndpointInterface");
+ EndpointMetaData epMetaData = new
ServerEndpointMetaData(serviceMetaData,portName,portTypeName,Type.JAXWS);
+
+ Map<String,Class> map = new HashMap<String,Class>();
+
map.put("http://schemas.xmlsoap.org/ws/2005/02/rm/policy",
NopAssertionDeployer.class);
+
map.put("http://www.fabrikam123.example.com/stock",
NopAssertionDeployer.class);
+
map.put("http://schemas.xmlsoap.org/ws/2005/07/securitypolicy",
NopAssertionDeployer.class);
+ PolicyDeployer deployer = PolicyDeployer.newInstance(map);
+ PolicyMetaDataBuilder builder = new PolicyMetaDataBuilder(deployer);
+
+ builder.processPolicyExtensions(epMetaData, wsdlDefinitions);
+
+ PolicyMetaExtension policyExt =
(PolicyMetaExtension)epMetaData.getExtension(Constants.URI_WS_POLICY);
+ Collection<Policy> bindingPolicies =
policyExt.getPolicies(PolicyScopeLevel.WSDL_BINDING);
+ assertNotNull(bindingPolicies);
+ assertEquals(2, bindingPolicies.size());
+ Iterator<Policy> bindingPoliciesIterator = bindingPolicies.iterator();
+ String id1 = bindingPoliciesIterator.next().getId();
+ String id2 = bindingPoliciesIterator.next().getId();
+ assertTrue(("RmPolicy".equalsIgnoreCase(id1) &&
"X509EndpointPolicy".equalsIgnoreCase(id2)) ||
+ ("RmPolicy".equalsIgnoreCase(id2) &&
"X509EndpointPolicy".equalsIgnoreCase(id1)));
+
+ Collection<Policy> portPolicies =
policyExt.getPolicies(PolicyScopeLevel.WSDL_PORT);
+ assertNotNull(portPolicies);
+ assertEquals(1, portPolicies.size());
+ assertEquals("uselessPortPolicy",
portPolicies.iterator().next().getId());
+
+ Collection<Policy> portTypePolicies =
policyExt.getPolicies(PolicyScopeLevel.WSDL_PORT_TYPE);
+ assertNotNull(portTypePolicies);
+ assertEquals(2, portTypePolicies.size());
+ Iterator<Policy> portTypePoliciesIterator = portTypePolicies.iterator();
+ String id3 = portTypePoliciesIterator.next().getId();
+ String id4 = portTypePoliciesIterator.next().getId();
+ assertTrue(("uselessPortTypePolicy".equalsIgnoreCase(id3) &&
"uselessPortTypePolicy2".equalsIgnoreCase(id4)) ||
+ ("uselessPortTypePolicy".equalsIgnoreCase(id4) &&
"uselessPortTypePolicy2".equalsIgnoreCase(id3)));
+ }
+
+}
Added: trunk/jbossws-core/src/test/resources/jaxws/wspolicy/TestService.wsdl
===================================================================
--- trunk/jbossws-core/src/test/resources/jaxws/wspolicy/TestService.wsdl
(rev 0)
+++ trunk/jbossws-core/src/test/resources/jaxws/wspolicy/TestService.wsdl 2007-05-30
09:14:04 UTC (rev 3303)
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<definitions name="TestService"
targetNamespace="http://org.jboss.ws/jaxws/endpoint"
+ xmlns:tns="http://org.jboss.ws/jaxws/endpoint"
+
xmlns="http://schemas.xmlsoap.org/wsdl/"
+
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
+
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
+
xmlns:fab="http://www.fabrikam123.example.com/stock"
+
xmlns:rmp="http://schemas.xmlsoap.org/ws/2005/02/rm/policy"
+
xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy"
+
xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy"
+
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-w...
>
+ <wsp:Policy wsu:Id="RmPolicy" >
+ <rmp:RMAssertion>
+ <rmp:InactivityTimeout Milliseconds="600000" />
+ <rmp:BaseRetransmissionInterval Milliseconds="3000" />
+ <rmp:ExponentialBackoff />
+ <rmp:AcknowledgementInterval Milliseconds="200" />
+ </rmp:RMAssertion>
+ </wsp:Policy>
+ <wsp:Policy wsu:Id="uselessPortTypePolicy" >
+ <fab:useless>nothing</fab:useless>
+ </wsp:Policy>
+ <wsp:Policy wsu:Id="uselessPortTypePolicy2" >
+ <fab:useless>nothing and nothing</fab:useless>
+ </wsp:Policy>
+ <wsp:Policy wsu:Id="uselessPortPolicy" >
+ <fab:useless>nothing again</fab:useless>
+ </wsp:Policy>
+ <wsp:Policy wsu:Id="X509EndpointPolicy" >
+ <sp:AsymmetricBinding>
+ <wsp:Policy>
+ <!-- Details omitted for readability -->
+ <sp:IncludeTimestamp />
+ <sp:OnlySignEntireHeadersAndBody />
+ </wsp:Policy>
+ </sp:AsymmetricBinding>
+ </wsp:Policy>
+ <wsp:Policy wsu:Id="SecureMessagePolicy" >
+ <sp:SignedParts>
+ <sp:Body />
+ </sp:SignedParts>
+ <sp:EncryptedParts>
+ <sp:Body />
+ </sp:EncryptedParts>
+ </wsp:Policy>
+ <types/>
+ <message name="EndpointInterface_echo">
+ <part name="String_1" type="xsd:string"/>
+ </message>
+ <message name="EndpointInterface_echoResponse">
+ <part name="result" type="xsd:string"/>
+ </message>
+ <portType name="EndpointInterface"
wsp:PolicyURIs="#uselessPortTypePolicy,#uselessPortTypePolicy2">
+ <operation name="echo" parameterOrder="String_1">
+ <input message="tns:EndpointInterface_echo"/>
+ <output message="tns:EndpointInterface_echoResponse"/>
+ </operation>
+ </portType>
+ <binding name="EndpointInterfaceBinding"
type="tns:EndpointInterface">
+ <soap:binding
transport="http://schemas.xmlsoap.org/soap/http"
style="rpc"/>
+ <wsp:PolicyReference URI="#RmPolicy" wsdl:required="true"
/>
+ <wsp:PolicyReference URI="#X509EndpointPolicy"
wsdl:required="true" />
+ <operation name="echo">
+ <soap:operation soapAction=""/>
+ <input>
+ <soap:body use="literal"
namespace="http://org.jboss.ws/jaxws/endpoint"/>
+ </input>
+ <output>
+ <soap:body use="literal"
namespace="http://org.jboss.ws/jaxws/endpoint"/>
+ </output>
+ </operation>
+ </binding>
+ <service name="TestService">
+ <port name="EndpointInterfacePort"
binding="tns:EndpointInterfaceBinding">
+ <wsp:PolicyReference URI="#uselessPortPolicy"
wsdl:required="true" />
+ <soap:address
location="http://@jbosstest.host.name@:8080/jaxws-endpoint"/>
+ </port>
+ </service>
+</definitions>