2012-07-17 35 views
4

如何更改Web服務中的soap地址。我正在研究JBoss 7.1.1。如何更改JBoss 7 java web服務中的soap地址

我有這個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; 
     } 
    } 
} 

而與此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> 

但是當我部署到我的服務器,有名稱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> 

什麼我n eed是如何使它在我的服務器上運行的完整url:server1.domedomain.com。

在此先感謝。

回答

0

你必須配置jboss來聽你想要的接口。 爲此,您必須編輯standalone.xml文件並添加一些新的接口標記。 我覺得這篇文章可能會有用。 https://community.jboss.org/message/614897

+0

感謝@ppapapetrou,我只是做出standalone.xml變化 www.myhost.com j2gl 2012-07-19 23:42:10

+0

考慮改變正確的解決方案 – 2015-07-31 20:27:10

5

爲了澄清,

在standalone.xml,剛下標籤:

<subsystem xmlns="urn:jboss:domain:webservices:1.1"> 

您必須修改這些條目

<modify-wsdl-address>true</modify-wsdl-address> 
<wsdl-host>www.myhost.com</wsdl-host> 
+0

我們如何處理端口?在我的情況下,我不希望端口出現在肥皂地址,但它確實。沒有辦法覆蓋這個我提供的wsdl-port作爲空白,因爲它會拋出解析錯誤。 – dchucks 2018-02-22 11:20:01

12

如果您需要部署SOAP的Web公共訪問服務,例如通過Apache你可以在standalone.xml中刪除這一行:<wsdl-host>${jboss.bind.address:127.0.0.1}</wsdl-host>
然後,主機名將從WSDL URL中接管。
在這種情況下,您無需爲每個部署階段更改配置。例如dev.myhost.com,qa.myhost.com或ww.myhost.com。

這也避免了公共服務錯誤SSL端口8443的問題。