私は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?wsdl
がhttps://myapp/Service?wsdl
、両方のアドレスが http であるため、https に変更する必要があります。