【发布时间】:2017-06-01 08:05:13
【问题描述】:
在 WildFly 8.2.1 中,我试图让现有的 web 服务 (JAX-WS) 使用 SSL,但我没有在快速入门中看到任何 SSL 的使用,而且我能够通过谷歌搜索的信息有限。到目前为止,我已将其添加到 web.xml:
<security-constraint>
<display-name>Foo security</display-name>
<web-resource-collection>
<web-resource-name>FooService</web-resource-name>
<url-pattern>/foo/FooService</url-pattern>
<http-method>POST</http-method>
</web-resource-collection>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>
这是在我的standalone.xml中:
<subsystem xmlns="urn:jboss:domain:webservices:1.2">
<wsdl-host>${jboss.bind.address:127.0.0.1}</wsdl-host>
<endpoint-config name="Standard-Endpoint-Config"/>
<endpoint-config name="Recording-Endpoint-Config">
<pre-handler-chain name="recording-handlers" protocol-bindings="##SOAP11_HTTP ##SOAP11_HTTP_MTOM ##SOAP12_HTTP ##SOAP12_HTTP_MTOM">
<handler name="RecordingHandler" class="org.jboss.ws.common.invocation.RecordingServerHandler"/>
</pre-handler-chain>
</endpoint-config>
<client-config name="Standard-Client-Config"/>
</subsystem>
但显然这还不够;当我查看standalone/data/wsdl/foo.ear/foo.war/FooService/Bar.wsdl 时,我看到了:
<service name="FooService">
<port binding="foowsb:FooBinding" name="FooBinding">
<soap:address location="http://localhost:8080/foo/FooService"/>
</port>
</service>
请注意,在 EAR/WAR 中,soap:address.location 仅填充了一个占位符(我认为该值被忽略)。
我找到了一些关于设置安全领域和使用 keytool 创建自签名证书的信息(我做过),但我完全想念应该如何将它们链接在一起。
我也尝试设置wsdl-uri-scheme=https,但仅在更高版本的 CXF 中支持。
【问题讨论】:
-
JBoss 论坛的交叉链接:developer.jboss.org/message/967556#967556
标签: ssl wsdl jax-ws wildfly wildfly-8