2017-10-21 177 views
0

我在我的JAVA項目(1.7)中有一個遺留的SOAP WS,它目前給出了一些麻煩。在它的WEB-INF/WSDL/*。WSDL文件有此塊WSDL xsd從https導入到http:443在部署時

<xsd:schema> 
    <xsd:import namespace="https://myUrl.com/" schemaLocation="myService_schema.xsd"/> 
</xsd:schema> 

其部署之後,當我通過wget的下載它的WSDL,我得到以下

<xsd:schema xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="https://o2o-staging.beeweeb.com/" xmlns:wsam="http://www.w3.org/2007/05/addressing/metadata" xmlns:wsp="http://www.w3.org/ns/ws-policy" xmlns:wsp1_2="http://schemas.xmlsoap.org/ws/2004/09/policy" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> 
    <xsd:import namespace="https://myUrl.com/" schemaLocation="http://myUrl.com:443/service-ws/myService?xsd=myService_schema.xsd"/> 
</xsd:schema> 

,你可以看到XSD導入地址https://myUrl.com變得http://myUrl.com:443,從而使服務不能使用,因爲nginx的有400錯誤抱怨:平原HTTP請求發送到HTTPS端口

我確實做了一些搜索,並沒有發現同化這個問題。有人可以向我解釋發生了什麼,以及如何解決它?命名空間網址https://myUrl.com應該保持這種狀態,並且可以避免它變成http://myUrl.com:443? 我的服務器是Jboss 7.1

回答

0

對誰有幫助。

當部署soap webservice時,jboss會重新處理您在WEB-INF/wsdl中的任何wsdl和xsd。我的問題是,在我的standalone.xml中,我有一個http連接器,而實際上我需要一個https連接器。

,所以你需要

1)改變你的連接器用於HTTPS(或不管它是你yousing爲您的web應用程序

<connector name="http" protocol="HTTP/1.1" scheme="https" socket-binding="http" 
secure="true" proxy-port="443"/> 

2)添加和明確的WSDL端口在你的獨立。 XML

<subsystem xmlns="urn:jboss:domain:webservices:1.2"> 
<modify-wsdl-address>true</modify-wsdl-address> 
<wsdl-host>jbossws.undefined.host</wsdl-host> 
<wsdl-port>443</wsdl-port> 

相關問題