2015-08-08 82 views
0

我們有一個耳朵應用程序,它包含一些WS端點。我必須部署到目標服務器,但我必須重寫WSDL soap-address標記。我們使用我們的本地測試平臺的解決方案遵循以下指令:https://stackoverflow.com/a/23491951完美的工作。 (服務器是wildfly 8.2)如何覆蓋wildfly下耳朵內的wsdl肥皂地址?

但是我們不能在生產服務器上使用這個解決方案(「因爲」)。

我發現,有一個jboss-webservices.xml,應該重寫WSDL的<soap-address>標籤不改變standalone.xml/domain.xmlwebservices子系統的設置。

但它不適合我。我jboss-webservices.xml

<?xml version="1.1" encoding="UTF-8"?> 
<webservices version="1.2" 
    xmlns="http://www.jboss.com/xml/ns/javaee" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://www.jboss.com/xml/ns/javaee http://www.jboss.org/j2ee/schema/jboss_webservices_1_0.xsd"> 
    <property> 
     <name>wsdl.soapAddress.rewrite.modify-wsdl-address</name> 
     <value>true</value> 
    </property> 
    <property> 
     <name>wsdl.soapAddress.rewrite.wsdl-host</name> 
     <value>somedomain.com</value> 
    </property> 
</webservices> 

這些說明如下:

我把jboss-webservices.xml通過的文件都提到兩個地方:

  • META-INF/jboss-webservices.xml爲EJB Web服務部署
  • WEB-INF/jboss-webservices.xml在戰爭檔案館他們

非工作捆綁POJO Web服務部署和EJB Web服務端點。

相關聯的日誌片斷:

11:50:43,502 INFO [org.jboss.ws.cxf.metadata] (MSC service thread 1-2) JBWS024061: Adding service endpoint metadata: id=ABCServicePortType 
address=http://localhost:8180/abc-web/ABCServicePortType 
implementor=example.service.v1.impl.ABCServicePortTypeImpl 
serviceName={http://example.com/ns/mod/ws/ABCService/v1}ABCService 
portName={http://example.com/ns/mod/ws/ABCService/v1}ABCServicePortTypeImplPort 
annotationWsdlLocation=null 
wsdlLocationOverride=null 
mtomEnabled=false 

我的問題:我可能錯過了什麼?有沒有其他方法可以覆蓋soap-address? 在此先感謝。

回答

0

您在jboss-webservices.xml中提供的屬性可用,但WildFly的版本高於您在服務器中使用的版本(自WildFly 9起)。請參見發行說明web服務節WildFly 9:

http://wildfly.org/news/2015/07/02/WildFly9-Final-Released/

它看起來是WildFly 9釋放standalone.xml之前是隻有一個地方可以自定義生成WSDL。