问题标签 [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 回答
538 浏览

java - 在 cxf Jaxrsclient 中捕获 SocketTimeOutException

我正在使用 apache cxf 打一个休息电话。我可以在调用服务期间设置超时,并引发相应的 socketConnection 超时异常,但我无法捕获异常并将其设置为用户定义的异常。请找到以下超时异常代码

不进入 catch 块就抛出异常。有人能告诉我如何捕捉这个异常吗?

0 投票
2 回答
3489 浏览

java - How to get WSDL operation name from SoapMessage in CXF Request Interceptor

Im trying to get wsdl operation name (SOAPAction) but it gives me null. i have written a request interceptor in camel blueprint.
TASK TO DO: Aim is to intercept the webservice request retrieve username & password from headers & check whether the user have have rights to consume the requested SOAPAction/OperationName. How can i achieve this.? Is there any other approach to do this.

Logs of my code are here:

Below is Blueprint

0 投票
0 回答
386 浏览

java - 带有 PoolingClientConnectionManager 的 JAX-RS 2.0 Apache CXF 客户端

我正在尝试在 TomEE-Plus 7.0.2 中使用 Apache CXF 实现 JAX-RS 2.0 客户端。我可以使用下面提到的代码连接服务。但我需要实现池连接管理器和其他配置。我只得到 Jersey 客户端示例而不是 Apache CXF 示例。

任何人都可以帮我提供 JAX-RS 2.0 客户端的示例示例,该客户端使用 Apache 包而不是 Jersey 包的连接池吗?

Apache cxf 客户端版本:3.1.8

泽西客户示例:

http://www.theotherian.com/2013/08/jersey-client-2.0-httpclient-timeouts-max-connections.html

示例 JAX-RS 2.0 客户端代码:

0 投票
0 回答
386 浏览

web-services - 使用 Camel-CXF 使用 WS 策略调用安全 Web 服务

我们正在尝试使用 Camel CXf 组件调用 Secured Webservice。WSDL 中定义了 wsp:Policy,我可以通过传递用户名/密码成功地从soapUI 调用服务,但是如果我尝试使用 Camel-Cxf 组件调用服务或使用生成的存根调用服务,则会面临很多问题。任何帮助表示赞赏。

WSDL 中定义了以下策略。

蓝图文件中的 Cxf 端点:

Route Builder 类使用上面定义的 cxf 端点 @Override public void configure() throws Exception {

尝试像下面一样添加 AuthorizationPolicy 但没有帮助 Map properties = new HashMap();

尝试调用服务时日志中的异常消息:

0 投票
1 回答
1032 浏览

connection - 如何在 cxf cilent 代码中设置属性 maxConnection

我正在开发 cxf 客户端。我从 wsdl 生成存根并从那里开发代码。我的代码是这样的

现在,我想为连接设置一些属性:

一些研究告诉我在 HttpUrlConnection 中设置这些属性。但我不知道该怎么做或者至少如何从代码中获得 HttpUrlConnection obj。

0 投票
0 回答
577 浏览

exception-handling - cxf 中的 ResponseExceptionMapper 使用客户端 (javax.ws.rs.client.Client) API

这篇文章没有解决这个问题:ResponseExceptionMapper in cxf client。您会注意到我确实注册并注释了我的 Provider,并且我按照建议尝试使用 WebApplicationException 而不是 Exception/CustomException。

问题陈述:无法使用 Client (javax.ws.rs.client.Client) API 和实现 ResponseExceptionMapper 接口的 @Provider 类实现自定义客户端异常处理程序。

问题:

  1. 客户端 API 是否不支持自定义客户端提供程序进行异常处理?
  2. 我查找此问题陈述的任何文献都使用 JAXRSClientFactory 实现;在这种情况下,我还没有找到任何使用客户端 API。我必须切换我的实现吗?
  3. Client API 和 JAXRSClientFactory 实现之间有什么区别?

我正在使用 Java 开发 cxf 客户端 API 实现,并注意到对于 300 以上的 http 状态代码,cxf 将响应包装在 WebApplicationException 或 ProcessingException 中(取决于响应状态代码)。在我的例子中,服务器有一个自定义的响应正文,指示 http 状态代码 !200 的实际原因,如下所示(响应代码 = 412):

不幸的是,WebApplicationException 本身并没有呈现这个。相反,直接在异常中捕获的唯一消息是通用的“412 Precondition Failed”。我可以从代码片段(包括客户端 API 代码片段)中执行类似于以下异常块的操作:

但是,我希望实现一些更清洁的东西,最好使用实现 ResponseExceptionMapper<> 接口的自定义异常处理程序。从文献中我注意到用于自定义客户端异常处理的 ResponseExceptionMapper 的唯一实现是使用 JAXRSClientFactory。然而,我当前的实现使用客户端 API(下面的代码片段)。从设计方面来看,我将对其进行修改以拥有一个单独的 CustomExceptionMapper 类,该类仅作为异常情况的提供者,但我不明白为什么这个自定义类被注册为提供者(适用于 200 个状态代码作为 MBR 和 MBW始终有效)但不适用于异常情况。

更新:在调试和观察 200 与 >300 状态代码(在我的情况下为 412)之间的变化时,我注意到对于 200 例 JAXRSUtils.readFromMessageBodyReader() 方法被调用,这是第一次检索自定义提供程序。对于下面代码片段中显示的状态代码,代码永远不会到达这里,这应该是找不到 CustomMapper 的原因。我必须如何注册我的 CustomExceptionMapper 有什么不同吗?还是客户端 API 根本不支持此功能?

// 对于失败情况,上面的方法返回 null (status > 300),而对于成功 200 情况,它执行最后一行的方法并获取提供程序。// AbstractClient 类调用 doReadEntity() 方法,该方法反过来调用并在 JAXRSUtils.readFromMessageBodyReader() 方法代码中找到 Provider

问题:

我试图弄清楚这里做错了什么,如果客户端 API 出于任何原因不支持自定义客户端异常处理?Client API 和 JAXRSClientFactory 实现之间有什么区别?我也在研究可能使用 ClientResponseFilter (还没有尝试过)。

任何帮助表示赞赏。谢谢。

0 投票
2 回答
2377 浏览

java - Apache CXF - javax.xml.ws.soap.SOAPFaultException:未定义安全操作

尽管我设置了username, password, action, and WS Security Password Type (which is PasswordText),但当我尝试调用 Web 服务的服务时得到此异常:No security action was defined. 我尝试与之通信的 Web 服务Basic Authentication使用PasswordTextWS 安全密码类型。

这是我尝试过的:

为了定义安全操作,我还需要配置什么?

ps 使用Apache CXF 3.1.12可用的最新版本。

0 投票
1 回答
606 浏览

java - 在 apache cxf 3.0.X 中为 WSS4JOutInterceptor 设置 EXPAND_XOP_INCLUDE

当将 MTOM ENABLE 设置为 true 时,我想避免自动生成 apache cxf(版本 3.0.4)中包含的 xop 我该怎么做?例如,我有一个肥皂服务。它支持 mtom 但不支持 xop 包含注释,所以它拒绝了我的请求:

我该如何设置我的请求:

所以最后我只想替换:

怎样才能得到这个结果?在较新的版本中,此https://ws.apache.org/wss4j/apidocs/org/apache/wss4j/common/ConfigurationConstants.html#EXPAND_XOP_INCLUDE有一个参数,如何在旧版本中复制?

这是我使用的java代码:

0 投票
1 回答
2187 浏览

java - 如何在肥皂客户端中获取 Http 响应代码?

有一个肥皂网络服务和一个客户端。使用 Apache CXF / Spring 包。
客户:

春天上下文:

用途:

如何从肥皂网络服务获取响应代码?我可以为 指定一个拦截器JaxWsProxyFactoryBean,但是如何将值从拦截器传递给App.someMethod()方法?

0 投票
0 回答
2236 浏览

cxf - 无法解析流 - CXF 问题

我在收到供应商回复时收到低于 CXF 的异常。我正在使用 apache cxf 2.7.18 版本。无法识别问题。请帮助解决问题。请在下面的堆栈跟踪中找到详细信息,并附上异常截图

我正在使用 CXF 版本 2.7.18堆栈跟踪