You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by co...@apache.org on 2013/10/18 11:10:38 UTC
svn commit: r1533365 - in /cxf/trunk:
rt/ws/security/src/main/java/org/apache/cxf/ws/security/wss4j/policyhandlers/
systests/ws-security-examples/src/test/java/org/apache/cxf/systest/wssec/examples/secconv/
systests/ws-security/src/test/java/org/apache...
Author: coheigea
Date: Fri Oct 18 09:10:37 2013
New Revision: 1533365
URL: http://svn.apache.org/r1533365
Log:
Adding some streaming SecureConversation tests
Added:
cxf/trunk/systests/ws-security/src/test/java/org/apache/cxf/systest/ws/wssc/StaxServer.java
cxf/trunk/systests/ws-security/src/test/java/org/apache/cxf/systest/ws/wssc/StaxWSSCTest.java
Modified:
cxf/trunk/rt/ws/security/src/main/java/org/apache/cxf/ws/security/wss4j/policyhandlers/StaxSymmetricBindingHandler.java
cxf/trunk/systests/ws-security-examples/src/test/java/org/apache/cxf/systest/wssec/examples/secconv/StaxSecureConversationTest.java
Modified: cxf/trunk/rt/ws/security/src/main/java/org/apache/cxf/ws/security/wss4j/policyhandlers/StaxSymmetricBindingHandler.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/ws/security/src/main/java/org/apache/cxf/ws/security/wss4j/policyhandlers/StaxSymmetricBindingHandler.java?rev=1533365&r1=1533364&r2=1533365&view=diff
==============================================================================
--- cxf/trunk/rt/ws/security/src/main/java/org/apache/cxf/ws/security/wss4j/policyhandlers/StaxSymmetricBindingHandler.java (original)
+++ cxf/trunk/rt/ws/security/src/main/java/org/apache/cxf/ws/security/wss4j/policyhandlers/StaxSymmetricBindingHandler.java Fri Oct 18 09:10:37 2013
@@ -558,7 +558,11 @@ public class StaxSymmetricBindingHandler
}
} else if (policyToken instanceof IssuedToken || policyToken instanceof SecurityContextToken
|| policyToken instanceof SecureConversationToken || policyToken instanceof SpnegoContextToken) {
- config.put(ConfigurationConstants.INCLUDE_SIGNATURE_TOKEN, "false");
+ if (!isRequestor()) {
+ config.put(ConfigurationConstants.INCLUDE_SIGNATURE_TOKEN, "false");
+ } else {
+ config.put(ConfigurationConstants.INCLUDE_SIGNATURE_TOKEN, "true");
+ }
config.put(ConfigurationConstants.DERIVED_TOKEN_KEY_ID, "DirectReference");
}
Modified: cxf/trunk/systests/ws-security-examples/src/test/java/org/apache/cxf/systest/wssec/examples/secconv/StaxSecureConversationTest.java
URL: http://svn.apache.org/viewvc/cxf/trunk/systests/ws-security-examples/src/test/java/org/apache/cxf/systest/wssec/examples/secconv/StaxSecureConversationTest.java?rev=1533365&r1=1533364&r2=1533365&view=diff
==============================================================================
--- cxf/trunk/systests/ws-security-examples/src/test/java/org/apache/cxf/systest/wssec/examples/secconv/StaxSecureConversationTest.java (original)
+++ cxf/trunk/systests/ws-security-examples/src/test/java/org/apache/cxf/systest/wssec/examples/secconv/StaxSecureConversationTest.java Fri Oct 18 09:10:37 2013
@@ -85,7 +85,7 @@ public class StaxSecureConversationTest
// DOM
samlPort.doubleIt(25);
- // TODO Streaming investigate
+ // TODO Streaming Ordering issue
// SecurityTestUtil.enableStreaming(samlPort);
// samlPort.doubleIt(25);
Added: cxf/trunk/systests/ws-security/src/test/java/org/apache/cxf/systest/ws/wssc/StaxServer.java
URL: http://svn.apache.org/viewvc/cxf/trunk/systests/ws-security/src/test/java/org/apache/cxf/systest/ws/wssc/StaxServer.java?rev=1533365&view=auto
==============================================================================
--- cxf/trunk/systests/ws-security/src/test/java/org/apache/cxf/systest/ws/wssc/StaxServer.java (added)
+++ cxf/trunk/systests/ws-security/src/test/java/org/apache/cxf/systest/ws/wssc/StaxServer.java Fri Oct 18 09:10:37 2013
@@ -0,0 +1,286 @@
+/**
+ * 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.
+ */
+
+package org.apache.cxf.systest.ws.wssc;
+
+import javax.jws.WebService;
+import javax.xml.ws.Endpoint;
+
+import org.apache.cxf.Bus;
+import org.apache.cxf.BusFactory;
+import org.apache.cxf.bus.spring.SpringBusFactory;
+import org.apache.cxf.systest.ws.common.KeystorePasswordCallback;
+import org.apache.cxf.testutil.common.AbstractBusTestServerBase;
+import org.apache.cxf.ws.security.SecurityConstants;
+
+
+public class StaxServer extends AbstractBusTestServerBase {
+ static final String PORT = allocatePort(StaxServer.class);
+
+ public StaxServer() throws Exception {
+
+ }
+
+ protected StaxServer(String baseUrl) throws Exception {
+
+
+ //"SecureConversation_UserNameOverTransport_IPingService",
+ doPublish(baseUrl + "SecureConversation_MutualCertificate10SignEncrypt_IPingService",
+ new SCMCSEIPingService());
+
+ doPublish(baseUrl + "AC_IPingService", new ACIPingService());
+ doPublish(baseUrl + "ADC_IPingService", new ADCIPingService());
+ doPublish(baseUrl + "ADC-ES_IPingService", new ADCESIPingService());
+ doPublish(baseUrl + "_A_IPingService", new AIPingService());
+ doPublish(baseUrl + "_AD_IPingService", new ADIPingService());
+ doPublish(baseUrl + "_AD-ES_IPingService", new ADESIPingService());
+
+ doPublish(baseUrl + "UXC_IPingService", new UXCIPingService());
+ doPublish(baseUrl + "UXDC_IPingService", new UXDCIPingService());
+ doPublish(baseUrl + "UXDC-SEES_IPingService", new UXDCSEESIPingService());
+ doPublish(baseUrl + "_UX_IPingService", new UXIPingService());
+ doPublish(baseUrl + "_UXD_IPingService", new UXDIPingService());
+ doPublish(baseUrl + "_UXD-SEES_IPingService", new UXDSEESIPingService());
+
+ doPublish(baseUrl + "XC_IPingService", new XCIPingService());
+ doPublish(baseUrl + "XDC_IPingService", new XDCIPingService());
+ doPublish(baseUrl + "XDC_IPingService1", new XDC1IPingService());
+ doPublish(baseUrl + "XDC-ES_IPingService", new XDCESIPingService());
+ doPublish(baseUrl + "XDC-SEES_IPingService", new XDCSEESIPingService());
+ doPublish(baseUrl + "_X_IPingService", new XIPingService());
+ doPublish(baseUrl + "_X10_IPingService", new X10IPingService());
+ doPublish(baseUrl + "_XD_IPingService", new XDIPingService());
+ doPublish(baseUrl + "_XD-SEES_IPingService", new XDSEESIPingService());
+ doPublish(baseUrl + "_XD-ES_IPingService", new XDESIPingService());
+
+
+ //Kerberos token - not sure where the token comes from or how these work
+ //"KC_IPingService",
+ //"KDC_IPingService",
+ //"KC10_IPingService",
+ //"KDC10_IPingService",
+ //"_K10_IPingService",
+ //"_KD10_IPingService",
+ //"_K_IPingService",
+ //"_KD_IPingService",
+ //"_KD-SEES_IPingService",
+
+ }
+
+ protected void run() {
+ try {
+ Bus busLocal = new SpringBusFactory().createBus(
+ "org/apache/cxf/systest/ws/wssc/server.xml");
+ BusFactory.setDefaultBus(busLocal);
+ setBus(busLocal);
+ new StaxServer("http://localhost:" + PORT + "/");
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+
+ private void doPublish(String url, Object obj) {
+ Endpoint ep = Endpoint.create(obj);
+ ep.getProperties().put(SecurityConstants.ENABLE_STREAMING_SECURITY, "true");
+ ep.getProperties().put(SecurityConstants.CALLBACK_HANDLER + ".sct", new KeystorePasswordCallback());
+ ep.getProperties().put(SecurityConstants.ENCRYPT_PROPERTIES + ".sct",
+ "bob.properties");
+
+ if (url.contains("X10_I")) {
+ ep.getProperties().put(SecurityConstants.SIGNATURE_PROPERTIES + ".sct",
+ "bob.properties");
+ ep.getProperties().put(SecurityConstants.ENCRYPT_PROPERTIES + ".sct",
+ "alice.properties");
+ } else if (url.contains("MutualCert")) {
+ ep.getProperties().put(SecurityConstants.ENCRYPT_PROPERTIES + ".sct",
+ "bob.properties");
+ ep.getProperties().put(SecurityConstants.SIGNATURE_PROPERTIES + ".sct",
+ "alice.properties");
+ ep.getProperties().put(SecurityConstants.CALLBACK_HANDLER, new KeystorePasswordCallback());
+ }
+ ep.publish(url);
+ }
+
+ @WebService(targetNamespace = "http://WSSec/wssc",
+ serviceName = "PingService",
+ portName = "SecureConversation_MutualCertificate10SignEncrypt_IPingService",
+ endpointInterface = "wssec.wssc.IPingService",
+ wsdlLocation = "target/test-classes/wsdl_systest_wssec/wssc/WSSecureConversation.wsdl")
+ public static class SCMCSEIPingService extends PingServiceImpl {
+ }
+
+ @WebService(targetNamespace = "http://WSSec/wssc",
+ serviceName = "PingService",
+ portName = "AC_IPingService",
+ endpointInterface = "wssec.wssc.IPingService",
+ wsdlLocation = "target/test-classes/wsdl_systest_wssec/wssc/WSSecureConversation.wsdl")
+ public static class ACIPingService extends PingServiceImpl {
+ }
+ @WebService(targetNamespace = "http://WSSec/wssc",
+ serviceName = "PingService",
+ portName = "ADC_IPingService",
+ endpointInterface = "wssec.wssc.IPingService",
+ wsdlLocation = "target/test-classes/wsdl_systest_wssec/wssc/WSSecureConversation.wsdl")
+ public static class ADCIPingService extends PingServiceImpl {
+ }
+ @WebService(targetNamespace = "http://WSSec/wssc",
+ serviceName = "PingService",
+ portName = "ADC-ES_IPingService",
+ endpointInterface = "wssec.wssc.IPingService",
+ wsdlLocation = "target/test-classes/wsdl_systest_wssec/wssc/WSSecureConversation.wsdl")
+ public static class ADCESIPingService extends PingServiceImpl {
+ }
+ @WebService(targetNamespace = "http://WSSec/wssc",
+ serviceName = "PingService",
+ portName = "_A_IPingService",
+ endpointInterface = "wssec.wssc.IPingService",
+ wsdlLocation = "target/test-classes/wsdl_systest_wssec/wssc/WSSecureConversation.wsdl")
+ public static class AIPingService extends PingServiceImpl {
+ }
+ @WebService(targetNamespace = "http://WSSec/wssc",
+ serviceName = "PingService",
+ portName = "_AD_IPingService",
+ endpointInterface = "wssec.wssc.IPingService",
+ wsdlLocation = "target/test-classes/wsdl_systest_wssec/wssc/WSSecureConversation.wsdl")
+ public static class ADIPingService extends PingServiceImpl {
+ }
+ @WebService(targetNamespace = "http://WSSec/wssc",
+ serviceName = "PingService",
+ portName = "_AD-ES_IPingService",
+ endpointInterface = "wssec.wssc.IPingService",
+ wsdlLocation = "target/test-classes/wsdl_systest_wssec/wssc/WSSecureConversation.wsdl")
+ public static class ADESIPingService extends PingServiceImpl {
+ }
+
+
+ @WebService(targetNamespace = "http://WSSec/wssc",
+ serviceName = "PingService",
+ portName = "UXC_IPingService",
+ endpointInterface = "wssec.wssc.IPingService",
+ wsdlLocation = "target/test-classes/wsdl_systest_wssec/wssc/WSSecureConversation.wsdl")
+ public static class UXCIPingService extends PingServiceImpl {
+ }
+ @WebService(targetNamespace = "http://WSSec/wssc",
+ serviceName = "PingService",
+ portName = "UXDC_IPingService",
+ endpointInterface = "wssec.wssc.IPingService",
+ wsdlLocation = "target/test-classes/wsdl_systest_wssec/wssc/WSSecureConversation.wsdl")
+ public static class UXDCIPingService extends PingServiceImpl {
+ }
+ @WebService(targetNamespace = "http://WSSec/wssc",
+ serviceName = "PingService",
+ portName = "UXDC-SEES_IPingService",
+ endpointInterface = "wssec.wssc.IPingService",
+ wsdlLocation = "target/test-classes/wsdl_systest_wssec/wssc/WSSecureConversation.wsdl")
+ public static class UXDCSEESIPingService extends PingServiceImpl {
+ }
+ @WebService(targetNamespace = "http://WSSec/wssc",
+ serviceName = "PingService",
+ portName = "_UX_IPingService",
+ endpointInterface = "wssec.wssc.IPingService",
+ wsdlLocation = "target/test-classes/wsdl_systest_wssec/wssc/WSSecureConversation.wsdl")
+ public static class UXIPingService extends PingServiceImpl {
+ }
+ @WebService(targetNamespace = "http://WSSec/wssc",
+ serviceName = "PingService",
+ portName = "_UXD_IPingService",
+ endpointInterface = "wssec.wssc.IPingService",
+ wsdlLocation = "target/test-classes/wsdl_systest_wssec/wssc/WSSecureConversation.wsdl")
+ public static class UXDIPingService extends PingServiceImpl {
+ }
+ @WebService(targetNamespace = "http://WSSec/wssc",
+ serviceName = "PingService",
+ portName = "_UXD-SEES_IPingService",
+ endpointInterface = "wssec.wssc.IPingService",
+ wsdlLocation = "target/test-classes/wsdl_systest_wssec/wssc/WSSecureConversation.wsdl")
+ public static class UXDSEESIPingService extends PingServiceImpl {
+ }
+
+ @WebService(targetNamespace = "http://WSSec/wssc",
+ serviceName = "PingService",
+ portName = "XC_IPingService",
+ endpointInterface = "wssec.wssc.IPingService",
+ wsdlLocation = "target/test-classes/wsdl_systest_wssec/wssc/WSSecureConversation.wsdl")
+ public static class XCIPingService extends PingServiceImpl {
+ }
+ @WebService(targetNamespace = "http://WSSec/wssc",
+ serviceName = "PingService",
+ portName = "XDC_IPingService",
+ endpointInterface = "wssec.wssc.IPingService",
+ wsdlLocation = "target/test-classes/wsdl_systest_wssec/wssc/WSSecureConversation.wsdl")
+ public static class XDCIPingService extends PingServiceImpl {
+ }
+ @WebService(targetNamespace = "http://WSSec/wssc",
+ serviceName = "PingService",
+ portName = "XDC_IPingService1",
+ endpointInterface = "wssec.wssc.IPingService",
+ wsdlLocation = "target/test-classes/wsdl_systest_wssec/wssc/WSSecureConversation.wsdl")
+ public static class XDC1IPingService extends PingServiceImpl {
+ }
+ @WebService(targetNamespace = "http://WSSec/wssc",
+ serviceName = "PingService",
+ portName = "XDC-ES_IPingService",
+ endpointInterface = "wssec.wssc.IPingService",
+ wsdlLocation = "target/test-classes/wsdl_systest_wssec/wssc/WSSecureConversation.wsdl")
+ public static class XDCESIPingService extends PingServiceImpl {
+ }
+ @WebService(targetNamespace = "http://WSSec/wssc",
+ serviceName = "PingService",
+ portName = "XDC-SEES_IPingService",
+ endpointInterface = "wssec.wssc.IPingService",
+ wsdlLocation = "target/test-classes/wsdl_systest_wssec/wssc/WSSecureConversation.wsdl")
+ public static class XDCSEESIPingService extends PingServiceImpl {
+ }
+
+ @WebService(targetNamespace = "http://WSSec/wssc",
+ serviceName = "PingService",
+ portName = "_X_IPingService",
+ endpointInterface = "wssec.wssc.IPingService",
+ wsdlLocation = "target/test-classes/wsdl_systest_wssec/wssc/WSSecureConversation.wsdl")
+ public static class XIPingService extends PingServiceImpl {
+ }
+ @WebService(targetNamespace = "http://WSSec/wssc",
+ serviceName = "PingService",
+ portName = "_X10_IPingService",
+ endpointInterface = "wssec.wssc.IPingService",
+ wsdlLocation = "target/test-classes/wsdl_systest_wssec/wssc/WSSecureConversation.wsdl")
+ public static class X10IPingService extends PingServiceImpl {
+ }
+ @WebService(targetNamespace = "http://WSSec/wssc",
+ serviceName = "PingService",
+ portName = "_XD_IPingService",
+ endpointInterface = "wssec.wssc.IPingService",
+ wsdlLocation = "target/test-classes/wsdl_systest_wssec/wssc/WSSecureConversation.wsdl")
+ public static class XDIPingService extends PingServiceImpl {
+ }
+ @WebService(targetNamespace = "http://WSSec/wssc",
+ serviceName = "PingService",
+ portName = "_XD-SEES_IPingService",
+ endpointInterface = "wssec.wssc.IPingService",
+ wsdlLocation = "target/test-classes/wsdl_systest_wssec/wssc/WSSecureConversation.wsdl")
+ public static class XDSEESIPingService extends PingServiceImpl {
+ }
+ @WebService(targetNamespace = "http://WSSec/wssc",
+ serviceName = "PingService",
+ portName = "_XD-ES_IPingService",
+ endpointInterface = "wssec.wssc.IPingService",
+ wsdlLocation = "target/test-classes/wsdl_systest_wssec/wssc/WSSecureConversation.wsdl")
+ public static class XDESIPingService extends PingServiceImpl {
+ }
+}
Added: cxf/trunk/systests/ws-security/src/test/java/org/apache/cxf/systest/ws/wssc/StaxWSSCTest.java
URL: http://svn.apache.org/viewvc/cxf/trunk/systests/ws-security/src/test/java/org/apache/cxf/systest/ws/wssc/StaxWSSCTest.java?rev=1533365&view=auto
==============================================================================
--- cxf/trunk/systests/ws-security/src/test/java/org/apache/cxf/systest/ws/wssc/StaxWSSCTest.java (added)
+++ cxf/trunk/systests/ws-security/src/test/java/org/apache/cxf/systest/ws/wssc/StaxWSSCTest.java Fri Oct 18 09:10:37 2013
@@ -0,0 +1,271 @@
+/**
+ * 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.
+ */
+
+package org.apache.cxf.systest.ws.wssc;
+
+import javax.xml.namespace.QName;
+import javax.xml.ws.BindingProvider;
+
+import org.apache.cxf.Bus;
+import org.apache.cxf.BusFactory;
+import org.apache.cxf.bus.spring.SpringBusFactory;
+import org.apache.cxf.systest.ws.common.SecurityTestUtil;
+import org.apache.cxf.testutil.common.AbstractBusClientServerTestBase;
+import org.apache.cxf.ws.security.SecurityConstants;
+
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+/**
+ * SecureConversation tests.
+ *
+ * It tests both DOM + StAX clients against the StAX server
+ */
+public class StaxWSSCTest extends AbstractBusClientServerTestBase {
+ static final String PORT = allocatePort(StaxServer.class);
+
+
+ private static final String OUT = "CXF : ping";
+ private static wssec.wssc.PingService svc;
+ private static Bus bus;
+
+ @BeforeClass
+ public static void startServers() throws Exception {
+ assertTrue(
+ "Server failed to launch",
+ // run the server in the same process
+ // set this to false to fork
+ launchServer(StaxServer.class, true)
+ );
+
+ bus = new SpringBusFactory().createBus("org/apache/cxf/systest/ws/wssc/client.xml");
+ BusFactory.setDefaultBus(bus);
+ BusFactory.setThreadDefaultBus(bus);
+
+ svc = new wssec.wssc.PingService();
+ }
+
+ @org.junit.AfterClass
+ public static void cleanup() throws Exception {
+ SecurityTestUtil.cleanup();
+ bus.shutdown(true);
+ stopAllServers();
+ }
+ /*
+ @Test
+ public void testSecureConversationMutualCertificate10SignEncryptIPingService() throws Exception {
+ runTest(false, "SecureConversation_MutualCertificate10SignEncrypt_IPingService");
+ // TODO Hanging due to Derived Keys...
+ // runTest(true, "SecureConversation_MutualCertificate10SignEncrypt_IPingService");
+ }
+*/
+ @Test
+ public void testACIPingService() throws Exception {
+ runTest(false, "AC_IPingService");
+ runTest(true, "AC_IPingService");
+ }
+/*
+ @Test
+ public void testADCIPingService() throws Exception {
+ runTest(false, "ADC_IPingService");
+ // TODO Hanging due to Derived Keys...
+ // runTest(true, "ADC_IPingService");
+ }
+
+ @Test
+ public void testADCESIPingService() throws Exception {
+ runTest(false, "ADC-ES_IPingService");
+ // TODO Hanging due to Derived Keys...
+ // runTest(true, "ADC-ES_IPingService");
+ }
+*/
+ @Test
+ public void testAIPingService() throws Exception {
+ runTest(false, "_A_IPingService");
+ runTest(true, "_A_IPingService");
+ }
+/*
+ @Test
+ public void testADIPingService() throws Exception {
+ runTest(false, "_AD_IPingService");
+ // TODO Hanging due to Derived Keys...
+ // runTest(true, "_AD_IPingService");
+ }
+
+ @Test
+ public void testADESIPingService() throws Exception {
+ runTest(false, "_AD-ES_IPingService");
+ // TODO Hanging due to Derived Keys...
+ // runTest(true, "_AD-ES_IPingService");
+ }
+*/
+ @Test
+ public void testUXCIPingService() throws Exception {
+ runTest(false, "UXC_IPingService");
+ runTest(true, "UXC_IPingService");
+ }
+/*
+ @Test
+ public void testUXDCIPingService() throws Exception {
+ runTest(false, "UXDC_IPingService");
+ // TODO Hanging due to Derived Keys...
+ // runTest(true, "UXDC_IPingService");
+ }
+
+ @Test
+ public void testUXDCSEESIPingService() throws Exception {
+ runTest(false, "UXDC-SEES_IPingService");
+ // TODO Hanging due to Derived Keys...
+ // runTest(true, "UXDC-SEES_IPingService");
+ }
+*/
+ @Test
+ public void testUXIPingService() throws Exception {
+ runTest(false, "_UX_IPingService");
+ runTest(true, "_UX_IPingService");
+ }
+/*
+ @Test
+ public void testUXDIPingService() throws Exception {
+ runTest(false, "_UXD_IPingService");
+ // TODO Hanging due to Derived Keys...
+ // runTest(true, "_UXD_IPingService");
+ }
+
+ @Test
+ public void testUXDSEESIPingService() throws Exception {
+ runTest(false, "_UXD-SEES_IPingService");
+ // TODO Hanging due to Derived Keys...
+ // runTest(true, "_UXD-SEES_IPingService");
+ }
+*/
+ @Test
+ public void testXCIPingService() throws Exception {
+ runTest(false, "XC_IPingService");
+ // TODO Streaming endorsing not working runTest(true, "XC_IPingService");
+ }
+/*
+ @Test
+ public void testXDCIPingService() throws Exception {
+ runTest(false, "XDC_IPingService");
+ // TODO Hanging due to Derived Keys...
+ // runTest(true, "XDC_IPingService");
+ }
+
+ @Test
+ public void testXDCIPingService1() throws Exception {
+ runTest(false, "XDC_IPingService1");
+ // TODO Hanging due to Derived Keys...
+ // runTest(true, "XDC_IPingService1");
+ }
+
+ @Test
+ public void testXDCESIPingService() throws Exception {
+ runTest(false, "XDC-ES_IPingService");
+ // TODO Hanging due to Derived Keys...
+ // runTest(true, "XDC-ES_IPingService");
+ }
+
+ @Test
+ public void testXDCSEESIPingService() throws Exception {
+ runTest(false, "XDC-SEES_IPingService");
+ // TODO Hanging due to Derived Keys...
+ // runTest(true, "XDC-SEES_IPingService");
+ }
+*/
+ @Test
+ public void testXIPingService() throws Exception {
+ runTest(false, "_X_IPingService");
+ // TODO Streaming endorsing not working runTest(true, "_X_IPingService");
+ }
+
+ @Test
+ public void testX10IPingService() throws Exception {
+ runTest(false, "_X10_IPingService");
+ runTest(true, "_X10_IPingService");
+ }
+/*
+ @Test
+ public void testXDIPingService() throws Exception {
+ runTest(false, "_XD_IPingService");
+ // TODO Hanging due to Derived Keys...
+ // runTest(true, "_XD_IPingService");
+ }
+
+ @Test
+ public void testXDSEESIPingService() throws Exception {
+ runTest(false, "_XD-SEES_IPingService");
+ // TODO Hanging due to Derived Keys...
+ // runTest(true, "_XD-SEES_IPingService");
+ }
+
+ @Test
+ public void testXDESIPingService() throws Exception {
+ runTest(false, "_XD-ES_IPingService");
+ // TODO Hanging due to Derived Keys...
+ // runTest(true, "_XD-ES_IPingService");
+ }
+*/
+
+ private void runTest(boolean streaming, String ... argv) throws Exception {
+ for (String portPrefix : argv) {
+ final wssec.wssc.IPingService port =
+ svc.getPort(
+ new QName(
+ "http://WSSec/wssc",
+ portPrefix
+ ),
+ wssec.wssc.IPingService.class
+ );
+
+ ((BindingProvider)port).getRequestContext().put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY,
+ "http://localhost:" + PORT + "/" + portPrefix);
+ if (portPrefix.charAt(0) == '_') {
+ //MS would like the _ versions to send a cancel
+ ((BindingProvider)port).getRequestContext()
+ .put(SecurityConstants.STS_TOKEN_DO_CANCEL, Boolean.TRUE);
+ }
+
+ if (streaming) {
+ ((BindingProvider)port).getRequestContext().put(
+ SecurityConstants.ENABLE_STREAMING_SECURITY, "true"
+ );
+ ((BindingProvider)port).getResponseContext().put(
+ SecurityConstants.ENABLE_STREAMING_SECURITY, "true"
+ );
+ }
+
+ wssec.wssc.PingRequest params = new wssec.wssc.PingRequest();
+ org.xmlsoap.ping.Ping ping = new org.xmlsoap.ping.Ping();
+ ping.setOrigin("CXF");
+ ping.setScenario("Scenario5");
+ ping.setText("ping");
+ params.setPing(ping);
+ try {
+ wssec.wssc.PingResponse output = port.ping(params);
+ assertEquals(OUT, output.getPingResponse().getText());
+ } catch (Exception ex) {
+ throw new Exception("Error doing " + portPrefix, ex);
+ }
+ ((java.io.Closeable)port).close();
+ }
+ }
+
+
+}