簡體   English   中英

如何在不具有Java組件的Mule中使用CXF SOAP服務調用數據庫連接器

[英]How to invoke Database connector using CXF SOAP service in Mule without Java Component

我想知道是否仍然可以在不使用Java組件的情況下調用CXF SOAP Web服務中的Mule數據庫連接器。我想創建並公開將執行CRUD操作的SOAP Web服務。 現在,執行此操作的一般方法是創建WSDL,然后將其轉換為Java接口,然后實現需要從Service層調用DAO層以執行DB操作的接口。.但是在這種情況下,我不我不想從Java類中調用數據庫連接器...而是我想從Mule Flow本身中調用連接器。有什么辦法可以從流級別做到這一點?

我有以下M子流:-

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

現在,Web服務具有執行CRUD操作的若干操作
但是我不想從Java類操作中調用數據庫。相反,我想從Mule流中自行調用DB來執行CRUD ..我該怎么做?

您能否提供一個示例,說明如何從流量水平實現它?

在Mule 3.4及更高版本上,請使用JDBC傳輸: http : //www.mulesoft.org/documentation/display/current/JDBC+Transport+Reference

在Mule 3.5及更高版本上,使用數據庫連接器: http : //www.mulesoft.org/documentation/display/current/Database+Connector

因此,正如David建議的最終解決方案一樣,我發現在<cxf:jaxws-service/>之后使用Mule 3.5 DB組件,該組件引用如下所示的接口:-

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

它的工作原理!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM