7

私はApache2 HTTPサーバーを持っています。このサーバーは外部ネットワークに利用できます。私のWebサービスでは、内部ネットワークにJboss 4があります。Apache で DMZ を使用して VirtualHosts を構成したので、外部ホストhttp://externalserver/services/SomeService?wsdlからhttp://internalserver/services/SomeService?wsdl.

これはイントラネットで機能しますが、外部ホストから Web サービスを使用しようとすると、wsdl が内部ホストを参照します。私はこのようなものを持っています:

<service name="SomeServiceService">
    <port binding="tns:SomeServiceBinding" name="SomeServicePort">
         <soap:address location="http://internalserver/services/SomeService"/>
    </port>
</service>

生成した wsdl の location 属性を変更する必要があります。どうすればよいですか?

前もって感謝します。

編集:

jboss-beans.xml を編集したホストとポートを変更できます。

<property name="webServiceHost">${jboss.bind.address}</property>
<property name="modifySOAPAddress">true</property>
<property name="webServiceSecurePort">8443</property>
<property name="webServicePort">8080</property>

しかし、これはプロトコルを変更しません。呼び出すことはできますhttp://myapp/Service?wsdlhttps://myapp/Service?wsdl、両方のアドレスが http であるため、https に変更する必要があります。

4

1 に答える 1

1

この投稿によると、回避策として設定soap:addressしたり、トランスポート保証を適用したりできます (https 対応サーバーに展開するか、手動で置き換えない限り、イントラネット サービスが壊れる可能性があります)。"https://REPLACE-MECONFIDENTIALsoap:address

于 2012-12-26T18:34:39.040 に答える