我将 Apache 作为我部署了 CXF Web 服务的 Tomcat 服务器的前端。对我的 Web 服务的所有访问都是通过由 Apache Web 服务器处理的 SSL 进行的。这意味着我的 Tomcat 服务器完全不知道 SSL。因此,我的 CXF 生成的 Web 服务有一个http端点 URL。如何在为 Apache Web 服务器提供处理 SSL 的机会的同时使其成为HTTPS 。覆盖端点URL 方案的任何线索?
问问题
3665 次
3 回答
2
如果这样做,您还应该在 publishedEndpointURL 中设置正确的地址(使用 HTTPS)。像这里:如何在 localhost 上启动 cxf 服务但在 wsdl 中返回外部地址?
这将使生成的 WSDL 中的导入指向正确的 URL。
于 2012-04-23T11:41:17.500 回答
0
如果您需要为 Tomcat 启用 SSL 连接器(如果您mod_proxy
在 Apache 中使用),或者您需要启用安全 AJP 连接器(如果您使用mod_jk
):
<Connector protocol="AJP/1.3" redirectPort="443" scheme="https" secure="true" address="127.0.0.1" port="8009" />
CXF 在这里不受欢迎。
于 2012-04-22T12:15:15.190 回答
0
我遇到了同样的问题,并通过对基本 URL 使用 JNDI 查找来解决它,然后为 publishEndpointUrl 构造一个 url。在 XML 配置中,它看起来像这样:
<jee:jndi-lookup id="ProxyURL" jndi-name="myProxyURL" resource-ref="true" cache="true" />
<bean id="EndpointURL" class="java.lang.String">
<constructor-arg value="#{ProxyURL+'/myServiceAddress'}"/>
</bean>
<jaxws:endpoint
id="myServiceEndpoint"
...[other parameters]...
publishedEndpointUrl="#EndpointURL">
于 2015-04-14T22:31:41.797 回答