2012-12-19 17 views
7

Mam serwer HTTP Apache2 ten serwer jest dostępny dla sieci zewnętrznych. Dla moich webservices mam Jboss 4 w sieci wewnętrznej. Skonfigurowałem VirtualHosts na Apache z DMZ, więc mogę uzyskać dostęp do usług z zewnętrznych hostów przez http://externalserver/services/SomeService?wsdl, a kiedy żądania arraive z/services/* przekierowuję żądanie do http://internalserver/services/SomeService?wsdl przez ProxyPass.Osi Change mydło: adres

To działa w intranecie, ale kiedy próbuję zużywać moją usługę z hosta zewnętrznego, mój klucz wsdl odnosi się do hosta wewnętrznego. Mam coś takiego:

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

Potrzebuję zmienić atrybut lokalizacji w moim wygenerowanym pliku wsdl, Jak mogę to zrobić?

Z góry dziękuję.

edycja:

mogę zmienić hosta i port I edycji JBoss-beans.xml Teraz mam coś takiego:

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

Ale to nie zmienia protokół, ja można zadzwonić pod numer http://myapp/Service?wsdl lub https://myapp/Service?wsdl, ale w obu adresach jest http. Potrzebuję go zmienić na https.

Odpowiedz

1

Według this post można ustawić soap:address do czegoś podobnego "https://REPLACE-ME jako pracę wokół lub egzekwowania CONFIDENTIAL Gwarancję transportowej (która może złamać Intranet, chyba że także wdrożyć go w https włączony serwer lub ręcznie zastąpić soap:address).