微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使用 java cxf 创建客户端 TGT

如何解决如何使用 java cxf 创建客户端 TGT

我是 java rest CXF 客户端的新手。我将向远程服务器发出各种请求,但首先我需要创建一个票证授予票证 (TGT)。我查看了各种来源,但找不到解决方案。我将创建一个TGT的服务器请求如下:

  • Content-Type:文本作为参数,应用程序/x-www-form-urlencoded 作为值
  • 用户名
  • 密码

当我使用 Postman 使用如下示例 URL 发出此请求时,我创建了 TGT。 (URL 是示例)。但在下面的代码中,我正在发送请求,但响应为空。你能帮我解决吗?

我使用 Postman 通过 POST 方法发出请求的示例 URL:https://test.service.com/v1/tickets?format=text&username=user&password=pass

List<Object> providers = new ArrayList<Object>();
providers.add(new JacksonjsonProvider());
        
WebClient client = WebClient.create("https://test.service.com/v1/tickets?format=text&username=user&password=pass",providers);
          
Response response = client.getResponse();

解决方法

你需要做一个 POST,但你没有指定你的有效载荷是什么样的?

你的 RequestDTO 和 ResponseDTO 必须有 getter/setter。

使用 JAX-RS 2.0 客户端的示例。

Client client = ClientBuilder.newBuilder().register(new JacksonJsonProvider()).build();
    WebTarget target = client.target("https://test.service.com/v1/tickets");
    target.queryParam("format","text");
    target.queryParam("username","username");
    target.queryParam("password","password");
    Response response = target.request().accept(MediaType.APPLICATION_FORM_URLENCODED).post(Entity.entity(yourPostDTO,MediaType.APPLICATION_JSON));
    YourResponseDTO responseDTO = response.readEntity(YourResponseDTO.class);
    int status = response.getStatus();

如果您将来自 POSTMAN 的 POST 请求复制为 cURL 请求,那么还有其他帮助。了解您的请求和 POSTMAN 之间的差异可能会有所帮助。也许邮递员添加了额外/不同的标题?

文档:https://cxf.apache.org/docs/jax-rs-client-api.html#JAX-RSClientAPI-JAX-RS2.0andCXFspecificAPI

类似的 Stackoverflow:Is there a way to configure the ClientBuilder POST request that would enable it to receive both a return code AND a JSON object?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?