【发布时间】:2014-09-12 13:59:03
【问题描述】:
我已经使用这个例子创建了一个网络服务:
http://www.albeesonline.com/blog/2008/07/27/creating-a-webservice-using-rad-7/
当我调用 Web 服务来获取 WSDL 时,我使用如下 URL:
http://acme.com/storefront/services/InventoryInquiry?wsdl
WebSphere 使用一个带有如下 URL 的 WSDL 页面进行响应:
http://acme.com:9082/storefront/services/InventoryInquiry/wsdl/InventoryInquiry.wsdl
我希望 WebSphere 使用 SSL 和端口 443 进行响应,而不是使用 WebSphere 默认主机端口。
我尝试修改 WebSphere 控制台中的“提供 HTTP 端点 URL 信息”页面,以便应用程序使用“https://acme.com:443”作为“HTTP URL 前缀”,但 WebSphere 不使用它,即使在重新启动 WebSphere 之后也是如此。
如何配置 WebSphere,使其在响应 Web 服务请求时不使用默认端口?
我正在使用 WebSphere 6.1。
一些背景资料:
该服务包含在使用 Struts 作为其设计模式的 J2EE 应用程序中。 struts-config.xml 配置为在端口 80 和 443 上为应用程序提供服务。运行应用程序的 WAS 服务器位于 Apache Web 服务器的前端,该服务器通过负载平衡器将请求重定向到应用程序。
AWS 负载均衡器配置在四个独立的 WAS 服务器之间引导请求,每个服务器都提供应用程序的副本。每个 WAS 服务器都配置为将唯一的服务器 ID 字符串返回给用户。 AWS 使用此字符串来确定哪个 WAS 服务器将处理用户发出的后续请求。这对于由 Struts 处理的 J2EE 应用程序的部分都工作得很好,但是 Web 服务存在于该上下文之外。这似乎是 Web 服务使用 WAS 默认安全端口而不是 Struts 中定义的端口进行响应的原因。
我无法将 WAS 默认安全端口更改为 443,因为我不能在同一台服务器上拥有两个 WAS 实例同时监听端口 443。
【问题讨论】:
标签: web-services ssl websphere-6.1