WildFly 8.2.0,使用反向代理的JBossWS生成错误的https soap:地址

时间:2015-05-04 18:23:23

标签: soap wsdl reverse-proxy wildfly jbossws

我的设置是https上的apache服务器,作为WildFly 8.2.0的反向代理,在端口8080上响应.Web服务是使用自下而上的方法通过注释创建的。生成的soap:地址没有正确的协议或端口。我修改了standalone.xml以指定wsdl-host并允许修改WSDL URL。 webservices子系统如下:

<subsystem xmlns="urn:jboss:domain:webservices:1.2">
    <wsdl-host>myhost.com</wsdl-host>
    <modify-wsdl-address>true</modify-wsdl-address>
    <wsdl-secure-port>443</wsdl-secure-port>
    <endpoint-config name="Standard-Endpoint-Config"/>
    <endpoint-config name="Recording-Endpoint-Config">
        <pre-handler-chain name="recording-handlers" protocol-bindings="##SOAP11_HTTP ##SOAP11_HTTP_MTOM ##SOAP12_HTTP ##SOAP12_HTTP_MTOM">
            <handler name="RecordingHandler" class="org.jboss.ws.common.invocation.RecordingServerHandler"/>
        </pre-handler-chain>
    </endpoint-config>
    <client-config name="Standard-Client-Config"/>
</subsystem>

生成的wsdl包含:

<wsdl:port binding="tns:HelloServiceSoapBinding" name="HelloServicePort">
    <soap:address location="http://myhost.com:8080/pfdemo/HelloService"/>
</wsdl:port>

我期待location =“https://myhost.com/pfdemo/HelloService”/&gt;

我认为指定wsdl-secure-port并允许modify-wsdl-address会处理协议和端口,但似乎并非如此。

如何更正生成的wsdl的soap:地址中的协议和端口?

感谢您的任何指示。

1 个答案:

答案 0 :(得分:3)

尝试添加

request({
    url     : url,
    gzip    : true,
    timeout : 2000
}, function(error, response, html){
   console.log(html);
});

此属性显式设置用于重写的URI方案。

有效值为http和https。

此配置会覆盖通过处理端点计算的方案(即使传输保证 已指定)。

根据指定的方案使用wsdl-port和wsdl-secure-port(或其默认值)的提供值。

来源https://docs.jboss.org/author/display/JBWS/Published+WSDL+customization