我有一个 Apache2 HTTP 服务器,该服务器可用于外部网络。对于我的网络服务,我在内部网络中有一个 Jboss 4。我在 Apache 上使用 DMZ 配置了 VirtualHosts,因此我可以通过 访问外部主机的服务http://externalserver/services/SomeService?wsdl
,当请求到达 /services/* 时,我将请求重定向到http://internalserver/services/SomeService?wsdl
ProxyPass。
这在 Intranet 上工作,但是当我尝试从外部主机使用我的 web 服务时,我的 wsdl 指的是内部主机。我有这样的事情:
<service name="SomeServiceService">
<port binding="tns:SomeServiceBinding" name="SomeServicePort">
<soap:address location="http://internalserver/services/SomeService"/>
</port>
</service>
我需要更改生成的 wsdl 中的位置属性,我该怎么做?
提前致谢。
编辑:
我可以更改主机和端口我编辑了 jboss-beans.xml,现在我有这样的东西:
<property name="webServiceHost">${jboss.bind.address}</property>
<property name="modifySOAPAddress">true</property>
<property name="webServiceSecurePort">8443</property>
<property name="webServicePort">8080</property>
但这不会改变协议,我可以调用http://myapp/Service?wsdl
或者https://myapp/Service?wsdl
但在两个地址中都是http,我需要将其更改为https。