2014-09-19 2 views
0

Мне было интересно, если в любом случае вызывать вызов соединителя Mule Database в веб-службах CXF SOAP без использования Java-компонента. Я хочу создать и опубликовать веб-службу SOAP, которая будет выполнять операцию CRUD. Теперь для этого общий способ - создать WSDL, а затем преобразовать его в интерфейс Java, а затем реализовать интерфейс, где мне нужно вызвать слой DAO из уровня сервиса для выполнения операций с БД. Но здесь в этом случае, Я не хочу вызывать соединитель DB из класса Java ... скорее, я хочу вызвать коннектор из самого потока Mule. Есть ли способ сделать это с уровня потока ??Как вызвать соединитель базы данных с использованием службы SOAP SOX в Mule без компонента Java

Я следующий Mule Flow: -

<flow name="getDesignation" doc:name="getDesignation"> 
<http:inbound-endpoint exchange-pattern="request-response" host="localhost" port="8090" path="designation" doc:name="HTTP"/> 
<cxf:jaxws-service serviceClass="com.getdesignation.test.services.schema.maindata.v1.GetDesignation" doc:name="CXF"/> 
<component class="com.getdesignation.test.services.schema.maindata.v1.Impl.GetDesignationImpl" doc:name="Java"/> 
</flow> 

Теперь вебсервис имеет несколько операций для выполнения операции CRUD
Но я не хочу, чтобы позвонить в базу данных из операции класса Java .. Вместо этого я хочу вызвать БД из потока Мула, чтобы выполнить CRUD. Как я могу это сделать?

Можете ли вы PLS дать пример того, как добиться этого от уровня потока ... Спасибо

ответ

0

так что, как Дэвид предложил окончательное решение, которое я нашел с помощью Mule 3.5 компонента DB после <cxf:jaxws-service/> который ссылается интерфейс что-то, как показано ниже: -

<flow name="getDesignation" doc:name="getDesignation"> 
<http:inbound-endpoint exchange-pattern="request-response" host="localhost" port="8090" path="designation" doc:name="HTTP"/> 
<cxf:jaxws-service serviceClass="com.getdesignation.test.services.schema.maindata.v1.GetDesignation" doc:name="CXF"/> 
<db:select config-ref="Oracle_Configuration" doc:name="Database"> 
    <db:parameterized-query><![CDATA[select ID, NAME from table1]]></db:parameterized-query> 
</db:select> 

и он работает !!!