当前位置: 首页 > 知识库问答 >
问题:

WSO2 DSS-调用REST的问题,JSON的GET操作

田巴英
2023-03-14

在将内容作为JSON调用REST上的WSO2数据服务时,我创建了一个服务,它要求我发送一个参数化的get,在我的例子中是

http://localhost:9765/services/TRAVEL_DSS_REST.HTTPEndpoint/Cost_Filter?PACKAGE_COST=1000

虽然我得到的是XML格式的响应,但在调用REST服务时,我没有得到JSON格式的响应。

使用curl尝试了多个选项:curl-i-h--header content-type:“application/json”“accept:application/json”http:// : /services/travel_dss_rest.httpendpoint/cost_filter?package_cost=1000

和Chrome高级Rest客户端插件。

引用了@This stackoverflow链接提供的解决方案

考虑到这一点,我假设我们必须发送GET参数,同时访问url中编码的WSO2-DS REST服务以获得JSON响应。

我将通过WSO2-ESB在WSO2-DS上调用这个REST服务,不确定如何从ESB发送编码请求来调用服务,我希望以JSON格式接收消息。

我已经在WSO2 ESB中开发了一个REST API来调用DS,虽然我能够在控制台中看到目录服务的响应,但我无法在客户端浏览器中看到它:(下面是REST API的代码块

      `<api xmlns="http://ws.apache.org/ns/synapse" name="DSSClient" context="/DSSClient" hostname="localhost">
<resource methods="GET" uri-template="/{str1}">
    <inSequence>
        <property name="REST_URL_POSTFIX" expression="fn:concat('/Cost_Filter?PACKAGE_COST=',get-property('uri.var.str1'))" scope="axis2" type="STRING"/>
        <log level="full"/>
        <send>
            <endpoint>
                <address uri="http://10.203.245.47:9765/services/TRAVEL_DSS_REST.HTTPEndpoint/"/>
            </endpoint>
        </send>
    </inSequence>
    <outSequence>
        <log level="full"/>
        <log separator=",">
            <property name="response" value="***starting OUT Sequence****"/>
        </log>
        <property name="messageType" value="application/json/badgerfish" scope="axis2" type="STRING"/>
        <property name="ContentType" value="application/json/badgerfish" scope="axis2" type="STRING"/>
        <send/>
    </outSequence>
    <faultSequence/>
</resource>

`

相同的控制台日志

[2013-05-23 11:12:12,833]Info-LogMediator to:http://www.w3.org/2005/08/addressing/anonymous,wsaction:,soapaction:,messageid:urn:uuid:19b3edc6-1203-4778-b14d-47bb3a66e959,direction:response,envelope:<?xml version='1.0'encoding='UTF-8'?>

请帮助我关于这个问题,如果任何在代码或任何参数需要添加到conf。

谢谢Ranjan


共有1个答案

乜璞瑜
2023-03-14

我得到了一个解决办法,当我 在发送中介器之前,您可以看到curl中的响应时,这个场景就可以工作了。

 类似资料:
  • 还尝试使用以下功能扩展WebMvcConfigurationSupport 我使用的是Spring Boot版本1.5.22。你知道什么是错误的吗?好像我的配置被忽略了

  • 我正在尝试向我的应用程序添加一些带有Rest-Asure的测试,但我不知道如何断言一些嵌套值。错误消息是: 预期:(包含“json”的集合)实际:[[json、spring、gulp、path等。]] 代码如下: 这是rest控制器返回的JSON文件: 我不知道如何做出正确的断言,任何帮助都很好。谢谢!

  • 我正在使用Get请求调用部署在本地Apache Tomcat服务器上的war文件中的Rest服务,URL“HTTP://localhost:8080/usermanagement/Rest/userservice/users/1”返回一个用户,但URL“HTTP://localhost:8080/usermanagement/Rest/userservice/users/1”返回HTTP状态404

  • 我在一个个人项目中重新学习Java,Springboot。我有一个名为的实体,它通过的自动生成脚手架进行管理。我还有一个,它是我创建的一个实体,用于保存额外的数据(因为我不想乱搞对象。现在,当我为公开RESTendpoint时,我希望GET调用包含作为JSON的一部分,PUT/POST调用接受用于,进行关联并仅持续存在。正在使用的ORM是Hibernate/JPA。我应该使用哪些Jackson注释

  • 我正在使用Basecamp API,它是一个REST(JSON)API,使用HTTPS上的基本HTTP身份验证。 这应该是一个GET请求,但当我使用GET运行我的代码时,我收到了: 无法发送包含此谓词类型的内容正文 当我将其作为POST运行时,我会收到: {“状态”:“400”,“错误”:“错误的请求”} 有谁知道为什么会发生这种情况? 在此代码中,我显然交换了用户名,密码,项目名称和URL,但在

  • 我一直在尝试从Dealabs网站上执行一些web抓取。 下面是示例页面: https://www.dealabs.com/bons-plans/saneo-climatiseur-2166879 主要目标是能够获得所有评论并打印出来。 示例代码如下: 事实上,通过这样做,我只能收集最受好评的评论,而不是所有评论。 我有点困惑。 我是不是漏了什么? 提前感谢