You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by rm...@apache.org on 2014/11/30 10:09:35 UTC

tomee git commit: TOMEE-1460 support multiple host for a soap service

Repository: tomee
Updated Branches:
  refs/heads/tomee-1.7.x 674942eb2 -> fb0a6a51d


TOMEE-1460 support multiple host for a soap service


Project: http://git-wip-us.apache.org/repos/asf/tomee/repo
Commit: http://git-wip-us.apache.org/repos/asf/tomee/commit/fb0a6a51
Tree: http://git-wip-us.apache.org/repos/asf/tomee/tree/fb0a6a51
Diff: http://git-wip-us.apache.org/repos/asf/tomee/diff/fb0a6a51

Branch: refs/heads/tomee-1.7.x
Commit: fb0a6a51d77ccd60786935aa86baf2a3da3f2119
Parents: 674942e
Author: Romain Manni-Bucau <rm...@apache.org>
Authored: Sun Nov 30 10:09:18 2014 +0100
Committer: Romain Manni-Bucau <rm...@apache.org>
Committed: Sun Nov 30 10:09:18 2014 +0100

----------------------------------------------------------------------
 .../src/main/java/org/apache/openejb/config/WsDeployer.java  | 6 +++---
 .../org/apache/openejb/server/webservices/WsService.java     | 8 ++++++--
 2 files changed, 9 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tomee/blob/fb0a6a51/container/openejb-core/src/main/java/org/apache/openejb/config/WsDeployer.java
----------------------------------------------------------------------
diff --git a/container/openejb-core/src/main/java/org/apache/openejb/config/WsDeployer.java b/container/openejb-core/src/main/java/org/apache/openejb/config/WsDeployer.java
index 6d1a4f6..e97eb23 100644
--- a/container/openejb-core/src/main/java/org/apache/openejb/config/WsDeployer.java
+++ b/container/openejb-core/src/main/java/org/apache/openejb/config/WsDeployer.java
@@ -187,12 +187,12 @@ public class WsDeployer implements DynamicDeployer {
                         webserviceDescription.getPortComponent().add(portComponent);
                     }
 
-                    // default portId == moduleId.servletName
+                    // default portId == host.moduleId.servletName
                     if (portComponent.getId() == null) {
-                        portComponent.setId(webModule.getModuleId() + "." + servlet.getServletName());
+                        portComponent.setId(webModule.getHost() + "." + webModule.getModuleId() + "." + servlet.getServletName());
                     }
                     if (webserviceDescription.getId() == null) {
-                        webserviceDescription.setId(webModule.getModuleId() + "." + servlet.getServletName());
+                        webserviceDescription.setId(webModule.getHost() + "." + webModule.getModuleId() + "." + servlet.getServletName());
                     }
 
                     // set port values from annotations if not already set

http://git-wip-us.apache.org/repos/asf/tomee/blob/fb0a6a51/server/openejb-webservices/src/main/java/org/apache/openejb/server/webservices/WsService.java
----------------------------------------------------------------------
diff --git a/server/openejb-webservices/src/main/java/org/apache/openejb/server/webservices/WsService.java b/server/openejb-webservices/src/main/java/org/apache/openejb/server/webservices/WsService.java
index c699a3d..ffec7fb 100644
--- a/server/openejb-webservices/src/main/java/org/apache/openejb/server/webservices/WsService.java
+++ b/server/openejb-webservices/src/main/java/org/apache/openejb/server/webservices/WsService.java
@@ -416,7 +416,7 @@ public abstract class WsService implements ServerService, SelfManaging {
                     }
 
                     // give servlet a reference to the webservice container
-                    final List<String> addresses = wsRegistry.setWsContainer(container, classLoader, webApp.contextRoot, virtualHost, servlet, realm, transport, auth);
+                    final List<String> addresses = wsRegistry.setWsContainer(container, classLoader, webApp.contextRoot, host(webApp), servlet, realm, transport, auth);
 
                     // one of the registered addresses to be the connonical address
                     final String address = HttpUtil.selectSingleAddress(addresses);
@@ -436,6 +436,10 @@ public abstract class WsService implements ServerService, SelfManaging {
         }
     }
 
+    private String host(final WebAppInfo webApp) {
+        return webApp.host == null ? virtualHost : webApp.host;
+    }
+
     public void undeploy(@Observes final AssemblerBeforeApplicationDestroyed event) {
         final AppInfo appInfo = event.getApp();
         if (deployedApplications.remove(appInfo) != null) {
@@ -509,7 +513,7 @@ public abstract class WsService implements ServerService, SelfManaging {
                     // clear servlet's reference to the webservice container
                     if (this.wsRegistry != null) {
                         try {
-                            this.wsRegistry.clearWsContainer(webApp.contextRoot, virtualHost, servlet);
+                            this.wsRegistry.clearWsContainer(webApp.contextRoot, host(webApp), servlet);
                         } catch (final IllegalArgumentException ignored) {
                             // no-op
                         }