[jbossws-commits] JBossWS SVN: r3659 - in branches/jbossws-2.0: integration/native/src/main/java/org/jboss/wsf/stack/jbws and 2 other directories.
jbossws-commits at lists.jboss.org
jbossws-commits at lists.jboss.org
Wed Jun 20 07:49:18 EDT 2007
Author: thomas.diesler at jboss.com
Date: 2007-06-20 07:49:18 -0400 (Wed, 20 Jun 2007)
New Revision: 3659
Modified:
branches/jbossws-2.0/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/ManagedServerConfig.java
branches/jbossws-2.0/integration/native/src/main/java/org/jboss/wsf/stack/jbws/RequestHandlerImpl.java
branches/jbossws-2.0/integration/spi/src/main/java/org/jboss/wsf/spi/management/BasicServerConfig.java
branches/jbossws-2.0/integration/spi/src/main/java/org/jboss/wsf/spi/management/ServerConfig.java
branches/jbossws-2.0/jbossws-core/src/main/java/org/jboss/ws/core/server/ContextServlet.java
branches/jbossws-2.0/jbossws-core/src/main/java/org/jboss/ws/core/server/WSDLRequestHandler.java
Log:
[JBWS-1609] Address in WSDL - Port value is -1 when server is requested with default port 80
Modified: branches/jbossws-2.0/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/ManagedServerConfig.java
===================================================================
--- branches/jbossws-2.0/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/ManagedServerConfig.java 2007-06-20 11:48:32 UTC (rev 3658)
+++ branches/jbossws-2.0/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/ManagedServerConfig.java 2007-06-20 11:49:18 UTC (rev 3659)
@@ -44,9 +44,6 @@
public void create() throws Exception
{
- log.debug("WebServiceHost: " + getWebServiceHost());
- log.debug("WebServicePort: " + getWebServicePort());
- log.debug("WebServiceSecurePort: " + getWebServiceSecurePort());
MBeanServer server = getMBeanServer();
if (server != null)
{
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-20 11:48:32 UTC (rev 3658)
+++ branches/jbossws-2.0/integration/native/src/main/java/org/jboss/wsf/stack/jbws/RequestHandlerImpl.java 2007-06-20 11:49:18 UTC (rev 3659)
@@ -95,7 +95,6 @@
* A request handler
*
* @author Thomas.Diesler at jboss.org
- * @author mageshbk at jboss.com
* @since 25-Apr-2007
*/
public class RequestHandlerImpl implements RequestHandler
@@ -503,10 +502,14 @@
String resPath = (String)req.getParameter("resource");
URL reqURL = new URL(req.getRequestURL().toString());
+ String wsdlHost = reqURL.getProtocol() + "://" + reqURL.getHost() + ":" + reqURL.getPort();
+
ServerConfigFactory factory = ServerConfigFactory.getInstance();
ServerConfig config = factory.getServerConfig();
- String wsdlHost = config.getDisplayHost(epMetaData.getEndpointAddress(),reqURL);
-
+ if (config.getWebServiceHost().equals(ServerConfig.UNDEFINED_HOSTNAME) == false)
+ {
+ wsdlHost = config.getWebServiceHost();
+ }
log.debug("WSDL request, using host: " + wsdlHost);
WSDLRequestHandler wsdlRequestHandler = new WSDLRequestHandler(epMetaData);
Modified: branches/jbossws-2.0/integration/spi/src/main/java/org/jboss/wsf/spi/management/BasicServerConfig.java
===================================================================
--- branches/jbossws-2.0/integration/spi/src/main/java/org/jboss/wsf/spi/management/BasicServerConfig.java 2007-06-20 11:48:32 UTC (rev 3658)
+++ branches/jbossws-2.0/integration/spi/src/main/java/org/jboss/wsf/spi/management/BasicServerConfig.java 2007-06-20 11:49:18 UTC (rev 3659)
@@ -25,9 +25,7 @@
import java.io.File;
import java.net.InetAddress;
-import java.net.MalformedURLException;
import java.net.UnknownHostException;
-import java.net.URL;
import java.util.Iterator;
import java.util.Set;
@@ -45,7 +43,6 @@
*
* @author Thomas.Diesler at jboss.org
* @author darran.lofthouse at jboss.com
- * @author mageshbk at jboss.com
* @since 08-May-2006
*/
public class BasicServerConfig implements ServerConfig
@@ -139,27 +136,31 @@
if (webServicePort <= 0)
webServicePort = getConnectorPort("HTTP/1.1", false);
- if (webServicePort <= 0)
+ int localPort = webServicePort;
+ if (localPort <= 0)
{
+ // Do not initialize webServicePort with the default, the connector port may become available later
log.warn("Unable to calculate 'WebServicePort', using default '8080'");
- webServicePort = 8080;
+ localPort = 8080;
}
- return webServicePort;
+ return localPort;
}
public int getWebServiceSecurePort()
{
if (webServiceSecurePort <= 0)
webServiceSecurePort = getConnectorPort("HTTP/1.1", true);
-
- if (webServiceSecurePort <= 0)
+
+ int localPort = webServiceSecurePort;
+ if (localPort <= 0)
{
+ // Do not initialize webServiceSecurePort with the default, the connector port may become available later
log.warn("Unable to calculate 'WebServiceSecurePort', using default '8443'");
- webServiceSecurePort = 8443;
+ localPort = 8443;
}
- return webServiceSecurePort;
+ return localPort;
}
private int getConnectorPort(final String protocol, final boolean secure)
@@ -218,63 +219,4 @@
}
return server;
}
-
- public String getDisplayAddress(String endpointAddress, URL requestURL) throws MalformedURLException
- {
- URL displayURL = new URL(endpointAddress);
- String displayHost = getDisplayHost(endpointAddress, requestURL);
-
- String displayAddress = displayHost + displayURL.getPath();
- if (log.isDebugEnabled())
- {
- log.trace("Mapping WSDL soap:address from '" + endpointAddress + "' to '" + displayAddress + "'");
- }
- return displayAddress;
- }
-
- /*
- * Formats the Service endpoint host according to the beans.xml definition and
- * the requested url and returns the URL as string
- *
- */
- public String getDisplayHost(String endpointAddress, URL requestURL) throws MalformedURLException
- {
- URL displayURL = new URL(endpointAddress);
- String protocol = displayURL.getProtocol();
- String host = displayURL.getHost();
- int port = displayURL.getPort();
- String uriScheme = requestURL.getProtocol();
- if (this.modifySOAPAddress || host.equals(BasicServerConfig.UNDEFINED_HOSTNAME) == true)
- {
- //Modify the address
- if (this.getWebServiceHost().equals(BasicServerConfig.UNDEFINED_HOSTNAME) == true)
- {
- //Use the incoming request's address
- protocol = uriScheme;
- host = requestURL.getHost();
- port = requestURL.getPort();
- }
- else
- {
- //Use the address given in jboss-beans.xml
- protocol = uriScheme;
- host = this.getWebServiceHost();
- if (protocol.equals("https"))
- {
- port = this.getWebServiceSecurePort();
- }
- else
- {
- port = this.getWebServicePort();
- }
- }
- }
- String displayHost = protocol + "://" + host + (port > 0 ? ":" + port : "");
-
- if (log.isDebugEnabled())
- {
- log.trace("Mapping WSDL host from '" + protocol + "://" + host + ":" + port + "' to '" + displayHost + "'");
- }
- return displayHost;
- }
}
Modified: branches/jbossws-2.0/integration/spi/src/main/java/org/jboss/wsf/spi/management/ServerConfig.java
===================================================================
--- branches/jbossws-2.0/integration/spi/src/main/java/org/jboss/wsf/spi/management/ServerConfig.java 2007-06-20 11:48:32 UTC (rev 3658)
+++ branches/jbossws-2.0/integration/spi/src/main/java/org/jboss/wsf/spi/management/ServerConfig.java 2007-06-20 11:49:18 UTC (rev 3659)
@@ -24,9 +24,7 @@
// $Id$
import java.io.File;
-import java.net.MalformedURLException;
import java.net.UnknownHostException;
-import java.net.URL;
import javax.management.ObjectName;
@@ -36,7 +34,6 @@
* Interface to container independent config
*
* @author Thomas.Diesler at jboss.org
- * @author mageshbk at jboss.com
* @since 08-May-2006
*/
public interface ServerConfig
@@ -69,8 +66,4 @@
boolean isModifySOAPAddress();
void setModifySOAPAddress(boolean flag);
-
- String getDisplayAddress(String endpointAddress, URL requestURL) throws MalformedURLException;
-
- String getDisplayHost(String endpointAddress, URL requestURL) throws MalformedURLException;
}
Modified: branches/jbossws-2.0/jbossws-core/src/main/java/org/jboss/ws/core/server/ContextServlet.java
===================================================================
--- branches/jbossws-2.0/jbossws-core/src/main/java/org/jboss/ws/core/server/ContextServlet.java 2007-06-20 11:48:32 UTC (rev 3658)
+++ branches/jbossws-2.0/jbossws-core/src/main/java/org/jboss/ws/core/server/ContextServlet.java 2007-06-20 11:49:18 UTC (rev 3659)
@@ -41,14 +41,11 @@
import org.jboss.wsf.spi.management.EndpointMetrics;
import org.jboss.wsf.spi.management.EndpointRegistry;
import org.jboss.wsf.spi.management.EndpointRegistryFactory;
-import org.jboss.wsf.spi.management.ServerConfig;
-import org.jboss.wsf.spi.management.ServerConfigFactory;
/**
* The servlet that that is associated with context /jbossws
*
* @author Thomas.Diesler at jboss.org
- * @author mageshbk at jboss.com
* @since 21-Mar-2005
*/
public class ContextServlet extends HttpServlet
@@ -98,8 +95,6 @@
{
Endpoint ep = epRegistry.getEndpoint(oname);
ServerEndpointMetaData sepMetaData = ep.getAttachment(ServerEndpointMetaData.class);
- ServerConfig config = ServerConfigFactory.getInstance().getServerConfig();
- String displayAddress = config.getDisplayAddress(sepMetaData.getEndpointAddress(), requestURL);
writer.print("<tr>");
writer.print(" <td>Endpoint Name</td>");
@@ -107,7 +102,7 @@
writer.print("</tr>");
writer.print("<tr>");
writer.print(" <td>Endpoint Address</td>");
- writer.print(" <td><a href='" + displayAddress + "?wsdl'>" + displayAddress + "?wsdl</a></td>");
+ writer.print(" <td><a href='" + sepMetaData.getEndpointAddress() + "?wsdl'>" + sepMetaData.getEndpointAddress() + "?wsdl</a></td>");
writer.print("</tr>");
writer.print("<tr>");
writer.print(" <td colspan=2>");
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-20 11:48:32 UTC (rev 3658)
+++ branches/jbossws-2.0/jbossws-core/src/main/java/org/jboss/ws/core/server/WSDLRequestHandler.java 2007-06-20 11:49:18 UTC (rev 3659)
@@ -46,7 +46,6 @@
* For a discussion of this topic.
*
* @author Thomas.Diesler at jboss.org
- * @author mageshbk at jboss.com
* @since 23-Mar-2005
*/
public class WSDLRequestHandler
@@ -137,10 +136,10 @@
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;
@@ -160,12 +159,25 @@
String orgLocation = locationAttr.getNodeValue();
URL locURL = new URL(orgLocation);
+ String locProtocol = locURL.getProtocol();
String locPath = locURL.getPath();
- String newLocation = wsdlHost + locPath;
- locationAttr.setNodeValue(newLocation);
+ if (reqURL.getProtocol().equals(locProtocol) && reqURL.getPath().equals(locPath))
+ {
+ String completeHost = wsdlHost;
+ if (! (completeHost.startsWith("http://") || completeHost.startsWith("https://")) )
+ {
+ int locPort = locURL.getPort();
+ String hostAndPort = wsdlHost + (locPort > 0 ? ":" + locPort : "");
- log.trace("Mapping address from '" + orgLocation + "' to '" + newLocation + "'");
+ completeHost = locProtocol + "://" + hostAndPort;
+ }
+
+ String newLocation = completeHost + locPath;
+ locationAttr.setNodeValue(newLocation);
+
+ log.trace("Mapping address from '" + orgLocation + "' to '" + newLocation + "'");
+ }
}
}
else
More information about the jbossws-commits
mailing list