Tibco未从柑橘测试接收柑橘JDBC消息

Tibco未从柑橘测试接收柑橘JDBC消息,jdbc,tibco,citrus-framework,Jdbc,Tibco,Citrus Framework,我逐渐了解了citrus框架,所以我用XMLDSL做了一些基本测试,直到我想用citrus测试一个简单的JDBC查询为止。它不适用于XMLDSL,所以我切换到JavaDSL,但我得到了相同的错误 触发JMS接收器后,我在tibco中执行SQL查询,如果出现任何错误,我的JMS错误队列将被触发。 因此,对于使用Citrus的任何测试,我都会得到一条JMS错误队列消息,其中包含提供的错误。Tibco中的MSG代码:BW-JDBC-100014 我将最新的citrus db驱动程序放入。/tibco/

我逐渐了解了citrus框架,所以我用XMLDSL做了一些基本测试,直到我想用citrus测试一个简单的JDBC查询为止。它不适用于XMLDSL,所以我切换到JavaDSL,但我得到了相同的错误

触发JMS接收器后,我在tibco中执行SQL查询,如果出现任何错误,我的JMS错误队列将被触发。 因此,对于使用Citrus的任何测试,我都会得到一条JMS错误队列消息,其中包含提供的错误。Tibco中的MSG代码:BW-JDBC-100014

我将最新的citrus db驱动程序放入
。/tibco/tpcl/5.10/jdbc/
。/tibco/tpcl/5.10/lib/
中,并用以下内容更新了designer.tra文件

## this will be prepended to tibco.class.path.extended
tibco.env.CUSTOM_CP_EXT ... :%TPCL_HOME%/jdbc/citrus-db-driver-0.2-....-full.jar

# Set CLASS PATH
tibco.env.STD_CP_EXT ... :%TPCL_HOME%/jdbc/citrus-db-driver-0.2-...-full.jar
我没有更多的想法来尝试什么,可能是我做了一些基本的错误

<?xml version = "1.0" encoding = "UTF-8"?>
<exceptiondata>
    <ActivityErrors>
        <ns0:JDBCSQLException xmlns:ns0 = "http://schemas.tibco.com/bw/plugins/jdbc/5.0/jdbcExceptions">
            <msg>"JDBC error reported: (SQLState = null) - java.sql.SQLException: com.shaded.fasterxml.jackson.databind.exc.MismatchedInputException: Cannot deserialize instance of `com.consol.citrus.db.driver.exchange.DatabaseResult` out of START_ARRAY token  at [Source: (org.shaded.apache.http.conn.EofSensorInputStream); line: 1, column: 1]"</msg>
            <msgCode>BW-JDBC-100014</msgCode>
            <sqlState/>
            <detailStr>java.sql.SQLException: com.shaded.fasterxml.jackson.databind.exc.MismatchedInputException: Cannot deserialize instance of `com.consol.citrus.db.driver.exchange.DatabaseResult` out of START_ARRAY token
 at [Source: (org.shaded.apache.http.conn.EofSensorInputStream); line: 1, column: 1]
            </detailStr>
        </ns0:JDBCSQLException>
    </ActivityErrors>
</exceptiondata>
编辑:如果我错过了一些重要的东西,请发发发慈悲吧,这是我的第一篇文章,但时间很长。:-)


EDIT2:当我将JDBC查询更改为JDBC更新(Tibco工具)时,它运行良好。我不明白为什么,如果我不得不猜测是发送的答案无法正确读取?

我不知道这是否是错误,但当我切换到旧版本的citrus db驱动程序时,我对SQL查询没有任何问题


因此,使用
citrus-db-driver-0.2-20180506.225718-22-full.jar时,它确实有效,但使用
citrus-db-driver-0.2.0-20190610.094549-full.jar时,我在Tibco中运行SQL查询时遇到了问题,使用了简单的Select语句,如
“从id=123的书中选择标题”

我不熟悉柑橘框架,但对我来说,它看起来很简单像citrus框架一样,它只提供数据库模型,而不是真正的数据库。Tibco BW 5可能不支持citrus jdbc驱动程序。只是想知道如何在tibco bW5中设置JDBC与citrus数据库的连接?您能够从JDBC连接活动中进行“测试连接”吗?我认为Tibco BW 5支持citrus驱动程序,它运行良好,除了SQL查询的这一点。但是,如果我错了,请纠正我。你提供的数据库模型是正确的,所以这就是为什么我模拟一个传入的SQL查询(如果匹配),然后模拟从jdbc返回一个答案。这就是它失败的地方,因为Tibco无法转换我的消息。在Tibco中,我使用链接到JDBC连接的全局变量(真实数据)配置了数据库。然后我可以在我的citrus配置文件“nameOfYourConfig.config”中放入模拟的jdbc驱动程序连接。如果启动Tibco,请使用Tester的高级参数。
[INFO] Scanning for projects...
[INFO]                                                                         
[INFO] ------------------------------------------------------------------------
[INFO] Building Citrus Integration Test 1.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO] 
[INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ CitrusTest ---
[INFO] Deleting /local-home/workspace/myProject/CitrusTest/target
[INFO] 
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ CitrusTest ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory /local-home/workspace/myProject/CitrusTest/src/main/resources
[INFO] 
[INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @ CitrusTest ---
[INFO] No sources to compile
[INFO] 
[INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ CitrusTest ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 4 resources
[INFO] Copying 6 resources
[INFO] 
[INFO] --- maven-compiler-plugin:3.1:testCompile (default-testCompile) @ CitrusTest ---
[INFO] Changes detected - recompiling the module!
[INFO] Compiling 7 source files to /local-home/workspace/myProject/CitrusTest/target/test-classes
[INFO] 
[INFO] --- maven-surefire-plugin:2.20.1:test (default-test) @ CitrusTest ---
[INFO] 
[INFO] -------------------------------------------------------
[INFO]  T E S T S
[INFO] -------------------------------------------------------
[INFO] Running de.myProject.ea.MyJdbcTest
10:59:54,419 INFO  BeanDefinitionReader| Loading XML bean definitions from URL [file:/local-home/workspace/myProject/CitrusTest/target/test-classes/citrus-context.xml]
10:59:55,319 INFO              util.log| Logging initialized @1777ms to org.eclipse.jetty.util.log.Slf4jLog
10:59:55,374 INFO  .EmbeddedJettyServer| == Spark has ignited ...
10:59:55,374 INFO  .EmbeddedJettyServer| >> Listening on 0.0.0.0:3307
10:59:55,377 INFO         server.Server| jetty-9.4.11.v20180605; built: 2018-06-05T18:24:03.829Z; git: d5fc0523cfa96bfebfbda19606cad384d772f04c; jvm 1.8.0_152-b16
10:59:55,402 INFO        server.session| DefaultSessionIdManager workerName=node0
10:59:55,402 INFO        server.session| No SessionScavenger set, using defaults
10:59:55,403 INFO        server.session| node0 Scavenging every 660000ms
10:59:55,442 INFO  er.AbstractConnector| Started ServerConnector@74a8c155{HTTP/1.1,[http/1.1]}{0.0.0.0:3307}
10:59:55,442 INFO         server.Server| Started @1900ms
10:59:55,442 INFO     server.JdbcServer| Started server: jdbcServer_DBName
10:59:55,498 INFO         server.Server| jetty-9.4.11.v20180605; built: 2018-06-05T18:24:03.829Z; git: d5fc0523cfa96bfebfbda19606cad384d772f04c; jvm 1.8.0_152-b16
10:59:55,529 INFO   ContextHandler.ROOT| Initializing Spring FrameworkServlet 'WebServer_webservicename-servlet'
10:59:55,529 INFO  ageDispatcherServlet| FrameworkServlet 'WebServer_webservicename-servlet': initialization started
10:59:55,673 INFO  ageDispatcherServlet| FrameworkServlet 'WebServer_webservicename-servlet': initialization completed in 144 ms
10:59:55,673 INFO  ndler.ContextHandler| Started o.e.j.s.ServletContextHandler@726a17c4{/,file:///local-home/workspace/myProject/CitrusTest/src/main/resources,AVAILABLE}
10:59:55,680 INFO  er.AbstractConnector| Started ServerConnector@2687f956{HTTP/1.1,[http/1.1]}{0.0.0.0:12345}
10:59:55,680 INFO         server.Server| Started @2138ms
10:59:55,680 INFO  ver.WebServiceServer| Started server: WebServer_webservicename
10:59:55,714 INFO  port.LoggingReporter| 
10:59:55,714 INFO  port.LoggingReporter| ------------------------------------------------------------------------
10:59:55,714 INFO  port.LoggingReporter|        .__  __                       
10:59:55,714 INFO  port.LoggingReporter|   ____ |__|/  |________ __ __  ______
10:59:55,714 INFO  port.LoggingReporter| _/ ___\|  \   __\_  __ \  |  \/  ___/
10:59:55,714 INFO  port.LoggingReporter| \  \___|  ||  |  |  | \/  |  /\___ \ 
10:59:55,714 INFO  port.LoggingReporter|  \___  >__||__|  |__|  |____//____  >
10:59:55,714 INFO  port.LoggingReporter|      \/                           \/
10:59:55,714 INFO  port.LoggingReporter| 
10:59:55,715 INFO  port.LoggingReporter| C I T R U S  T E S T S  2.8.0
10:59:55,715 INFO  port.LoggingReporter| 
10:59:55,715 INFO  port.LoggingReporter| ------------------------------------------------------------------------
10:59:55,715 INFO  port.LoggingReporter| 
10:59:55,715 INFO  port.LoggingReporter| 
10:59:55,715 INFO  port.LoggingReporter| BEFORE TEST SUITE: SUCCESS
10:59:55,715 INFO  port.LoggingReporter| ------------------------------------------------------------------------
10:59:55,715 INFO  port.LoggingReporter| 
10:59:55,763 WARN     server.JdbcServer| Unable to create test context factory from Spring application context - using minimal test context factory
10:59:55,765 INFO  .EmbeddedJettyServer| == Spark has ignited ...
10:59:55,765 INFO  .EmbeddedJettyServer| >> Listening on 0.0.0.0:3308
10:59:55,765 INFO         server.Server| jetty-9.4.11.v20180605; built: 2018-06-05T18:24:03.829Z; git: ...; jvm 1.8.0_152-b16
10:59:55,767 INFO        server.session| DefaultSessionIdManager workerName=node0
10:59:55,767 INFO        server.session| No SessionScavenger set, using defaults
10:59:55,767 INFO        server.session| node0 Scavenging every 600000ms
10:59:55,772 INFO  er.AbstractConnector| Started ServerConnector@13db0f9f{HTTP/1.1,[http/1.1]}{0.0.0.0:3308}
10:59:55,772 INFO         server.Server| Started @2231ms
10:59:55,772 INFO     server.JdbcServer| Started server: JdbcServer
10:59:55,816 INFO  port.LoggingReporter| 
10:59:55,816 INFO  port.LoggingReporter| ------------------------------------------------------------------------
10:59:55,816 INFO  port.LoggingReporter| 
10:59:55,817 INFO  port.LoggingReporter| 
10:59:56,289 INFO  PurgeJmsQueuesAction| Purged JMS queues
10:59:56,290 INFO  port.LoggingReporter| 
10:59:56,290 INFO  port.LoggingReporter| 
10:59:56,290 INFO    actions.EchoAction|  Queues erfolgreich bereinigt! 
10:59:56,291 INFO  port.LoggingReporter| 
10:59:56,291 INFO  port.LoggingReporter| 
10:59:56,332 INFO  endpoint.JmsProducer| Message was sent to JMS destination: 'jdbc.trigger'
10:59:56,333 INFO  port.LoggingReporter| 
10:59:56,333 INFO  port.LoggingReporter| 
10:59:56,333 INFO    actions.EchoAction| JMS Message was sent to: myJmsJdbcSender
10:59:56,333 INFO  port.LoggingReporter| 
10:59:56,333 INFO  port.LoggingReporter| 
10:59:56,429 INFO     server.JdbcServer| GET http://localhost:3308/connection/transaction
10:59:56,440 INFO     server.JdbcServer| POST http://localhost:3308/query
10:59:56,442 INFO  intAdapterController| Received execute query request: select o.value from order_db o where o.orderid=? - (123)
10:59:56,494 INFO  .ChannelSyncProducer| Message was sent to channel: 'JdbcServer.inbound'
10:59:56,530 INFO  TextMessageValidator| XML message validation successful: All values OK
10:59:56,530 INFO  ssageHeaderValidator| Message header validation successful: All values OK
10:59:56,530 INFO  port.LoggingReporter| 
10:59:56,530 INFO  port.LoggingReporter| 
10:59:56,530 INFO    actions.EchoAction| SQL Query erfolgreich: select o.value from order_db o where o.orderid=? - (123)
10:59:56,530 INFO  port.LoggingReporter| 
10:59:56,530 INFO  port.LoggingReporter| 
10:59:56,533 INFO  .ChannelSyncConsumer| Message was sent to reply channel: 'org.springframework.messaging.core.GenericMessagingTemplate$TemporaryReplyChannel@5c1f6d57'
10:59:56,533 INFO  .ChannelSyncProducer| Received synchronous response from reply channel
10:59:56,533 INFO  port.LoggingReporter| 
10:59:56,533 INFO  port.LoggingReporter| 
10:59:56,533 INFO    actions.EchoAction| SQL Antwort erfolgreich.
10:59:56,533 INFO  port.LoggingReporter| 
10:59:56,601 INFO     server.JdbcServer| GET http://localhost:3308/statement
10:59:56,638 INFO  port.LoggingReporter| 
10:59:56,639 INFO  port.LoggingReporter| TEST SUCCESS MyJdbcTest (de.myProject.ea)
10:59:56,639 INFO  port.LoggingReporter| ------------------------------------------------------------------------
10:59:56,639 INFO  port.LoggingReporter| 
10:59:56,656 INFO  port.LoggingReporter| 
10:59:56,656 INFO  port.LoggingReporter| ------------------------------------------------------------------------
10:59:56,656 INFO  port.LoggingReporter| 
10:59:56,656 INFO  port.LoggingReporter| 
10:59:56,656 INFO  port.LoggingReporter| AFTER TEST SUITE: SUCCESS
10:59:56,656 INFO  port.LoggingReporter| ------------------------------------------------------------------------
10:59:56,656 INFO  port.LoggingReporter| 
10:59:56,656 INFO  port.LoggingReporter| ------------------------------------------------------------------------
10:59:56,656 INFO  port.LoggingReporter| 
10:59:56,656 INFO  port.LoggingReporter| CITRUS TEST RESULTS
10:59:56,656 INFO  port.LoggingReporter| 
10:59:56,657 INFO  port.LoggingReporter|  MyJdbcTest ..................................................... SUCCESS
10:59:56,657 INFO  port.LoggingReporter| 
10:59:56,657 INFO  port.LoggingReporter| TOTAL: 1
10:59:56,658 INFO  port.LoggingReporter| FAILED:    0 (0.0%)
10:59:56,658 INFO  port.LoggingReporter| SUCCESS:   1 (100.0%)
10:59:56,658 INFO  port.LoggingReporter| 
10:59:56,658 INFO  port.LoggingReporter| ------------------------------------------------------------------------
10:59:56,680 INFO  ctOutputFileReporter| Generated test report: target/citrus-reports/citrus-test-results.html
[INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.943 s - in de.myProject.ea.MyJdbcTest
10:59:56,800 INFO  er.AbstractConnector| Stopped ServerConnector@2687f956{HTTP/1.1,[http/1.1]}{0.0.0.0:12345}
10:59:56,800 INFO   ContextHandler.ROOT| Destroying Spring FrameworkServlet 'WebServer_webservicename-servlet'
10:59:56,803 INFO  ndler.ContextHandler| Stopped o.e.j.s.ServletContextHandler@726a17c4{/,file:///local-home/workspace/myProject/CitrusTest/src/main/resources,UNAVAILABLE}
10:59:56,804 INFO  .EmbeddedJettyServer| >>> Spark shutting down ...
[INFO] 
[INFO] Results:
[INFO] 
[INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0
[INFO] 
[INFO] 
[INFO] --- maven-jar-plugin:2.4:jar (default-jar) @ CitrusTest ---
[WARNING] JAR will be empty - no content was marked for inclusion!
[INFO] Building jar: /local-home/workspace/myProject/CitrusTest/target/CitrusTest-1.0-SNAPSHOT.jar
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 5.522 s
[INFO] Finished at: 2019-07-12T10:59:57+02:00
[INFO] Final Memory: 34M/601M
[INFO] ------------------------------------------------------------------------