[jbossws-commits] JBossWS SVN: r16155 - projects/interop/cxf/wsse-webapp/src/main/java/org/jboss/ws/cxf/interop/wsse.

jbossws-commits at lists.jboss.org jbossws-commits at lists.jboss.org
Wed Apr 11 11:03:42 EDT 2012


Author: alessio.soldano at 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";
+   }
 }



More information about the jbossws-commits mailing list