问题标签 [cxf-client]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
3583 浏览

java - 在 CXF 休息服务中访问 post 方法时出现问题

我正在尝试使用 CXF 3.1.2 创建一个简单的 Restful Web 服务和客户端,如下所示,

服务:

客户:

在这里,我在访问 login(Get) 方法方面没有问题,它按预期工作。但是当我尝试访问 logout(Post) 方法时,我收到以下错误,

你能纠正我的错误吗

谢谢,

0 投票
1 回答
1508 浏览

java - 在 CXF Rest 客户端中使用 client.reset

我正在使用 CXF 3.1.2 开发 Rest web 服务和客户端,我几乎没有澄清如下,

服务:

客户:

说明:

  1. 在我上面的例子中 - 在服务类 Post 方法(agentLogout)中,如果我替换为,我会收到错误@Consumes({"application/xml", MediaType.TEXT_PLAIN})
    @Consumes(MediaType.TEXT_PLAIN)而它在 Get 方法(agentLogin)中工作正常,我可以知道为什么会这样吗?

  2. 使用是正确的client.reset();- 在这里我尝试使用单个 WebClient 来访问我的所有方法。

  3. 您能否让我知道我在示例中尝试的最佳实践是什么?如果您能在这里纠正我,我们将不胜感激

谢谢,

0 投票
1 回答
1087 浏览

java - 休息CXF中是否有生产和消费注释的默认类型

下面是我试过的例子:

服务方法声明:

客户端代码:

上面的示例运行良好,并产生如下输出:

3101 DN--->注销

我的问题:

  1. 我没有在服务方法中配置生产和消费中的任何类型(如您所见,我已经对其进行了评论),但是它执行得很好并产生了输出 - 我可以知道它是如何实现的吗?
  2. 我们有生产和消费的默认类型吗?
0 投票
2 回答
668 浏览

spring - 处理 rs 客户端 cxf 中的异常

我试图搜索这个,但我无法在任何地方找到解决方案。我真正想做的是我在云上实现了一项休息服务(第 3 方)。从我的应用程序中,我只实现了一个休息客户端(CXF 2.7.2),它在云上调用此服务并在返回对客户端的响应(主要是本机移动应用程序)之前进行一些处理。所以基本上它充当中间件。基本上,我想在中间件(rs-client)上实现一个通用的异常处理。服务实现(第 3 方)对我来说是一个黑匣子,我无法访问他们的代码。当我使用客户端使用服务时,有时会收到带有正确消息的响应 400(我最终会收到带有消息的 javax.ws.rs.BadRequestException,例如输入无效;有时在某些情况下我会收到 null作为回应。

我想要做的是处理所有可能的(无论如何我能想到的)这样的响应/代码情况,并将它们转换为自定义异常。除此之外,我还想处理其他情况,如超时等,并将这些也转换为自定义异常并将其返回以让用户使用此异常做他们想做的事情。此外,一路记录错误。我在各个地方看到可能使用句柄消息来处理它,但我无法实现完整的实现。

0 投票
1 回答
5080 浏览

java - 从 JAVA 中的 WADL URL 生成 rest 客户端

WADL 网址:http://localhost:8080/RestfulSample/Restful?_wadl

我需要使用上面的 WADL URL 中的 CXF 生成其余客户端。

问题 :

  1. 我们有任何 Eclipse 插件来完成它吗?
  2. 还是我们有任何其他工具/方法可以做到这一点?

我看到了很多与此相关的问题,但它似乎太老了,对我没有用 - 如果我能在这里得到任何回应,将不胜感激。

谢谢,

0 投票
0 回答
399 浏览

java - 如何通过 CXF Jax-ws 发送消息对象类型

我想通过 CXF Jax-ws 发送一个 org.apache.cxf.message.Message 对象。例如:

  1. 一项服务声明:

    /li>
  2. 该服务的实现:

    /li>
  3. 服务器:

    /li>
  4. 客户:

    /li>

运行时收到如下错误:

如何纠正这个错误?

问候,

0 投票
1 回答
2022 浏览

soap - 在调用无法处理的服务时收到 sun.net.www.protocol.http.httpurlconnection$httpinputstream 作为响应

我正在 Apache camel 中开发工作流应用程序

业务用例:

  1. 服务在消费者端点公开
  2. 处理请求消息
  3. 调用外部 SOAP 服务,获取响应
  4. 检查响应 xml 中的特定标记,然后仅调用另一个外部 SOAP 服务
  5. 将最终响应返回给客户端

现在我陷入了第 4 步

我的骆驼路线是

我可以调用外部服务,但是<to uri="cxf:bean:panEndpoint"/>如果我尝试记录正文,在路由到文件的情况下,我会得到相同的任意值。

当我尝试路由到处理器并打印时System.out.println(exchange.getIn().getBody()); ,我得到了sun.net.www.protocol.http.httpurlconnection$httpinputstream无法解析或处理的信息

当我尝试使用 TCP-IP Monitor 监控场景时,调用了外部服务并收到了正确的响应

任何帮助将不胜感激。

0 投票
0 回答
652 浏览

java - 如何在 CXF 3 中启用 MTOM 删除 Mime 类型信息?

我从 CXF 2.7.X 升级到 CXF 3.1.4 并启用了 MTOM(就像在 2.7.x 中一样),客户端中收到的响应仍然包含 Mime 类型信息:

因此 XML 解析器 ( ValidatingStreamReader) 抱怨存在非法字符。

如果我禁用,MTOM 它工作得很好(Spring 配置):

如果我不发送 MTOM,对方显然不会发回 MTOM 消息。

笔记:

  • 我使用 CXFWSS4JStaxOutInterceptorWSS4JStaxInInterceptor拦截器对消息进行签名(请参阅下面的 Spring 配置)。

  • 我将http:conduit受信任的密钥库用于 https 流量。

  • 请参阅下面的 CXF Spring 配置。

知道如何配置 CXF 以便在我的情况下启用 MTOM,或者是什么导致升级后出现此 mime 类型信息?

0 投票
2 回答
548 浏览

java - Java Rest API 客户端 - GET 方法 - 错误 415

我是使用 Apache CXF 为 Restful API 编写 Java 客户端的新手。

在运行以下代码时,我收到错误 415 返回,当我在线查看时显示为“不支持的媒体类型”。为了修复它,我将代码从原始 target.request() 更改为“target.request(MediaType.APPLICATION_XML)”。但是,这并没有修复代码。

调试此问题的最佳方法是什么?非常感谢您抽出宝贵时间。

更新:在与 Rest API 开发人员讨论后,我知道我需要添加一个标头“(“Content-Type”,“application/x-www-form-urlencoded”);”。但我不确定如何添加标题。有谁知道如何在此处添加此标头?

}

0 投票
1 回答
4591 浏览

spring - CXF @PUT 请求“未找到消息正文编写器”异常

我完全被卡住了!花了很多时间在这上面没有进展......

我有一个带有 CXF 3 (3.1.4) 的 Spring 4 (4.2.3.RELEASE) 应用程序,我正在尝试进行 JUnit 测试。除了 PUT 请求外,一切都很好。我收到以下错误:

原因:javax.ws.rs.ProcessingException:没有为 com.someproject.logic.api.data.User 类找到消息正文编写器,ContentType:org.apache.cxf.jaxrs.client.AbstractClient 处的应用程序/xml。 reportMessageHandlerProblem(AbstractClient.java:780) at org.apache.cxf.jaxrs.client.AbstractClient.writeBody(AbstractClient.java:494) at org.apache.cxf.jaxrs.client.WebClient$BodyWriter.doWriteBody(WebClient.java: 1217) ... 53 更多

我也尝试了“application/json”并得到了相同的结果。

这是CXF配置:

端点:

端点实现:

测试:

首先,我如何确保 fastxml Jackson 2 提供程序实际上正在序列化消息正文?它在堆栈跟踪中看不到任何杰克逊,但我确实在提供程序中设置了它。

我找到了这个链接来演示一个自定义的 ContextProvider,这是让它工作的唯一方法吗?似乎完全多余...... http://www.blackpepper.co.uk/custom-context-providers-for-cxf-with-the-context-annotation/

有任何想法吗?

谢谢!!