j2g*_*2gl 5 java jax-ws jboss7.x
如何更改Web服务中的soap地址.我正在研究JBoss 7.1.1.
我有这个Web服务类:
@WebService
public class Card {
@WebMethod
public CardResponseDTO insertCard(
@WebParam(name = "cardRequestCardDTO") CardDTO cardDTO,
@WebParam(name = "userName") String userName) {
Date today;
CardResponseDTO cardResponseDTO = new CardResponseDTO();
try {
today = Calendar.getInstance().getTime();
// My logic in here...
return cardResponseDTO;
} catch (Exception ex) {
log.error(ex.getMessage(), ex);
cardResponseDTO.setErrorCode(-2);
cardResponseDTO.setErrorMessage(ex.getMessage());
return cardResponseDTO;
}
}
}
Run Code Online (Sandbox Code Playgroud)
当我在我的localhost工作时,使用此WSDL可以正常工作:
<wsdl:service name="CardService">
<wsdl:port binding="tns:CardServiceSoapBinding" name="CardPort">
<soap:address location="http://localhost:8080/inventory-ws/Card"/>
</wsdl:port>
</wsdl:service>
Run Code Online (Sandbox Code Playgroud)
但是当我部署到我的服务器时,它有一个名称server1.somedomain.com,不起作用,因为我只有http:// server1:8080/...
<wsdl:service name="CardService">
<wsdl:port binding="tns:CardServiceSoapBinding" name="CardPort">
<soap:address location="http://server1:8080/inventory-ws/Card"/>
</wsdl:port>
</wsdl:service>
Run Code Online (Sandbox Code Playgroud)
我需要的是如何使用完整的URL:server1.domedomain.com使其在我的服务器中工作.
提前致谢.
Tim*_*imm 13
如果您需要部署SOAP Web服务以进行公共访问,例如通过Apache,您可以在standalone.xml中删除此行:<wsdl-host>${jboss.bind.address:127.0.0.1}</wsdl-host>at all.
然后主机名将从WSDL URL接管.
在这种情况下,您无需更改每个部署阶段的配置.例如dev.myhost.com,qa.myhost.com或ww.myhost.com.
这也避免了公共服务的错误SSL端口8443的问题.
澄清,
在standalone.xml中,位于标记下方:
<subsystem xmlns="urn:jboss:domain:webservices:1.1">
Run Code Online (Sandbox Code Playgroud)
您必须修改这些条目
<modify-wsdl-address>true</modify-wsdl-address>
<wsdl-host>www.myhost.com</wsdl-host>
Run Code Online (Sandbox Code Playgroud)
要更改端口:
<wsdl-port>80</wsdl-port> <!-- case you need change port, instead 8080 -->
<wsdl-secure-port>443</wsdl-secure-port> <!-- case you need change port, instead 8443 -->
Run Code Online (Sandbox Code Playgroud)
要更改URI架构:
<wsdl-uri-scheme>https</wsdl-uri-scheme> <!-- or http for non secure -->
Run Code Online (Sandbox Code Playgroud)
你必须配置jboss来监听你想要的接口。为此,您必须编辑standalone.xml 文件并添加一些新的接口标签。我认为这篇文章可能有用。 https://community.jboss.org/message/614897
| 归档时间: |
|
| 查看次数: |
11029 次 |
| 最近记录: |