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.