6

Webサービスでsoapアドレスを変更するにはどうすればよいですか。私はJBoss7.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;
       }
   }
}

そして、ローカルホストで作業しているときは、この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>

必要なのは、完全なURLserver1.domedomain.comを使用してサーバーで機能させる方法です。

前もって感謝します。

4

3 に答える 3

13

たとえばApacheを介してパブリックアクセス用にSOAPWebサービスをデプロイする必要がある場合は、standalone.xmlで次の行を削除でき<wsdl-host>${jboss.bind.address:127.0.0.1}</wsdl-host>ます。
次に、ホスト名がWSDLURLから引き継がれます。
この場合、展開段階ごとに構成を変更する必要はありません。たとえば、dev.myhost.com、qa.myhost.com、またはww.myhost.comです。

これにより、公共サービスのSSLポート8443が間違っているという問題も回避されます。

于 2014-11-26T14:17:10.567 に答える
6

明確にするために、

スタンドアロン.xmlのタグのすぐ下:

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

これらのエントリを変更する必要があります

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

ポートを変更するには:

<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 -->

URIスキーマを変更するには:

<wsdl-uri-scheme>https</wsdl-uri-scheme> <!-- or http for non secure -->
于 2014-05-06T10:18:59.290 に答える
1

必要なインターフェースをリッスンするようにjbossを設定する必要があります。これを行うには、standalone.xmlファイルを編集し、いくつかの新しいインターフェイスタグを追加する必要があります。この投稿は役に立つかもしれないと思います。 https://community.jboss.org/message/614897

于 2012-07-18T06:50:42.803 に答える