2012-12-19 17 views
7

私は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に変更する必要があります。

答えて

1

this postによるとあなたの周りの仕事として"https://REPLACE-MEのようなものにsoap:addressを設定し、または(あなたはまた、HTTPS対応サーバーでそれを展開するか、手動でsoap:addressを交換しない限り、イントラネットサービスを破ること)CONFIDENTIAL輸送保証を強制することができます。