Author: alessio.soldano(a)jboss.com
Date: 2012-04-11 11:03:42 -0400 (Wed, 11 Apr 2012)
New Revision: 16155
Added:
projects/interop/cxf/wsse-webapp/src/main/java/org/jboss/ws/cxf/interop/wsse/AbstractClient.java
Modified:
projects/interop/cxf/wsse-webapp/src/main/java/org/jboss/ws/cxf/interop/wsse/SignEncryptClient.java
projects/interop/cxf/wsse-webapp/src/main/java/org/jboss/ws/cxf/interop/wsse/SignEncryptGCMClient.java
projects/interop/cxf/wsse-webapp/src/main/java/org/jboss/ws/cxf/interop/wsse/UsernameTokenClient.java
Log:
Use called url for getting default host (required for properly working on OpenShift)
Added:
projects/interop/cxf/wsse-webapp/src/main/java/org/jboss/ws/cxf/interop/wsse/AbstractClient.java
===================================================================
---
projects/interop/cxf/wsse-webapp/src/main/java/org/jboss/ws/cxf/interop/wsse/AbstractClient.java
(rev 0)
+++
projects/interop/cxf/wsse-webapp/src/main/java/org/jboss/ws/cxf/interop/wsse/AbstractClient.java 2012-04-11
15:03:42 UTC (rev 16155)
@@ -0,0 +1,66 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2011, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file 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.ws.cxf.interop.wsse;
+
+import java.net.URL;
+
+import javax.faces.context.FacesContext;
+import javax.servlet.http.HttpServletRequest;
+
+public abstract class AbstractClient
+{
+ private String localTargetEndpointAddress;
+ private String targetEndpointAddress;
+
+ protected abstract String getTargetEndpointPath();
+
+ public String getWsdl() {
+ return getLocalTargetEndpointAddress() + "?wsdl";
+ }
+
+ public String getTargetEndpointAddress()
+ {
+ if (targetEndpointAddress == null) {
+ targetEndpointAddress = getLocalTargetEndpointAddress();
+ }
+ return targetEndpointAddress;
+ }
+
+ public void setTargetEndpointAddress(String targetEndpointAddress)
+ {
+ this.targetEndpointAddress = targetEndpointAddress;
+ }
+
+ private String getLocalTargetEndpointAddress() {
+ if (localTargetEndpointAddress == null) {
+ try {
+ HttpServletRequest req =
(HttpServletRequest)FacesContext.getCurrentInstance().getExternalContext().getRequest();
+ URL reqUrl = new URL(req.getRequestURL().toString());
+ int port = reqUrl.getPort();
+ localTargetEndpointAddress = "http://" + reqUrl.getHost() + (port
> 0 ? ":" + port : "") + getTargetEndpointPath();
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+ return localTargetEndpointAddress;
+ }
+}
Modified:
projects/interop/cxf/wsse-webapp/src/main/java/org/jboss/ws/cxf/interop/wsse/SignEncryptClient.java
===================================================================
---
projects/interop/cxf/wsse-webapp/src/main/java/org/jboss/ws/cxf/interop/wsse/SignEncryptClient.java 2012-04-10
17:52:04 UTC (rev 16154)
+++
projects/interop/cxf/wsse-webapp/src/main/java/org/jboss/ws/cxf/interop/wsse/SignEncryptClient.java 2012-04-11
15:03:42 UTC (rev 16155)
@@ -40,18 +40,12 @@
@Named
@SessionScoped
-public class SignEncryptClient implements Serializable
+public class SignEncryptClient extends AbstractClient implements Serializable
{
private static final long serialVersionUID = 4816529347065394475L;
- private static final String DEFAULT_EP_ADDR =
"http://localhost:8080/jaxws-samples-wsse-policy-sign-encrypt";
-
- private String targetEndpointAddress = DEFAULT_EP_ADDR;
+
private String expectedResponse = "Secure Hello World!";
- public String getWsdl() {
- return DEFAULT_EP_ADDR + "?wsdl";
- }
-
public String getExpectedResponse()
{
return expectedResponse;
@@ -62,16 +56,6 @@
this.expectedResponse = expectedResponse;
}
- public String getTargetEndpointAddress()
- {
- return targetEndpointAddress;
- }
-
- public void setTargetEndpointAddress(String targetEndpointAddress)
- {
- this.targetEndpointAddress = targetEndpointAddress;
- }
-
public void runTest() {
String result = null;
try {
@@ -114,7 +98,7 @@
URL wsdlURL = new URL(getWsdl());
Service service = Service.create(wsdlURL, serviceName);
ServiceIface proxy = (ServiceIface)service.getPort(ServiceIface.class);
-
((BindingProvider)proxy).getRequestContext().put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY,
targetEndpointAddress);
+
((BindingProvider)proxy).getRequestContext().put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY,
getTargetEndpointAddress());
setupWsse(proxy);
return expectedResponse.equals(proxy.sayHello());
}
@@ -132,4 +116,10 @@
((BindingProvider)proxy).getRequestContext().put(SecurityConstants.SIGNATURE_USERNAME,
"alice");
((BindingProvider)proxy).getRequestContext().put(SecurityConstants.ENCRYPT_USERNAME,
"bob");
}
+
+ @Override
+ protected String getTargetEndpointPath()
+ {
+ return "/jaxws-samples-wsse-policy-sign-encrypt";
+ }
}
Modified:
projects/interop/cxf/wsse-webapp/src/main/java/org/jboss/ws/cxf/interop/wsse/SignEncryptGCMClient.java
===================================================================
---
projects/interop/cxf/wsse-webapp/src/main/java/org/jboss/ws/cxf/interop/wsse/SignEncryptGCMClient.java 2012-04-10
17:52:04 UTC (rev 16154)
+++
projects/interop/cxf/wsse-webapp/src/main/java/org/jboss/ws/cxf/interop/wsse/SignEncryptGCMClient.java 2012-04-11
15:03:42 UTC (rev 16155)
@@ -40,18 +40,11 @@
@Named
@SessionScoped
-public class SignEncryptGCMClient implements Serializable
+public class SignEncryptGCMClient extends AbstractClient implements Serializable
{
private static final long serialVersionUID = 3816529347065394474L;
- private static final String DEFAULT_EP_ADDR =
"http://localhost:8080/jaxws-samples-wsse-policy-sign-encrypt-gcm";
-
- private String targetEndpointAddress = DEFAULT_EP_ADDR;
private String expectedResponse = "Secure Hello World!";
- public String getWsdl() {
- return DEFAULT_EP_ADDR + "?wsdl";
- }
-
public String getExpectedResponse()
{
return expectedResponse;
@@ -62,16 +55,6 @@
this.expectedResponse = expectedResponse;
}
- public String getTargetEndpointAddress()
- {
- return targetEndpointAddress;
- }
-
- public void setTargetEndpointAddress(String targetEndpointAddress)
- {
- this.targetEndpointAddress = targetEndpointAddress;
- }
-
public void runTest() {
String result = null;
try {
@@ -114,7 +97,7 @@
URL wsdlURL = new URL(getWsdl());
Service service = Service.create(wsdlURL, serviceName);
ServiceIface proxy = (ServiceIface)service.getPort(ServiceIface.class);
-
((BindingProvider)proxy).getRequestContext().put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY,
targetEndpointAddress);
+
((BindingProvider)proxy).getRequestContext().put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY,
getTargetEndpointAddress());
setupWsse(proxy);
return expectedResponse.equals(proxy.sayHello());
}
@@ -132,4 +115,10 @@
((BindingProvider)proxy).getRequestContext().put(SecurityConstants.SIGNATURE_USERNAME,
"alice");
((BindingProvider)proxy).getRequestContext().put(SecurityConstants.ENCRYPT_USERNAME,
"bob");
}
+
+ @Override
+ protected String getTargetEndpointPath()
+ {
+ return "/jaxws-samples-wsse-policy-sign-encrypt-gcm";
+ }
}
Modified:
projects/interop/cxf/wsse-webapp/src/main/java/org/jboss/ws/cxf/interop/wsse/UsernameTokenClient.java
===================================================================
---
projects/interop/cxf/wsse-webapp/src/main/java/org/jboss/ws/cxf/interop/wsse/UsernameTokenClient.java 2012-04-10
17:52:04 UTC (rev 16154)
+++
projects/interop/cxf/wsse-webapp/src/main/java/org/jboss/ws/cxf/interop/wsse/UsernameTokenClient.java 2012-04-11
15:03:42 UTC (rev 16155)
@@ -40,18 +40,12 @@
@Named
@SessionScoped
-public class UsernameTokenClient implements Serializable
+public class UsernameTokenClient extends AbstractClient implements Serializable
{
private static final long serialVersionUID = 5816529347065394476L;
- private static final String DEFAULT_EP_ADDR =
"http://localhost:8080/jaxws-samples-wsse-policy-username-unsecure-transport";
- private String targetEndpointAddress = DEFAULT_EP_ADDR;
private String expectedResponse = "Secure Hello World!";
- public String getWsdl() {
- return DEFAULT_EP_ADDR + "?wsdl";
- }
-
public String getExpectedResponse()
{
return expectedResponse;
@@ -62,16 +56,6 @@
this.expectedResponse = expectedResponse;
}
- public String getTargetEndpointAddress()
- {
- return targetEndpointAddress;
- }
-
- public void setTargetEndpointAddress(String targetEndpointAddress)
- {
- this.targetEndpointAddress = targetEndpointAddress;
- }
-
public void runTest() {
String result = null;
try {
@@ -114,7 +98,7 @@
URL wsdlURL = new URL(getWsdl());
Service service = Service.create(wsdlURL, serviceName);
ServiceIface proxy = (ServiceIface)service.getPort(ServiceIface.class);
-
((BindingProvider)proxy).getRequestContext().put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY,
targetEndpointAddress);
+
((BindingProvider)proxy).getRequestContext().put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY,
getTargetEndpointAddress());
setupWsse(proxy, "kermit");
return expectedResponse.equals(proxy.sayHello());
}
@@ -129,4 +113,10 @@
((BindingProvider)proxy).getRequestContext().put(SecurityConstants.USERNAME,
username);
((BindingProvider)proxy).getRequestContext().put(SecurityConstants.CALLBACK_HANDLER,
"org.jboss.ws.cxf.interop.wsse.UsernamePasswordCallback");
}
+
+ @Override
+ protected String getTargetEndpointPath()
+ {
+ return "/jaxws-samples-wsse-policy-username-unsecure-transport";
+ }
}