问题标签 [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.
cxf - 如何检查Web服务中的路径
我正在使用 cxf webservices。我有一个服务路径@Path'/summary/abc/{xyz}/name/{login}'。
当有人给出错误的网址时,我想生成一些自定义错误消息
'/summary/ab/{xyz}/na/{login}/'
java - cxf.jaxrs:使用 JAXRSServerFactoryBean 时出现 IllegalArgumentException
在单元测试中设置 JAXRS 测试服务时遇到了以下问题。这是代码(取自 AbstractJUnit4SpringContextTests 派生的测试类):
我正在将 XML 测试文件提供给服务。CXF 会无礼地尝试将 xml 包装到 javax.xml.bind.JAXBElement 中,调用服务,并因 IllegalArgumentException(在反射 API 中)而失败,因为服务当然不接受 JAX-RS 特定的元素,而是我之前在 XSD 中定义的 SearchRequest 元素。
但是,当我将以下行插入到我的 spring 上下文中时,一切都很好:
还有人看到这个吗?
java - 如何读取 ws-security 中提供的用户或标识符
我正在使用最新的 Apache CXF 创建 Web 服务。我已经使用org.apache.cxf.ws.security.wss4j.WSS4JInInterceptor
. 在我的passwordCallbackClass
我可以通过调用类的getIdentifier()
方法来访问用户或标识符org.apache.ws.security.WSPasswordCallback
。
我也在整个设置中使用弹簧。
我想知道如何在代码中的其他任何地方访问标识符?我可以考虑ThreadLocal
在我的passwordCallbackClass
? 另一种方法是在我的所有服务方法参数中定义标识符属性,但这意味着客户端需要传递标识符两次,一次在安全块中,另一次在服务调用中?
编辑
我的服务类看起来像这样,我需要在sayHi
方法中读取标识符。
我的密码回调方法是我可以获得标识符的地方。
java - Jetty vs CXF / 选哪一个?
我对 Java 世界还很陌生,并且对数十个库之间的选择之美感到不知所措,这些库或多或少都在做同样的事情,或者不做同样的事情。
Jetty 和 CXF 也是如此。我正在寻找一个内置支持多种传输和协议的 Web 服务堆栈。
我的印象是 CXF 是较新的项目,将是新软件项目的首选。尤其是涉及到必须使用各种不同协议和标准(如 WS-*)的应用程序时。
您能否就这些框架之间的差异发表您的看法?
哪一个对不同的协议和标准有更广泛的支持?
关于它的设计,您更喜欢哪一个,例如它们如何从应用程序逻辑中隐藏传输、身份验证、授权、序列化方面?
任何形式的答案都非常受欢迎!
干杯,亚历克斯
java - 将动态客户端与 JAX-WS 一起使用的优势
与仅使用生成的客户端类相比,将动态客户端与 JAX-WS 服务一起使用有哪些优势?有什么缺点?
**对于我使用 Apache CXF 的特殊情况,我不确定哪些其他库允许“动态”客户端。
- 我以为我不需要添加这个,但是......我正在寻找不明显(我知道......主观)的优势。我不需要其他人告诉我不使用生成的类的好处是我不需要生成类。
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 客户端共享会话吗?
java - 如何模仿网址的类型
我使用 cxf 作为 web 服务。它支持请求数据的 xml 和 json 格式输出。我想知道如果我的代码中发生了一些异常,那么我想以 xml 或 json 格式将错误代码返回给他。但我不知道何时提供 json 和 xml,这取决于用户询问的请求 url。
例子
@Path("/reports/ad-view/loginId/{loginId}/publisher/")
java - 如何在 localhost 上启动 cxf 服务但在 wsdl 中返回外部地址?
我在apache后面使用cxf和jetty通过soap公开一个webservice。目标是在所有情况下都在http://localhost:9000上启动码头,并为其配备 apache 代理,但让自动生成的 wsdl 显示一个适合其运行环境的 soap:address(例如http://api.testing .example.com、http://api.uat.example.com、https://api.example.com)。似乎生成的 wsdl2java *Service 类接受 wsdl 的 URL,它必须作为开始的“位置”以及在 soap:address 中返回的字符串。这必须是可配置的,但它并不明显,因此不胜感激。
更清楚一点 - 我通过 Spring 将“WsdlURL”传递给 Service 类的构造函数(到目前为止只有http://localhost:9000有效)。我需要这个问题的解决方案是在 cxf.cml、cxf-.xml、spring 或其他一些配置文件中进行配置更改,而不是在代码中,因为这个参数会根据它所处的环境而改变部署。
grails - grails webservices返回一个对象列表
我正在尝试通过 grails & cxf grails 插件公开 Web 服务。
这是网络服务的骨架:
方法“singleIssue”正常工作,但方法“issueList”抛出 jaxb marshall 异常
如果我让方法返回问题对象数组,也会出现类似的异常
进一步澄清问题:
返回
java - Web 服务客户端关闭连接
我有一个 Glassfish 应用服务器托管我的 Web 服务(带有 apache cxf 的 jax-rs)。
我有一个使用代码使用此 Web 服务的 Java 客户端:
服务x
在运行时被使用的次数。x
可以变化。
一切都很好 - 代码运行良好且符合预期。
问题是服务器在达到 glassfish 的最大连接数后返回 http 500(在 http 服务 - 保持活动状态下)。然后在继续之前等待指定的超时秒数。这会重复,直到应用程序完成。
关于如何强制关闭连接因此永远不会达到最大连接限制的任何想法?
非常感激。