[jbossws-commits] JBossWS SVN: r3724 - in branches/jbossws-2.0: jbossws-core/src/main/java/org/jboss/ws/core/server and 1 other directories.
jbossws-commits at lists.jboss.org
jbossws-commits at lists.jboss.org
Tue Jun 26 06:43:09 EDT 2007
Author: thomas.diesler at jboss.com
Date: 2007-06-26 06:43:09 -0400 (Tue, 26 Jun 2007)
New Revision: 3724
Modified:
branches/jbossws-2.0/integration/native/src/main/java/org/jboss/wsf/stack/jbws/RequestHandlerImpl.java
branches/jbossws-2.0/jbossws-core/src/main/java/org/jboss/ws/core/server/WSDLRequestHandler.java
branches/jbossws-2.0/jbossws-core/src/main/java/org/jboss/ws/metadata/builder/MetaDataBuilder.java
Log:
[JBWS-1609] Address in WSDL - Port value is -1
Modified: branches/jbossws-2.0/integration/native/src/main/java/org/jboss/wsf/stack/jbws/RequestHandlerImpl.java
===================================================================
--- branches/jbossws-2.0/integration/native/src/main/java/org/jboss/wsf/stack/jbws/RequestHandlerImpl.java 2007-06-26 07:55:31 UTC (rev 3723)
+++ branches/jbossws-2.0/integration/native/src/main/java/org/jboss/wsf/stack/jbws/RequestHandlerImpl.java 2007-06-26 10:43:09 UTC (rev 3724)
@@ -505,14 +505,15 @@
String resPath = (String)req.getParameter("resource");
URL reqURL = new URL(req.getRequestURL().toString());
- String wsdlHost = reqURL.getProtocol() + "://" + reqURL.getHost() + ":" + reqURL.getPort();
+ String wsdlHost = reqURL.getProtocol() + "://" + reqURL.getHost();
+ if (reqURL.getPort() != -1)
+ wsdlHost += ":" + reqURL.getPort();
ServerConfigFactory factory = ServerConfigFactory.getInstance();
ServerConfig config = factory.getServerConfig();
- if (config.getWebServiceHost().equals(ServerConfig.UNDEFINED_HOSTNAME) == false)
- {
+ if (!ServerConfig.UNDEFINED_HOSTNAME.equals(config.getWebServiceHost()))
wsdlHost = config.getWebServiceHost();
- }
+
log.debug("WSDL request, using host: " + wsdlHost);
WSDLRequestHandler wsdlRequestHandler = new WSDLRequestHandler(epMetaData);
Modified: branches/jbossws-2.0/jbossws-core/src/main/java/org/jboss/ws/core/server/WSDLRequestHandler.java
===================================================================
--- branches/jbossws-2.0/jbossws-core/src/main/java/org/jboss/ws/core/server/WSDLRequestHandler.java 2007-06-26 07:55:31 UTC (rev 3723)
+++ branches/jbossws-2.0/jbossws-core/src/main/java/org/jboss/ws/core/server/WSDLRequestHandler.java 2007-06-26 10:43:09 UTC (rev 3724)
@@ -30,6 +30,7 @@
import org.jboss.logging.Logger;
import org.jboss.ws.metadata.umdm.EndpointMetaData;
+import org.jboss.wsf.spi.management.ServerConfig;
import org.jboss.wsf.spi.utils.DOMUtils;
import org.w3c.dom.Attr;
import org.w3c.dom.Document;
@@ -71,12 +72,12 @@
public Document getDocumentForPath(URL reqURL, String wsdlHost, String resPath) throws IOException
{
Document wsdlDoc;
-
+
// The WSDLFilePublisher should set the location to an URL
URL wsdlLocation = epMetaData.getServiceMetaData().getWsdlLocation();
if (wsdlLocation == null)
throw new IllegalStateException("Cannot obtain wsdl location");
-
+
// get the root wsdl
if (resPath == null)
{
@@ -134,17 +135,17 @@
String reqPath = reqURL.getPath();
String completeHost = wsdlHost;
- if (! (wsdlHost.startsWith("http://") || wsdlHost.startsWith("https://")) )
+ if (!(wsdlHost.startsWith("http://") || wsdlHost.startsWith("https://")))
{
- String reqProtocol = reqURL.getProtocol();
- int reqPort = reqURL.getPort();
- String hostAndPort = wsdlHost + (reqPort > 0 ? ":" + reqPort : "");
- completeHost = reqProtocol + "://" + hostAndPort;
+ String reqProtocol = reqURL.getProtocol();
+ int reqPort = reqURL.getPort();
+ String hostAndPort = wsdlHost + (reqPort > 0 ? ":" + reqPort : "");
+ completeHost = reqProtocol + "://" + hostAndPort;
}
String newLocation = completeHost + reqPath + "?wsdl&resource=" + newResourcePath;
locationAttr.setNodeValue(newLocation);
-
+
log.trace("Mapping import from '" + orgLocation + "' to '" + newLocation + "'");
}
}
@@ -157,23 +158,26 @@
if (locationAttr != null)
{
String orgLocation = locationAttr.getNodeValue();
-
- URL locURL = new URL(orgLocation);
- String locProtocol = locURL.getProtocol();
- String locPath = locURL.getPath();
- if (reqURL.getProtocol().equals(locProtocol) && reqURL.getPath().equals(locPath))
+ URL orgURL = new URL(orgLocation);
+ String orgProtocol = orgURL.getProtocol();
+ String orgHost = orgURL.getHost();
+ int orgPort = orgURL.getPort();
+ String orgPath = orgURL.getPath();
+
+ if (ServerConfig.UNDEFINED_HOSTNAME.equals(orgHost))
{
- String completeHost = wsdlHost;
- if (! (completeHost.startsWith("http://") || completeHost.startsWith("https://")) )
- {
- int locPort = locURL.getPort();
- String hostAndPort = wsdlHost + (locPort > 0 ? ":" + locPort : "");
-
- completeHost = locProtocol + "://" + hostAndPort;
- }
-
- String newLocation = completeHost + locPath;
+ URL newURL = new URL(wsdlHost);
+ String newHost = newURL.getHost();
+ int newPort = newURL.getPort();
+
+ String newLocation = orgProtocol + "://" + newHost;
+ if (orgPort != -1)
+ newLocation += ":" + orgPort;
+ else if (newPort != -1)
+ newLocation += ":" + newPort;
+
+ newLocation += orgPath;
locationAttr.setNodeValue(newLocation);
log.trace("Mapping address from '" + orgLocation + "' to '" + newLocation + "'");
Modified: branches/jbossws-2.0/jbossws-core/src/main/java/org/jboss/ws/metadata/builder/MetaDataBuilder.java
===================================================================
--- branches/jbossws-2.0/jbossws-core/src/main/java/org/jboss/ws/metadata/builder/MetaDataBuilder.java 2007-06-26 07:55:31 UTC (rev 3723)
+++ branches/jbossws-2.0/jbossws-core/src/main/java/org/jboss/ws/metadata/builder/MetaDataBuilder.java 2007-06-26 10:43:09 UTC (rev 3724)
@@ -303,8 +303,7 @@
if (alwaysModify || uriScheme == null || orgAddress.indexOf("REPLACE_WITH_ACTUAL_URL") >= 0)
{
- if (log.isDebugEnabled())
- log.debug("Replace service endpoint address '" + orgAddress + "' with '" + serviceEndpointURL + "'");
+ log.debug("Replace service endpoint address '" + orgAddress + "' with '" + serviceEndpointURL + "'");
wsdlEndpoint.setAddress(serviceEndpointURL);
sepMetaData.setEndpointAddress(serviceEndpointURL);
@@ -314,8 +313,7 @@
}
else
{
- if (log.isDebugEnabled())
- log.debug("Don't replace service endpoint address '" + orgAddress + "'");
+ log.debug("Don't replace service endpoint address '" + orgAddress + "'");
try
{
sepMetaData.setEndpointAddress(new URL(orgAddress).toExternalForm());
More information about the jbossws-commits
mailing list