私はApache2 HTTPサーバーを持っています。このサーバーは外部ネットワークに使用できます。私のWebサービスでは、内部ネットワークにJboss 4があります。私はApacheでDMZを使ってVirtualHostsを設定したので、外部ホストからのサービスにはhttp://externalserver/services/SomeService?wsdl
でアクセスでき、/ services/*でリクエストが発生したときにProxyPassで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の位置属性を変更する必要があります。どうすればいいですか?
ありがとうございます。
EDITED:私は、
<property name="webServiceHost">${jboss.bind.address}</property>
<property name="modifySOAPAddress">true</property>
<property name="webServiceSecurePort">8443</property>
<property name="webServicePort">8080</property>
をしかし、これはプロトコルを変更しないでください:
が、私は今、私はこのような何かをした、ホストとポートIは、JBoss-beans.xmlの編集変更することができますhttp://myapp/Service?wsdl
またはhttps://myapp/Service?wsdl
を呼び出すことができますが、どちらのアドレスもhttpであるため、httpsに変更する必要があります。