我已经开发了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" />

如何处理?

我们还需要做其他配置吗?

请帮我..

===============>>#1 票数:0

在您的项目中创建一个名为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

  ask by user3500159 translate from so

未解决问题?本站智能推荐: