下面给出了我的路线,我正在尝试使用 HTTP 组件交换数据,URI 包含提交数据并获取响应应该获取数据,但它不起作用
<route>
<from uri="http://gatest.dnb.com/daasaccess/scripts/broker.asp?request=%3C%3Fxml+version%3D%271.0%27+encoding%3D%27UTF-8%27%3F%3E%3CDGX%3E%3CSIGNONMSGSRQV1%3E%3CSONRQ%3E%3CDTCLIENT%3E2007-05-04%3C%2FDTCLIENT%3E%3CUSERID%3Esalesautomation%3C%2FUSERID%3E%3CUSERPASS%3ESFAAdmin%3C%2FUSERPASS%3E%3CLANGUAGE%3EEN%3C%2FLANGUAGE%3E%3CFI%3E%3CORG%3EDandB%3C%2FORG%3E%3C%2FFI%3E%3CAPPID%3EXML%3C%2FAPPID%3E%3CAPPVER%3E0010%3C%2FAPPVER%3E%3C%2FSONRQ%3E%3C%2FSIGNONMSGSRQV1%3E%3CCREDITMSGSRQV2%3E%3CDATATRNRQ%3E%3CTRNUID%3E2D995FE0173B2C%3C%2FTRNUID%3E%3CDATARQ%3E%3CSRVRTID%3E%3C%2FSRVRTID%3E%3CSVC_TYPE_CD%3E%3C%2FSVC_TYPE_CD%3E%3CREAS_CD%3E%3C%2FREAS_CD%3E%3CCUST_ENDR%3E%3C%2FCUST_ENDR%3E%3CCUST_RQ%3E%3C%2FCUST_RQ%3E%3CREFRESH_IND%3E%3C%2FREFRESH_IND%3E%3CIGNORE_REQD_FLDS_IND%3E%3C%2FIGNORE_REQD_FLDS_IND%3E%3CSUBJ_DET%3E%3CDUNS_NBR%3E829654420%3C%2FDUNS_NBR%3E%3CCTRY_CD%3E%3C%2FCTRY_CD%3E%3CTRD_UP_IND%3E%3C%2FTRD_UP_IND%3E%3CPRIM_NME%3E%3C%2FPRIM_NME%3E%3CBUS_REGN_NBR%3E%3C%2FBUS_REGN_NBR%3E%3CBUS_REGN_NBR_TYPE_CD%3E%3C%2FBUS_REGN_NBR_TYPE_CD%3E%3CADR_LINE%3E%3C%2FADR_LINE%3E%3CPOST_TOWN%3E%3C%2FPOST_TOWN%3E%3CPRIM_GEO_AREA%3E%3C%2FPRIM_GEO_AREA%3E%3CPOST_CODE%3E%3C%2FPOST_CODE%3E%3CTLCM_NBR%3E%3C%2FTLCM_NBR%3E%3C%2FSUBJ_DET%3E%3CPROD%3EEnterprise+Management%3C%2FPROD%3E%3CPROD_TYPE_CD%3ED%3C%2FPROD_TYPE_CD%3E%3CDELV_REQS_NOW%3E%3CDELV_MODE_CD%3EDIRECT%3C%2FDELV_MODE_CD%3E%3CDELV_FMT_CD%3EXML%3C%2FDELV_FMT_CD%3E%3CLANG%3EEN%3C%2FLANG%3E%3CDELV_EMAIL%3E%3C%2FDELV_EMAIL%3E%3CDELV_EMAIL_CC%3E%3C%2FDELV_EMAIL_CC%3E%3C%2FDELV_REQS_NOW%3E%3CDELV_REQS_INV%3E%3CDELV_MODE_CD%3E%3C%2FDELV_MODE_CD%3E%3CDELV_FMT_CD%3E%3C%2FDELV_FMT_CD%3E%3CLANG%3E%3C%2FLANG%3E%3CDELV_EMAIL%3E%3C%2FDELV_EMAIL%3E%3CDELV_EMAIL_CC%3E%3C%2FDELV_EMAIL_CC%3E%3C%2FDELV_REQS_INV%3E%3CDELV_REQS_NTFY%3E%3CDELV_MODE_CD%3E%3C%2FDELV_MODE_CD%3E%3CDELV_FMT_CD%3E%3C%2FDELV_FMT_CD%3E%3CLANG%3E%3C%2FLANG%3E%3CDELV_EMAIL%3E%3C%2FDELV_EMAIL%3E%3CDELV_EMAIL_CC%3E%3C%2FDELV_EMAIL_CC%3E%3C%2FDELV_REQS_NTFY%3E%3C%2FDATARQ%3E%3C%2FDATATRNRQ%3E%3C%2FCREDITMSGSRQV2%3E%3C%2FDGX%3E"/>
<log message="starting....."/>
<process ref="nextgenProcessor"/>
<to uri="file://src/test"/>
<log message="ending....."/>
</route>
我收到以下错误:
[ERROR] Error occurred while running main from: org.apache.camel.spring.Main
[ERROR]
java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.camel.maven.RunMojo$1.run(RunMojo.java:488)
at java.lang.Thread.run(Unknown Source)
Caused by: org.apache.camel.RuntimeCamelException: java.lang.UnsupportedOperationException: Cannot consume from http endpoint
基本上错误信息是正确的,你不能使用http组件作为消费者。然而,该文档有点无用。第一行说“http: 组件提供基于 HTTP 的端点消耗外部 HTTP 资源“但在下一节中它指出”你只能produce到 HTTP 组件生成的端点。因此,它永远不应该用作骆驼路由的输入。"
一种方法是使用“direct”或“quartz2”组件作为消费者,然后在生产者中使用“http”组件。例如,此路由将每分钟运行一次,提交到指定的 URL 并使用带时间戳的文件名将响应保存在 /tmp 中:-
<route id="httpFetch">
<from uri="quartz2://httpFetch?cron=00+/1+*+?+*+1-5" />
<to uri="http://gatest.dnb.com/daasaccess/scripts/broker.asp?request=%3C%3Fxml+version%3D%271.0%27+encoding%3D%27UTF-8%27%3F%3E%3CDGX%3E%3CSIGNONMSGSRQV1%3E%3CSONRQ%3E%3CDTCLIENT%3E2007-05-04%3C%2FDTCLIENT%3E%3CUSERID%3Esalesautomation%3C%2FUSERID%3E%3CUSERPASS%3ESFAAdmin%3C%2FUSERPASS%3E%3CLANGUAGE%3EEN%3C%2FLANGUAGE%3E%3CFI%3E%3CORG%3EDandB%3C%2FORG%3E%3C%2FFI%3E%3CAPPID%3EXML%3C%2FAPPID%3E%3CAPPVER%3E0010%3C%2FAPPVER%3E%3C%2FSONRQ%3E%3C%2FSIGNONMSGSRQV1%3E%3CCREDITMSGSRQV2%3E%3CDATATRNRQ%3E%3CTRNUID%3E2D995FE0173B2C%3C%2FTRNUID%3E%3CDATARQ%3E%3CSRVRTID%3E%3C%2FSRVRTID%3E%3CSVC_TYPE_CD%3E%3C%2FSVC_TYPE_CD%3E%3CREAS_CD%3E%3C%2FREAS_CD%3E%3CCUST_ENDR%3E%3C%2FCUST_ENDR%3E%3CCUST_RQ%3E%3C%2FCUST_RQ%3E%3CREFRESH_IND%3E%3C%2FREFRESH_IND%3E%3CIGNORE_REQD_FLDS_IND%3E%3C%2FIGNORE_REQD_FLDS_IND%3E%3CSUBJ_DET%3E%3CDUNS_NBR%3E829654420%3C%2FDUNS_NBR%3E%3CCTRY_CD%3E%3C%2FCTRY_CD%3E%3CTRD_UP_IND%3E%3C%2FTRD_UP_IND%3E%3CPRIM_NME%3E%3C%2FPRIM_NME%3E%3CBUS_REGN_NBR%3E%3C%2FBUS_REGN_NBR%3E%3CBUS_REGN_NBR_TYPE_CD%3E%3C%2FBUS_REGN_NBR_TYPE_CD%3E%3CADR_LINE%3E%3C%2FADR_LINE%3E%3CPOST_TOWN%3E%3C%2FPOST_TOWN%3E%3CPRIM_GEO_AREA%3E%3C%2FPRIM_GEO_AREA%3E%3CPOST_CODE%3E%3C%2FPOST_CODE%3E%3CTLCM_NBR%3E%3C%2FTLCM_NBR%3E%3C%2FSUBJ_DET%3E%3CPROD%3EEnterprise+Management%3C%2FPROD%3E%3CPROD_TYPE_CD%3ED%3C%2FPROD_TYPE_CD%3E%3CDELV_REQS_NOW%3E%3CDELV_MODE_CD%3EDIRECT%3C%2FDELV_MODE_CD%3E%3CDELV_FMT_CD%3EXML%3C%2FDELV_FMT_CD%3E%3CLANG%3EEN%3C%2FLANG%3E%3CDELV_EMAIL%3E%3C%2FDELV_EMAIL%3E%3CDELV_EMAIL_CC%3E%3C%2FDELV_EMAIL_CC%3E%3C%2FDELV_REQS_NOW%3E%3CDELV_REQS_INV%3E%3CDELV_MODE_CD%3E%3C%2FDELV_MODE_CD%3E%3CDELV_FMT_CD%3E%3C%2FDELV_FMT_CD%3E%3CLANG%3E%3C%2FLANG%3E%3CDELV_EMAIL%3E%3C%2FDELV_EMAIL%3E%3CDELV_EMAIL_CC%3E%3C%2FDELV_EMAIL_CC%3E%3C%2FDELV_REQS_INV%3E%3CDELV_REQS_NTFY%3E%3CDELV_MODE_CD%3E%3C%2FDELV_MODE_CD%3E%3CDELV_FMT_CD%3E%3C%2FDELV_FMT_CD%3E%3CLANG%3E%3C%2FLANG%3E%3CDELV_EMAIL%3E%3C%2FDELV_EMAIL%3E%3CDELV_EMAIL_CC%3E%3C%2FDELV_EMAIL_CC%3E%3C%2FDELV_REQS_NTFY%3E%3C%2FDATARQ%3E%3C%2FDATATRNRQ%3E%3C%2FCREDITMSGSRQV2%3E%3C%2FDGX%3E"/>
<to uri="file:/tmp?fileName=data-${date:now:yyyyMMdd-HHmm}.xml&tempFileName=data-${date:now:yyyyMMdd-HHmm}.xml.part" />
</route>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)