Как указать местоположение wsdl в 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" />

Как с этим справиться?

Есть ли какие-либо другие настройки, которые нам нужно сделать?

Пожалуйста помогите..


person user3500159    schedule 21.04.2014    source источник
comment
Пожалуйста, как использовать фрагменты wsdl, чтобы мы могли лучше понять вашу проблему.   -  person Namphibian    schedule 23.04.2014
comment
пожалуйста, проверьте отредактированный код.   -  person user3500159    schedule 24.04.2014


Ответы (1)


Создайте папку с именем 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 вы можете жестко указать URL-адрес вашего веб-сервиса или поместить его в файл свойств (как показано выше).

Чтобы использовать файл свойств, вам понадобится файл jboss-service.xml в META-INF:

<?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>

In the /home/foo/your.properties file just add the url:

service.url=http://yourservice.url
person zsom    schedule 17.04.2015