2

在我当前使用 IBM Content Collector 4.0.1 SP5 和 IBM Filenet P8 Content Engine 5.2.1 的项目中,我需要从文件系统收集文件并将它们添加到某个 P8 的对象存储中。

这个问题是相关的,在这个问题之后。

WS 响应必须符合名为 Esito 的自定义元数据源,其中包含两个名为resultCode和的元数据属性message

调用似乎是正确的,但是当得到响应时,我可以在日志中阅读此消息,并且文件未上传到 P8 内容管理器中:

2017-11-10T08:54:05.708Z FINEST [52] [ctms-native] 2017-11-10T08:54:05Z Trace2 0x15a4 使用 1 个 TaskInputs ufibridge.dll:0x114ac [com.ibm.afu.ufibridge.logging .LoggingAdapter 日志] [CTMS-task-15a4 45] 2017-11-10T08:54:05.708Z FINEST [53] 准备发送到 Web 服务的内容:{"e:\report\amm_000001_00001\2017\11\201711_amm_000001_00001_qxn_report_000000 :{"esito":"KO","文件名":"201711_AMM_000001_00001_QXN_REPORT_00(1)(2)(3).pdf"},"e:\report\amm_000001_00001\2017\11\201711_amm_000001_00001_qxn_ito_00." ":"KO","fileName":"201711_AMM_000001_00001_QXN_REPORT_00(1)(2)(3).xml"}} [com.ibm.afu.connector.webservice.task.InvokeServiceTask getInputHttpEntity] [CTMS-task-15a4 45] 2017-11-10T08:54:05。708Z 最佳 [54] 配置:

属性名称=“消息”类型=“字符串”显示名称=“消息”
属性名称=“结果代码”类型=“字符串”显示名称=“结果代码”
http://192.168.8.29:8080/sirfAcq/filenet/notificaArchiviazione

文件名 esito [com.ibm.afu.connector.webservice.task.InvokeServiceTask 执行] [CTMS-task-15a4 45] 2017-11-10T08:54:05.708Z FINEST [55] 调用 web 服务 URI:http://192.168。 8.29:8080/sirfAcq/filenet/notificaArchiviazione [com.ibm.afu.connector.webservice.task.InvokeServiceTask 执行] [CTMS-task-15a4 45] 2017-11-10T08:54:05.739Z FINEST [56] 调用耗时(毫秒):31 [com.ibm .afu.connector.webservice.task.InvokeServiceTask 执行] [CTMS-task-15a4 45] 2017-11-10T08:54:05.739Z 严重 [57] java.lang.String 与 com.ibm.json.java.JSONObject 不兼容[com.ibm.afu.connector.webservice.task.InvokeServiceTask 执行] [CTMS-task-15a4 45]异常 [java.lang.ClassCastException]:java.lang.String 与 com.ibm.json.java.JSONObject com 不兼容.ibm.afu.connector.webservice.task.InvokeServiceTask.processResponse(InvokeServiceTask.java:140) com.ibm.afu.connector.webservice.task.InvokeServiceTask.execute(InvokeServiceTask.java:112)

有人可以解释一下 WS 响应 JSON 的正确格式吗?
是否可以使用单向模式而不是请求响应模式?

4

1 回答 1

0

这个问题似乎是由于生产和响应主体定义之间的不兼容而发生的,根据我为您的第一篇文章提供的代码片段,您的问题应该在这里:

   produces = {MediaType.APPLICATION_JSON_VALUE, MediaType.APPLICATION_XML_VALUE })

   @ResponseBody
   String notificaArchiviazione(@RequestParam("fileName") String fileName, @RequestParam("esito") String esito)

生产中的第一个参数是 JSON MediaType.APPLICATION_JSON_VALUE,而在响应正文中您需要一个字符串@RequestParam("fileName") String fileName

于 2017-11-17T23:41:39.710 回答