0

我希望在事务回滚的表中插入值,所以我使用 wso2esb4.7.0。为此,我希望编写类调解器我在编写代码时遇到 java 错误错误是 esb 不适用于事务回滚选项我的代码是

<?xml version="1.0" encoding="UTF-8"?>
<sequence xmlns="http://ws.apache.org/ns/synapse"
          name="JmsStore_Seq"
          trace="disable">
   <property name="FORCE_ERROR_ON_SOAP_FAULT" value="true"/>
   <property xmlns:ns="http://org.apache.synapse/xsd"
             name="Authentication"
             expression="//Authentication/text()"/>
   <property xmlns:ns="http://org.apache.synapse/xsd"
             name="UserId"
             expression="//UserId/text()"
             scope="default"
             type="STRING"/>
   <property xmlns:ns="http://org.apache.synapse/xsd"
             name="WorkOUid"
             expression="//WorkOUid/text()"/>
   <property xmlns:ns="http://org.apache.synapse/xsd"
             name="WorkPartyBranchId"
             expression="//WorkPartyBranchId/text()"/>

   <filter xmlns:ns="http://org.apache.synapse/xsd"
           xpath="get-property('Authentication')=''">
      <then>
         <payloadFactory>
            <format>
               <ResponseJSON xmlns="">
                  <Exception>Service trying to connect inactive service</Exception>
                  <Status>101503</Status>
               </ResponseJSON>
            </format>
            <args/>
         </payloadFactory>
         <property name="HTTP_METHOD" value="POST" scope="axis2" type="STRING"/>
         <property name="RESPONSE" value="true" scope="default" type="STRING"/>
         <property name="NO_ENTITY_BODY" scope="axis2" action="remove"/>
         <send/>
      </then>
      <else>
         <filter xpath="get-property('Authentication')='false'">
            <then>
               <payloadFactory>
                  <format>
                     <ResponseJSON xmlns="">
                        <Exception>Authentication Failed</Exception>
                        <Status>401</Status>
                     </ResponseJSON>
                  </format>
                  <args/>
               </payloadFactory>
               <property name="HTTP_METHOD" value="POST" scope="axis2" type="STRING"/>
               <property name="RESPONSE" value="true" scope="default" type="STRING"/>
               <property name="NO_ENTITY_BODY" scope="axis2" action="remove"/>
               <send/>
            </then>
            <else>

               <property name="jmspayload"
                         expression="get-property('readingspayload')"
                         type="OM"/>
               <property name="ResponseJSON" expression="$body/ResponseJSON" type="OM"/>

               <property name="jmsuri" expression="get-property('jmsuri')"/>
               <property name="jmsqueue" expression="get-property('jmsqueue')"/>

               <payloadFactory >
                <format>
                    <PLData>                    
                      <JMpayload>$1</JMpayload> 
                      <AuthData>$2</AuthData>  
                    </PLData>                   
                </format>
                <args>

                    <arg xmlns:ns="http://org.apache.synapse/xsd" expression="get-property('jmspayload')" />
                    <arg xmlns:ns="http://org.apache.synapse/xsd" expression="get-property('ResponseJSON')"/>
                </args>
                </payloadFactory>               


               <class name="in.youtility.esb.custommediators.JMSStoreMediator" />
               <payloadFactory>
                  <format>
                     <ResponseJSON xmlns="">
                        <Body>
                           <Datalist>
                              <Data>Successfully stored</Data>
                           </Datalist>
                        </Body>
                        <Status>200</Status>
                     </ResponseJSON>
                  </format>
                  <args/>
               </payloadFactory>
               <header name="To" action="remove"/>
               <property name="NO_ENTITY_BODY" scope="axis2" action="remove"/>
               <property name="RESPONSE" value="true"/>
               <send/>
            </else>
         </filter>
      </else>
   </filter>
   <description/>
</sequence>

我正在为这个java类写,但我找不到jar文件我在哪里可以找到这个谢谢Faisal

4

2 回答 2

1

如果你需要写一个类中介,你可以点击这个链接。它描述了创建 jar 文件并将其安装到 ESB 中的所有步骤。

http://soatutorials.blogspot.com/2013/08/10-minute-tutorial-for-extending-wso2.html

于 2013-09-14T09:31:18.923 回答
0

在 ESB 中拥有 DB 事务的最简单的可扩展推荐方法是在 ESB 中使用 WSO2 DSS。您可以非常轻松地编写数据服务以将数据插入数据库。并使用 ESB 事务中介 [1] 来实现事务。

[1] - http://docs.wso2.org/display/ESB470/Transaction+Mediator

于 2013-09-12T16:29:26.187 回答