Axis Change soap:地址

时间:2012-12-19 11:53:38

标签: java axis

我有一台Apache2 HTTP Server,这台服务器可用于外部网络。对于我的网络服务,我在内部网络中有一个Jboss 4。我在Apache上使用DMZ配置了VirtualHosts,因此我可以通过http://externalserver/services/SomeService?wsdl从外部主机访问服务,当使用/ services / *进行请求时,我会通过ProxyPass将请求重定向到http://internalserver/services/SomeService?wsdl

这适用于Intranet,但是当我尝试从外部主机使用我的web服务时,我的wsdl引用内部主机。我有这样的事情:

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

我需要在生成的wsdl中更改location属性,我该怎么做?

提前致谢。

编辑:

我可以更改主机和端口我编辑了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?wsdlhttps://myapp/Service?wsdl但是在两个地址中都是http,我需要将其更改为https。

1 个答案:

答案 0 :(得分:1)

根据this post,您可以将soap:address设置为"https://REPLACE-ME作为解决方法,或强制执行CONFIDENTIAL传输保证(可能会破坏您的Intranet服务,除非您也将其部署在启用https的服务器中或手动替换soap:address