[英]How to mention the wsdl location in JBOSS ESB
我已經開發了JBOSS ESB項目,並為該服務創建了代理,並成功調用了該代理。
但是,wsdl位置采用硬編碼。
<?xml version="1.0"?>
<jbossesb parameterReloadSecs="5"
xmlns="http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.3.1.xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.3.1.xsd http://anonsvn.jboss.org/repos/labs/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.3.1.xsd">
<services>
<service category="Stock" description="Stock Quote" invmScope="GLOBAL"
name="Quote">
<listeners>
<http-gateway name="StockQuote-GwListener" />
</listeners>
<actions mep="RequestResponse">
<action class="org.jboss.soa.esb.actions.soap.proxy.SOAPProxy"
name="proxy">
<property name="wsdl"
value="http://localhost:8081/service_sample/services/addSoapPort?wsdl" />
</action>
</actions>
</service>
</services>
</jbossesb>
下面的wsdl位置是硬編碼的,如何使其可配置?
<property name="wsdl"
value="http://localhost:8081/service_sample/services/addSoapPort?wsdl" />
如何處理?
我們還需要做其他配置嗎?
請幫我..
在您的項目中創建一個名為wsdl的文件夾,並將您的wsdls放在此處。
之后,您可以將操作定義更改為此:
<action class="org.jboss.soa.esb.actions.soap.proxy.SOAPProxy" name="proxy">
<property name="wsdl"
value="claspath:///wsdl/your.wsdl" />
<property name="endpointUrl" value="${service.url}"/>
</action>
在endpointUrl中,您可以對Web服務的URL進行硬編碼,或將其放置在屬性文件中(如上所示)
要使用屬性文件,您需要在META-INF下有一個jboss-service.xml文件:
<?xml version="1.0" encoding="UTF-8"?>
<server>
<mbean code="org.jboss.varia.property.SystemPropertiesService" name="jboss.util:type=Service,name=YourPropertyName">
<attribute name="URLList">/home/foo/your.properties</attribute>
<attribute name="Properties" />
</mbean>
在/home/foo/your.properties文件中,添加url:
service.url=http://yourservice.url
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.