2012-12-19 3 views
7

저는 Apache2 HTTP 서버를 사용했습니다.이 서버는 외부 네트워크에 사용 가능합니다. 내 웹 서비스의 경우 내부 네트워크에 Jboss 4가 있습니다. DMZ를 사용하여 Apache에서 VirtualHosts를 구성 했으므로 외부 호스트의 서비스에 http://externalserver/services/SomeService?wsdl으로 액세스 할 수 있으며 요청이/services/*와 일치하면 ProxyPass가 http://internalserver/services/SomeService?wsdl으로 요청을 리디렉션합니다.축 변경 비누 : 주소

인트라넷에서 작동하지만 외부 호스트에서 내 웹 서비스를 사용하려고하면 wsdl에서 내부 호스트를 참조합니다. 나는 이런 식으로했습니다 :

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

생성 된 wsdl에서 위치 속성을 변경해야합니다. 어떻게해야합니까? 사전에

감사합니다.

편집 : 나는

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

을하지만이 프로토콜을 변경하지 마십시오 :

내가 지금 이런 식으로 뭔가를했습니다, 호스트 및 포트 나는 제이 보스-beans.xml 환경을 편집 변경할 수 있습니다 http://myapp/Service?wsdl 또는 https://myapp/Service?wsdl으로 전화 할 수 있지만 주소가 모두 http 일 경우 https로 변경해야합니다.

답변

1

this post에 따르면 당신은 주위의 작품으로 "https://REPLACE-ME 같은 것으로 soap:address를 설정하거나 (당신은 또한 HTTPS를 사용하는 서버에 배포하거나 수동으로 soap:address을 교체하지 않는 한, 인트라넷 서비스를 중단 할 수 있습니다) CONFIDENTIAL 전송 보증을 적용 할 수 있습니다.