You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by dk...@apache.org on 2009/03/06 18:43:17 UTC
svn commit: r751000 - in /cxf/sandbox/interopfest/wssec10/src/main:
java/interop/client/ java/interop/server/ resources/etc/
Author: dkulp
Date: Fri Mar 6 17:43:17 2009
New Revision: 751000
URL: http://svn.apache.org/viewvc?rev=751000&view=rev
Log:
[CXF-2090] Patch from Eamonn Dwyer applied to get full roundtrips for wssec10
Added:
cxf/sandbox/interopfest/wssec10/src/main/java/interop/server/KeystorePasswordCallback.java (with props)
cxf/sandbox/interopfest/wssec10/src/main/java/interop/server/MutualCertificate10SignEncrypt.java (with props)
Modified:
cxf/sandbox/interopfest/wssec10/src/main/java/interop/client/Client.java
cxf/sandbox/interopfest/wssec10/src/main/java/interop/client/UTPasswordCallback.java
cxf/sandbox/interopfest/wssec10/src/main/java/interop/server/MutualCertificate10SignEncryptRsa15TripleDes.java
cxf/sandbox/interopfest/wssec10/src/main/java/interop/server/Server.java
cxf/sandbox/interopfest/wssec10/src/main/java/interop/server/UserNameOverTransport.java
cxf/sandbox/interopfest/wssec10/src/main/resources/etc/client.xml
cxf/sandbox/interopfest/wssec10/src/main/resources/etc/server.xml
Modified: cxf/sandbox/interopfest/wssec10/src/main/java/interop/client/Client.java
URL: http://svn.apache.org/viewvc/cxf/sandbox/interopfest/wssec10/src/main/java/interop/client/Client.java?rev=751000&r1=750999&r2=751000&view=diff
==============================================================================
--- cxf/sandbox/interopfest/wssec10/src/main/java/interop/client/Client.java (original)
+++ cxf/sandbox/interopfest/wssec10/src/main/java/interop/client/Client.java Fri Mar 6 17:43:17 2009
@@ -23,6 +23,8 @@
package interop.client;
+import java.net.MalformedURLException;
+import java.net.URL;
import java.util.ArrayList;
import java.util.List;
@@ -31,8 +33,8 @@
import org.apache.cxf.bus.spring.SpringBusFactory;
-import interopbaseaddress.interop.PingService10;
import interopbaseaddress.interop.IPingService;
+import interopbaseaddress.interop.PingService10;
public final class Client {
@@ -60,9 +62,17 @@
new SpringBusFactory().createBus("etc/client.xml");
List<String> results = new ArrayList<String>();
+ URL wsdlLocation = null;
for (String portPrefix : argv) {
try {
- final PingService10 svc = new PingService10();
+ PingService10 svc = null;
+ boolean isLocal = false;
+ if (isLocal) {
+ wsdlLocation = getWsdlLocation(portPrefix);
+ svc = new PingService10(wsdlLocation);
+ } else {
+ svc = new PingService10();
+ }
final IPingService port =
svc.getPort(
new QName(
@@ -91,11 +101,27 @@
}
} catch (Throwable t) {
results.add("Exception: " + t);
+ t.printStackTrace();
}
}
for (int x = 0; x < argv.length; x++) {
System.out.println(argv[x] + ": " + results.get(x));
}
}
+
+ private static URL getWsdlLocation(String portPrefix) {
+ try {
+ if ("UserNameOverTransport".equals(portPrefix)) {
+ return new URL("https://localhost:9001/" + portPrefix + "?wsdl");
+ } else if ("MutualCertificate10SignEncrypt".equals(portPrefix)) {
+ return new URL("http://localhost:9002/" + portPrefix + "?wsdl");
+ } else if ("MutualCertificate10SignEncryptRsa15TripleDes".equals(portPrefix)) {
+ return new URL("http://localhost:9000/" + portPrefix + "?wsdl");
+ }
+ } catch (MalformedURLException mue) {
+ return null;
+ }
+ return null;
+ }
}
Modified: cxf/sandbox/interopfest/wssec10/src/main/java/interop/client/UTPasswordCallback.java
URL: http://svn.apache.org/viewvc/cxf/sandbox/interopfest/wssec10/src/main/java/interop/client/UTPasswordCallback.java?rev=751000&r1=750999&r2=751000&view=diff
==============================================================================
--- cxf/sandbox/interopfest/wssec10/src/main/java/interop/client/UTPasswordCallback.java (original)
+++ cxf/sandbox/interopfest/wssec10/src/main/java/interop/client/UTPasswordCallback.java Fri Mar 6 17:43:17 2009
@@ -26,6 +26,8 @@
public UTPasswordCallback() {
passwords.put("Alice", "ecilA");
passwords.put("Frank", "invalid-password");
+ //for MS clients
+ passwords.put("abcd", "dcba");
}
/**
Added: cxf/sandbox/interopfest/wssec10/src/main/java/interop/server/KeystorePasswordCallback.java
URL: http://svn.apache.org/viewvc/cxf/sandbox/interopfest/wssec10/src/main/java/interop/server/KeystorePasswordCallback.java?rev=751000&view=auto
==============================================================================
--- cxf/sandbox/interopfest/wssec10/src/main/java/interop/server/KeystorePasswordCallback.java (added)
+++ cxf/sandbox/interopfest/wssec10/src/main/java/interop/server/KeystorePasswordCallback.java Fri Mar 6 17:43:17 2009
@@ -0,0 +1,63 @@
+/**
+ * Copyright (c) 1993-2006 IONA Technologies PLC.
+ * All Rights Reserved.
+ */
+package interop.server;
+
+import java.io.IOException;
+import java.util.HashMap;
+import java.util.Map;
+
+import javax.security.auth.callback.Callback;
+import javax.security.auth.callback.CallbackHandler;
+import javax.security.auth.callback.UnsupportedCallbackException;
+
+import org.apache.ws.security.WSPasswordCallback;
+
+/**
+ */
+
+public class KeystorePasswordCallback implements CallbackHandler {
+ private Map<String, String> passwords =
+ new HashMap<String, String>();
+
+ public KeystorePasswordCallback() {
+ passwords.put("Alice", "abcd!1234");
+ passwords.put("alice", "abcd!1234");
+ passwords.put("Bob", "abcd!1234");
+ passwords.put("bob", "abcd!1234");
+ passwords.put("abcd", "dcba");
+ passwords.put("6e0e88f36ebb8744d470f62f604d03ea4ebe5094", "password");
+ }
+
+ /**
+ * It attempts to get the password from the private
+ * alias/passwords map.
+ */
+ public void handle(Callback[] callbacks) throws IOException, UnsupportedCallbackException {
+ for (int i = 0; i < callbacks.length; i++) {
+ WSPasswordCallback pc = (WSPasswordCallback)callbacks[i];
+ try {
+ Integer.parseInt(pc.getIdentifier());
+ //Its an alias generated for a pfx file,
+ //this seems to be the way sun seem to load
+ //.pfc files into keystores, assigning an int value
+ //as the key aliases,
+ //The above is an issue when doing encrypt or signing only.
+ //Perhaps using a more suitable keystore format like .jks would be better
+ pc.setPassword("password");
+ return;
+ } catch (NumberFormatException nfe) {
+ //not a pfx alias, carry on to next
+ }
+
+ String pass = passwords.get(pc.getIdentifier());
+ if (pass != null) {
+ pc.setPassword(pass);
+ return;
+ } else {
+ pc.setPassword("password");
+ }
+ }
+ }
+}
Propchange: cxf/sandbox/interopfest/wssec10/src/main/java/interop/server/KeystorePasswordCallback.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: cxf/sandbox/interopfest/wssec10/src/main/java/interop/server/KeystorePasswordCallback.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Added: cxf/sandbox/interopfest/wssec10/src/main/java/interop/server/MutualCertificate10SignEncrypt.java
URL: http://svn.apache.org/viewvc/cxf/sandbox/interopfest/wssec10/src/main/java/interop/server/MutualCertificate10SignEncrypt.java?rev=751000&view=auto
==============================================================================
--- cxf/sandbox/interopfest/wssec10/src/main/java/interop/server/MutualCertificate10SignEncrypt.java (added)
+++ cxf/sandbox/interopfest/wssec10/src/main/java/interop/server/MutualCertificate10SignEncrypt.java Fri Mar 6 17:43:17 2009
@@ -0,0 +1,16 @@
+/**
+ * Copyright (c) 1993-2007 IONA Technologies PLC.
+ * All Rights Reserved.
+ */
+package interop.server;
+
+@javax.jws.WebService(
+ targetNamespace = "http://InteropBaseAddress/interop",
+ serviceName = "PingService10",
+ portName = "MutualCertificate10SignEncrypt_IPingService",
+ endpointInterface = "interopbaseaddress.interop.IPingService",
+ wsdlLocation = "target/wsdl2/WsSecurity10.wsdl"
+)
+public class MutualCertificate10SignEncrypt extends PingServiceBase {
+ // complete
+}
Propchange: cxf/sandbox/interopfest/wssec10/src/main/java/interop/server/MutualCertificate10SignEncrypt.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: cxf/sandbox/interopfest/wssec10/src/main/java/interop/server/MutualCertificate10SignEncrypt.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Modified: cxf/sandbox/interopfest/wssec10/src/main/java/interop/server/MutualCertificate10SignEncryptRsa15TripleDes.java
URL: http://svn.apache.org/viewvc/cxf/sandbox/interopfest/wssec10/src/main/java/interop/server/MutualCertificate10SignEncryptRsa15TripleDes.java?rev=751000&r1=750999&r2=751000&view=diff
==============================================================================
--- cxf/sandbox/interopfest/wssec10/src/main/java/interop/server/MutualCertificate10SignEncryptRsa15TripleDes.java (original)
+++ cxf/sandbox/interopfest/wssec10/src/main/java/interop/server/MutualCertificate10SignEncryptRsa15TripleDes.java Fri Mar 6 17:43:17 2009
@@ -8,7 +8,8 @@
targetNamespace = "http://InteropBaseAddress/interop",
serviceName = "PingService10",
portName = "MutualCertificate10SignEncryptRsa15TripleDes_IPingService",
- endpointInterface = "interopbaseaddress.interop.IPingService"
+ endpointInterface = "interopbaseaddress.interop.IPingService",
+ wsdlLocation = "target/wsdl2/WsSecurity10.wsdl"
)
public class MutualCertificate10SignEncryptRsa15TripleDes extends PingServiceBase {
// complete
Modified: cxf/sandbox/interopfest/wssec10/src/main/java/interop/server/Server.java
URL: http://svn.apache.org/viewvc/cxf/sandbox/interopfest/wssec10/src/main/java/interop/server/Server.java?rev=751000&r1=750999&r2=751000&view=diff
==============================================================================
--- cxf/sandbox/interopfest/wssec10/src/main/java/interop/server/Server.java (original)
+++ cxf/sandbox/interopfest/wssec10/src/main/java/interop/server/Server.java Fri Mar 6 17:43:17 2009
@@ -30,22 +30,7 @@
public class Server {
protected Server() throws Exception {
- new SpringBusFactory().createBus("server.xml");
-
- //
- // Scenario 3.1
- //
- Endpoint.publish(
- "https://localhost:9001/UserNameOverTransport",
- new UserNameOverTransport()
- );
- //
- // Scenario 3.4
- //
- Endpoint.publish(
- "http://localhost:9000/MutualCertificate10SignEncryptRsa15TripleDes",
- new MutualCertificate10SignEncryptRsa15TripleDes()
- );
+ new SpringBusFactory().createBus("etc/server.xml");
}
public static void main(String args[]) throws Exception {
@@ -57,3 +42,4 @@
System.exit(0);
}
}
+
Modified: cxf/sandbox/interopfest/wssec10/src/main/java/interop/server/UserNameOverTransport.java
URL: http://svn.apache.org/viewvc/cxf/sandbox/interopfest/wssec10/src/main/java/interop/server/UserNameOverTransport.java?rev=751000&r1=750999&r2=751000&view=diff
==============================================================================
--- cxf/sandbox/interopfest/wssec10/src/main/java/interop/server/UserNameOverTransport.java (original)
+++ cxf/sandbox/interopfest/wssec10/src/main/java/interop/server/UserNameOverTransport.java Fri Mar 6 17:43:17 2009
@@ -8,8 +8,10 @@
targetNamespace = "http://InteropBaseAddress/interop",
serviceName = "PingService10",
portName = "UserNameOverTransportLocal_IPingService",
- endpointInterface = "interopbaseaddress.interop.IPingService"
+ endpointInterface = "interopbaseaddress.interop.IPingService",
+ wsdlLocation = "target/wsdl2/WsSecurity10.wsdl"
)
public class UserNameOverTransport extends PingServiceBase {
// complete
}
+
\ No newline at end of file
Modified: cxf/sandbox/interopfest/wssec10/src/main/resources/etc/client.xml
URL: http://svn.apache.org/viewvc/cxf/sandbox/interopfest/wssec10/src/main/resources/etc/client.xml?rev=751000&r1=750999&r2=751000&view=diff
==============================================================================
--- cxf/sandbox/interopfest/wssec10/src/main/resources/etc/client.xml (original)
+++ cxf/sandbox/interopfest/wssec10/src/main/resources/etc/client.xml Fri Mar 6 17:43:17 2009
@@ -24,6 +24,8 @@
<cxf:logging/>
</cxf:features>
</cxf:bus>
+
+
<!-- -->
<!-- Scenario 3.1 -->
<!-- -->
@@ -33,14 +35,7 @@
<entry key="ws-security.callback-handler" value="interop.client.UTPasswordCallback"/>
</jaxws:properties>
</jaxws:client>
- <!-- for call to local endpoint -->
- <jaxws:client name="{http://InteropBaseAddress/interop}UserNameOverTransportLocal_IPingService" createdFromAPI="true">
- <jaxws:properties>
- <entry key="ws-security.username" value="Alice"/>
- <entry key="ws-security.callback-handler" value="interop.client.UTPasswordCallback"/>
- </jaxws:properties>
- </jaxws:client>
- <http:conduit name="https://131.107.72.15/Security_WsSecurity_Service_Indigo/WsSecurity10.svc/UserNameOverTransport.*">
+ <http:conduit name="https://.*/UserNameOverTransport.*">
<http:tlsClientParameters disableCNCheck="true">
<sec:keyManagers keyPassword="password">
<sec:keyStore type="pkcs12" password="password" resource="certs/alice.pfx"/>
@@ -49,20 +44,7 @@
<sec:keyStore type="pkcs12" password="password" resource="certs/bob.pfx"/>
</sec:trustManagers>
</http:tlsClientParameters>
- </http:conduit>
- <!-- for call to local endpoint -->
- <http:conduit name="{http://InteropBaseAddress/interop}UserNameOverTransportLocal_IPingService.http-conduit">
- <http:tlsClientParameters>
- <sec:keyManagers keyPassword="password">
- <sec:keyStore type="pkcs12" password="password" resource="certs/alice.pfx"/>
- </sec:keyManagers>
- <sec:trustManagers>
- <sec:keyStore type="pkcs12" password="password" resource="certs/alice.pfx"/>
- <!--sec:keyStore type="jks" resource="certs/certs.jks"/-->
- </sec:trustManagers>
- </http:tlsClientParameters>
- </http:conduit>
-
+ </http:conduit>
<!-- -->
<!-- Scenario 3.3 -->
@@ -75,15 +57,7 @@
<entry key="ws-security.encryption.properties" value="etc/bob.properties"/>
</jaxws:properties>
</jaxws:client>
- <!-- for call to local endpoint -->
- <jaxws:client name="{http://InteropBaseAddress/interop}MutualCertificate10SignEncrypt_IPingService" createdFromAPI="true">
- <jaxws:properties>
- <entry key="ws-security.username" value="Alice"/>
- <entry key="ws-security.callback-handler" value="interop.client.KeystorePasswordCallback"/>
- <entry key="ws-security.signature.properties" value="etc/alice.properties"/>
- <entry key="ws-security.encryption.properties" value="etc/bob.properties"/>
- </jaxws:properties>
- </jaxws:client>
+
<!-- -->
<!-- Scenario 3.4 -->
@@ -96,14 +70,5 @@
<entry key="ws-security.encryption.properties" value="etc/bob.properties"/>
</jaxws:properties>
</jaxws:client>
- <!-- for call to local endpoint -->
- <jaxws:client name="{http://InteropBaseAddress/interop}MutualCertificate10SignEncryptRsa15TripleDesLocal_IPingService" createdFromAPI="true">
- <jaxws:properties>
- <entry key="ws-security.username" value="Alice"/>
- <entry key="ws-security.callback-handler" value="interop.client.KeystorePasswordCallback"/>
- <entry key="ws-security.signature.properties" value="etc/alice.properties"/>
- <entry key="ws-security.encryption.properties" value="etc/bob.properties"/>
- </jaxws:properties>
- </jaxws:client>
</beans>
Modified: cxf/sandbox/interopfest/wssec10/src/main/resources/etc/server.xml
URL: http://svn.apache.org/viewvc/cxf/sandbox/interopfest/wssec10/src/main/resources/etc/server.xml?rev=751000&r1=750999&r2=751000&view=diff
==============================================================================
--- cxf/sandbox/interopfest/wssec10/src/main/resources/etc/server.xml (original)
+++ cxf/sandbox/interopfest/wssec10/src/main/resources/etc/server.xml Fri Mar 6 17:43:17 2009
@@ -10,28 +10,41 @@
xmlns:httpj="http://cxf.apache.org/transports/http-jetty/configuration"
xmlns:sec="http://cxf.apache.org/configuration/security"
xmlns:security="http://schemas.iona.com/soa/security-config"
+ xmlns:interop="http://InteropBaseAddress/interop"
+ xmlns:cxf="http://cxf.apache.org/core"
+ xmlns:p="http://cxf.apache.org/policy"
xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd
+ http://cxf.apache.org/core http://cxf.apache.org/schemas/core.xsd
+ http://cxf.apache.org/policy http://cxf.apache.org/schemas/policy.xsd
http://cxf.apache.org/transports/http/configuration http://cxf.apache.org/schemas/configuration/http-conf.xsd
http://cxf.apache.org/transports/http-jetty/configuration http://cxf.apache.org/schemas/configuration/http-jetty.xsd
http://cxf.apache.org/configuration/security http://cxf.apache.org/schemas/configuration/security.xsd
http://schemas.iona.com/soa/security-config http://schemas.iona.com/soa/security-config.xsd
">
+
+ <cxf:bus>
+ <cxf:features>
+ <p:policies/>
+ <cxf:logging/>
+ </cxf:features>
+ </cxf:bus>
<!-- -->
<!-- Any services listening on port 9001 must use the following -->
<!-- Transport Layer Security (TLS) settings -->
<!-- -->
- <httpj:engine-factory bus="cxf">
+ <httpj:engine-factory id="tls-settings">
<httpj:engine port="9001">
<httpj:tlsServerParameters>
<sec:keyManagers keyPassword="password">
- <sec:keyStore type="pkcs12" password="password" file="keys/alice.pfx"/>
+ <sec:keyStore type="pkcs12" password="password" resource="certs/bob.pfx"/>
</sec:keyManagers>
<sec:trustManagers>
- <sec:keyStore type="jks" password="password" file="keys/certs.jks"/>
- </sec:trustManagers>
+ <sec:keyStore type="pkcs12" password="password" resource="certs/alice.pfx"/>
+ </sec:trustManagers>
+
<!--
<sec:cipherSuitesFilter>
<sec:include>.*_EXPORT_.*</sec:include>
@@ -45,60 +58,66 @@
</httpj:tlsServerParameters>
</httpj:engine>
</httpj:engine-factory>
+
+ <!-- -->
+ <!-- Scenario 3.1 -->
+ <!-- -->
+ <jaxws:endpoint
+ id="UserNameOverTransport"
+ address="https://localhost:9001/UserNameOverTransport"
+ serviceName="interop:PingService10"
+ endpointName="interop:UserNameOverTransport_IPingService"
+ implementor="interop.server.UserNameOverTransport"
+ depends-on="tls-settings">
+
+ <jaxws:properties>
+ <entry key="ws-security.username" value="Alice"/>
+ <entry key="ws-security.callback-handler" value="interop.client.UTPasswordCallback"/>
+ </jaxws:properties>
+
+ </jaxws:endpoint>
+
+
+ <!-- -->
+ <!-- Scenario 3.3 -->
+ <!-- -->
+ <jaxws:endpoint
+ name="{http://InteropBaseAddress/interop}MutualCertificate10SignEncrypt_IPingService"
+ id="MutualCertificate10SignEncrypt"
+ address="http://localhost:9002/MutualCertificate10SignEncrypt"
+ serviceName="interop:PingService10"
+ endpointName="interop:MutualCertificate10SignEncrypt_IPingService"
+ implementor="interop.server.MutualCertificate10SignEncrypt">
+
+ <jaxws:properties>
+ <entry key="ws-security.username" value="Alice"/>
+ <entry key="ws-security.signature.properties" value="etc/bob.properties"/>
+ <entry key="ws-security.encryption.properties" value="etc/alice.properties"/>
+ <entry key="ws-security.callback-handler" value="interop.server.KeystorePasswordCallback"/>
+ </jaxws:properties>
+
+ </jaxws:endpoint>
+
<!-- -->
<!-- Scenario 3.4 -->
<!-- -->
- <jaxws:endpoint name="{http://InteropBaseAddress/interop}MutualCertificate10SignEncryptRsa15TripleDes_IPingService" createdFromAPI="true">
- <jaxws:features>
- <bean class="org.apache.cxf.feature.LoggingFeature"/>
- </jaxws:features>
- <jaxws:outInterceptors>
- <bean class="org.apache.cxf.binding.soap.saaj.SAAJOutInterceptor"/>
- <ref bean="MutualCertificate10SignEncryptRsa153Des_Response"/>
- </jaxws:outInterceptors>
- <jaxws:inInterceptors>
- <ref bean="MutualCertificate10SignEncryptRsa153Des_Request"/>
- <bean class="org.apache.cxf.binding.soap.saaj.SAAJInInterceptor"/>
- </jaxws:inInterceptors>
- </jaxws:endpoint>
- <bean
- class="org.apache.cxf.ws.security.wss4j.WSS4JOutInterceptor"
- id="MutualCertificate10SignEncryptRsa153Des_Response">
- <constructor-arg>
- <map>
- <entry key="action" value="Timestamp Signature Encrypt"/>
- <entry key="user" value="Bob"/>
- <entry key="signaturePropFile" value="bob.properties"/>
- <entry key="encryptionPropFile" value="alice.properties"/>
- <entry key="encryptionUser" value="Alice"/>
- <entry key="signatureKeyIdentifier" value="DirectReference"/>
- <entry key="passwordCallbackClass" value="demo.hw.client.KeystorePasswordCallback"/>
- <entry key="signatureParts" value="{Element}{http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd}Timestamp;{Element}{http://schemas.xmlsoap.org/soap/envelope/}Body"/>
- <!-- -->
- <!-- Recommendation: signatures should be encrypted -->
- <!-- -->
- <entry key="encryptionParts" value="{Element}{http://www.w3.org/2000/09/xmldsig#}Signature;{Content}{http://schemas.xmlsoap.org/soap/envelope/}Body"/>
- <!-- <entry key="encryptionKeyTransportAlgorithm" value="RSA15"/> -->
- <entry key="encryptionSymAlgorithm" value="http://www.w3.org/2001/04/xmlenc#tripledes-cbc"/>
- </map>
- </constructor-arg>
- </bean>
- <bean
- class="org.apache.cxf.ws.security.wss4j.WSS4JInInterceptor"
- id="MutualCertificate10SignEncryptRsa153Des_Request">
- <constructor-arg>
- <map>
- <!-- Use this action order for local clients -->
- <entry key="action" value="Timestamp Signature Encrypt"/>
- <!-- Use this action spec for WCF clients
- <entry key="action" value="Signature Encrypt Timestamp"/>
- -->
- <entry key="signaturePropFile" value="alice.properties"/>
- <entry key="decryptionPropFile" value="bob.properties"/>
- <entry key="passwordCallbackClass" value="demo.hw.client.KeystorePasswordCallback"/>
- </map>
- </constructor-arg>
- </bean>
+ <jaxws:endpoint
+ name="{http://InteropBaseAddress/interop}MutualCertificate10SignEncryptRsa15TripleDes_IPingService"
+ id="MutualCertificate10SignEncryptRsa15TripleDes"
+ address="http://localhost:9000/MutualCertificate10SignEncryptRsa15TripleDes"
+ serviceName="interop:PingService10"
+ endpointName="interop:MutualCertificate10SignEncryptRsa15TripleDes_IPingService"
+ implementor="interop.server.MutualCertificate10SignEncryptRsa15TripleDes">
+
+ <jaxws:properties>
+ <entry key="ws-security.username" value="Alice"/>
+ <entry key="ws-security.signature.properties" value="etc/bob.properties"/>
+ <entry key="ws-security.encryption.properties" value="etc/alice.properties"/>
+ <entry key="ws-security.callback-handler" value="interop.server.KeystorePasswordCallback"/>
+ </jaxws:properties>
+
+ </jaxws:endpoint>
+
</beans>