【问题标题】:Why end point returning below error while processing request?为什么在处理请求时端点返回错误以下?
【发布时间】:2020-06-02 08:18:25
【问题描述】:

详细信息:- 添加了我的 wso2 项目的 Datamapper 进程内模块。但是当我使用命令提示符向我的后端服务发送请求 JSON 时,我从端点收到以下错误。

--在集成工作室的控制台窗口中。

详细信息:- 从下面的日志中,我可以说它在端点之前通过了一个日志模块。

[2020-02-18 15:25:14,521]  INFO {org.apache.synapse.mediators.builtin.LogMediator} - message = Routing to clemency medical center

[2020-02-18 15:46:22,301]  INFO {org.apache.synapse.mediators.builtin.LogMediator} - message = Routing to clemency medical center

---在命令提示符中出现错误:-

F:\WS02\WSO2 Integration Studio\Request_JSON\HelathCare\Transforming Message Content>curl -v -X POST --data @request.json http://localhost:8280/healthcare/categories/surgery/reserve --header "Content-Type:application/json"
Note: Unnecessary use of -X or --request, POST is already inferred.
*   Trying ::1...
* TCP_NODELAY set
*   Trying 127.0.0.1...
* TCP_NODELAY set
* Connected to localhost (127.0.0.1) port 8280 (#0)
> POST /healthcare/categories/surgery/reserve HTTP/1.1
> Host: localhost:8280
> User-Agent: curl/7.55.1
> Accept: */*
> Content-Type:application/json
> Content-Length: 200
>
* upload completely sent off: 200 out of 200 bytes
< HTTP/1.1 500 Internal Server Error
< Accept-Ranges: none
< Access-Control-Allow-Methods: POST
< Set-Cookie: SERVERID=s0; path=/
< Access-Control-Allow-Headers: content-type
< Content-Type: application/octet-stream
< Via: HTTP/1.1 forward.http.proxy:8080
< Date: Tue, 18 Feb 2020 10:16:27 GMT
< Transfer-Encoding: chunked
<
Error in executing request: POST /clemency/categories/surgery/reserve* Connection #0 to host localhost left intact

以下是使用的请求和响应 JSON 内容。

  1. 请求内容(客户端请求的内容格式如下)

    {
      "name": "John Doe",
      "dob": "1940-03-19",
      "ssn": "234-23-525",
      "address": "California",
      "phone": "8770586755",
      "email": "johndoe@gmail.com",
      "doctor": "thomas collins",
      "hospital": "grand oak community hospital"
    }
    
  2. 我们期望使用来自后端服务的数据映射器的响应。

    {
      "patient": {
        "name": "John Doe",
        "dob": "1990-03-19",
        "ssn": "234-23-525",
        "address": "California",
        "phone": "8770586755",
        "email": "johndoe@gmail.com"
      },
      "doctor": "thomas collins",
      "hospital": "grand oak community hospital"
    }
    

【问题讨论】:

  • 可以分享一下你用过的突触神器吗?
  • 嗨 Arunan .. 数据映射器在工作流程中的适当调解之后使用,然后在切换案例将请求路由到请求的医院之后使用。请找到下面的链接,它可以让您了解所做的事情..docs.wso2.com/display/EI600/Transforming+Message+Content
  • 除了INFO {org.apache.synapse.mediators.builtin.LogMediator} - message = Routing to clemency medical center 之外,您是否在Integration Studio的控制台中收到任何其他错误?
  • 不..我没有收到除此之外的任何其他错误 [2020-02-19 16:43:18,370] INFO {org.apache.synapse.mediators.builtin.LogMediator} - 消息 = 路由到宽大的医疗中心。它来自终点之前的日志。已使用 get property 来执行此操作 (fn:concat('Routing to ', get-property('Hospital')))
  • 嗨@ArunanSugunakumar ..任何错误的运气..尝试了很多次但不明白。我还制作了另一个示例 API 并为其创建了工作流..我在请求 JSON 文件中进行了更改..它发布了我的数据并将该请求与 JSON 在工作流中使用 Datamapper 调解器的响应映射..我仍然不是能够这样做..它失败了..在集成商的控制台中收到了以下错误。

标签: wso2 wso2esb wso2ei


【解决方案1】:

在使用数据映射器方法的情况下,只需确保您提供的输入和输出模式以及成功映射输入和输出以从 XML 转换为 JSON 后,反之亦然。请确保 Data-Mapper 的属性根据您的要求进行输入和输出。

默认情况下,它设置为 XML 到 XML。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-09-03
    • 1970-01-01
    • 2019-09-10
    • 2015-07-06
    • 2017-11-08
    • 1970-01-01
    • 1970-01-01
    • 2021-09-29
    相关资源
    最近更新 更多