问题标签 [cxf]

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 回答
168 浏览

cxf - 如何检查Web服务中的路径

我正在使用 cxf webservices。我有一个服务路径@Path'/summary/abc/{xyz}/name/{login}'。

当有人给出错误的网址时,我想生成一些自定义错误消息

'/summary/ab/{xyz}/na/{login}/'

0 投票
2 回答
678 浏览

java - cxf.jaxrs:使用 JAXRSServerFactoryBean 时出现 IllegalArgumentException

在单元测试中设置 JAXRS 测试服务时遇到了以下问题。这是代码(取自 AbstractJUnit4SpringContextTests 派生的测试类):

我正在将 XML 测试文件提供给服务。CXF 会无礼地尝试将 xml 包装到 javax.xml.bind.JAXBElement 中,调用服务,并因 IllegalArgumentException(在反射 API 中)而失败,因为服务当然不接受 JAX-RS 特定的元素,而是我之前在 XSD 中定义的 SearchRequest 元素。

但是,当我将以下行插入到我的 spring 上下文中时,一切都很好:

还有人看到这个吗?

0 投票
2 回答
378 浏览

java - 如何读取 ws-security 中提供的用户或标识符

我正在使用最新的 Apache CXF 创建 Web 服务。我已经使用org.apache.cxf.ws.security.wss4j.WSS4JInInterceptor. 在我的passwordCallbackClass我可以通过调用类的getIdentifier()方法来访问用户或标识符org.apache.ws.security.WSPasswordCallback

我也在整个设置中使用弹簧。

我想知道如何在代码中的其他任何地方访问标识符?我可以考虑ThreadLocal在我的passwordCallbackClass? 另一种方法是在我的所有服务方法参数中定义标识符属性,但这意味着客户端需要传递标识符两次,一次在安全块中,另一次在服务调用中?


编辑

我的服务类看起来像这样,我需要在sayHi方法中读取标识符。

我的密码回调方法是我可以获得标识符的地方。

0 投票
3 回答
4447 浏览

java - Jetty vs CXF / 选哪一个?

我对 Java 世界还很陌生,并且对数十个库之间的选择之美感到不知所措,这些库或多或少都在做同样的事情,或者不做同样的事情。

Jetty 和 CXF 也是如此。我正在寻找一个内置支持多种传输和协议的 Web 服务堆栈。

我的印象是 CXF 是较新的项目,将是新软件项目的首选。尤其是涉及到必须使用各种不同协议和标准(如 WS-*)的应用程序时。

您能否就这些框架之间的差异发表您的看法?

哪一个对不同的协议和标准有更广泛的支持?

关于它的设计,您更喜欢哪一个,例如它们如何从应用程序逻辑中隐藏传输、身份验证、授权、序列化方面?

任何形式的答案都非常受欢迎!

干杯,亚历克斯

0 投票
6 回答
11655 浏览

java - 将动态客户端与 JAX-WS 一起使用的优势

与仅使用生成的客户端类相比,将动态客户端与 JAX-WS 服务一起使用有哪些优势?有什么缺点?

**对于我使用 Apache CXF 的特殊情况,我不确定哪些其他库允许“动态”客户端。

- 我以为我不需要添加这个,但是......我正在寻找不明显(我知道......主观)的优势。我不需要其他人告诉我不使用生成的类的好处是我不需要生成类。

0 投票
1 回答
2863 浏览

cxf - JaxWSProxyFactoryBean 共享 HTTP 会话

我们正在开发一个项目,其中我们使用 CXF 框架提供的 JaxWSProxyFactoryBean 来调用 Web 服务。我正在使用 SPRING 配置来创建客户端,而不是直接在代码中使用 API。我还设置了维护会话属性以确保会话由 WS 客户端维护。

<jaxws:client id="userAuthenticationServiceClient1" address="${application.deployment.url}/UserAuthentication" serviceClass="com.authentication.webservice.IUserAuthenticationService" abstract="true" > <jaxws:properties > <entry key=" javax.xml.ws.session.maintain"> <value type="java.lang.Boolean">true</value> </entry> </jaxws:properties> </jaxws:client>

但我发现会话没有跨各种 web 服务实例维护。为了更清楚如果有像wc1,wc2,wc3这样的代理客户端。在 wc1 上调用的所有操作都将具有其会话,而 wc2 将创建新会话。有人可以让我知道我需要做哪些设置才能让所有 ws 客户端共享会话吗?

0 投票
2 回答
544 浏览

java - 如何模仿网址的类型

我使用 cxf 作为 web 服务。它支持请求数据的 xml 和 json 格式输出。我想知道如果我的代码中发生了一些异常,那么我想以 xml 或 json 格式将错误代码返回给他。但我不知道何时提供 json 和 xml,这取决于用户询问的请求 url。

例子

@Path("/reports/ad-view/loginId/{loginId}/publisher/")

0 投票
2 回答
3868 浏览

java - 如何在 localhost 上启动 cxf 服务但在 wsdl 中返回外部地址?

我在apache后面使用cxf和jetty通过soap公开一个webservice。目标是在所有情况下都在http://localhost:9000上启动码头,并为其配备 apache 代理,但让自动生成的 wsdl 显示一个适合其运行环境的 soap:address(例如http://api.testing .example.comhttp://api.uat.example.comhttps://api.example.com)。似乎生成的 wsdl2java *Service 类接受 wsdl 的 URL,它必须作为开始的“位置”以及在 soap:address 中返回的字符串。这必须是可配置的,但它并不明显,因此不胜感激。

更清楚一点 - 我通过 Spring 将“WsdlURL”传递给 Service 类的构造函数(到目前为止只有http://localhost:9000有效)。我需要这个问题的解决方案是在 cxf.cml、cxf-.xml、spring 或其他一些配置文件中进行配置更改,而不是在代码中,因为这个参数会根据它所处的环境而改变部署。

0 投票
1 回答
1590 浏览

grails - grails webservices返回一个对象列表

我正在尝试通过 grails & cxf grails 插件公开 Web 服务。

这是网络服务的骨架:

方法“singleIssue”正常工作,但方法“issueList”抛出 jaxb marshall 异常

如果我让方法返回问题对象数组,也会出现类似的异常

进一步澄清问题:

返回

0 投票
1 回答
4877 浏览

java - Web 服务客户端关闭连接

我有一个 Glassfish 应用服务器托管我的 Web 服务(带有 apache cxf 的 jax-rs)。

我有一个使用代码使用此 Web 服务的 Java 客户端:

服务x在运行时被使用的次数。x可以变化。

一切都很好 - 代码运行良好且符合预期。

问题是服务器在达到 glassfish 的最大连接数后返回 http 500(在 http 服务 - 保持活动状态下)。然后在继续之前等待指定的超时秒数。这会重复,直到应用程序完成。

关于如何强制关闭连接因此永远不会达到最大连接限制的任何想法?

非常感激。