问题标签 [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.
java - 从 @WebService 获取对 spring bean 的引用
我正在使用 CXF 从 wsdl 生成 Web 服务。生成的 web 服务有注释 @WebService 我如何从 web 服务中获取对 spring bean 的引用?我所有的 spring bean 都用 @Service 进行了注释,我可以在我的 web 应用程序中访问它们。我如何也从我的 Web 服务访问它们?
我尝试了以下方法:
但是 getWebApplicationContext 方法返回 null
当我将 getWebApplicationContext 替换为 getRequiredWebApplicationContext 时,我收到一条错误消息:未找到 WebApplicationContext:未注册 ContextLoaderListener?
有人有想法吗?
谢谢阿隆
java - 如何防止 Apache CXF 将基元转换为对象类型?
我正在为一个项目评估 Apache CXF,所以我编写了一个小型演示应用程序来尝试一些事情。按照 CXF 用户指南,我能够很快启动并运行我的应用程序。
我想测试的一件事是 CXF 能够如何处理返回大量基元数组的方法。所以我定义了一个方法' float[] getRandFloats(int count)
',它只返回一个指定长度的数组,里面填充了随机数。查看由 生成的 WSDL java2wsdl
,我看到该方法正确指示返回类型为float[]
. 检查客户端,我还看到我(最终)收到了一个float[]
.
我注意到当我增加数组中的元素数量时,客户端性能会受到影响。我在客户端运行了一个分析器,并看到Float
为返回的数组中的每个元素创建了对象。当 CXF 在解析响应期间调用 JAXB 时,似乎正在发生这种情况。
我正在评估 CXF 是否与可能发回数百万个浮点数的应用程序一起使用,因此这种对象创建是非常不可取的。为了使用 CXF,我需要找到一种方法来防止这种对象的创建发生。我已经浏览了文档和邮件列表,但还没有找到解决此问题的方法。
有没有人在使用 CXF 时遇到过类似的问题?如果是这样,你是如何解决这个问题的?
java - javax.xml.soap 比 apache cxf 好吗?
这周我不得不研究一个使用 SOAP 包 javax.xml.soap.* 的 Java WebService 项目。
我以前没有使用过这个,而是使用 Apache CXF 库来创建 SOAP Web 服务。
我有一个关于 javax.xml.soap.* 的问题
性能上比CXF好吗?
在编码方面,我认为 CXF 非常棒,因为根本无需担心 SOAP API,只需使用注释即可在几分钟内创建服务。
MessageFactory 和 SOAPConnection 也是线程安全的吗?我要求它每次都保存这些对象的创建。如果创建不是开销,那么没有问题,但如果是,那么我只想创建一次。我在 javadoc 中找不到关于线程安全的信息。
java - 如何缓存 Apache CXF 为特定 Java 对象生成的编组 SOAP XML 以提高性能?
在我的应用程序中,我们有一个名为 getFoo() 的 Web 服务方法,它返回一个 Foo 对象。getFoo () 方法每秒被调用数百次。Foo 对象使用 Apache CXF 从我们的 Java 对象编组到 SOAP XML 响应。
通过分析我们的应用程序,我们确定这个对象(java 对象 -> soap 编码的 xml)的编组是 CPU 周期的最大消耗者。并且由于我们的 Foo 对象不会经常更改,因此每次都重新编组该对象是不必要的。
我认为这是一个常见的优化,并想知道其他人是如何解决它的。 我简要查看了 CXF 文档,其中有一个 Marshall 拦截器,我可能可以使用它。我可以创建一个可以将 Foo 对象映射到 XML 编码版本的 Map。但是,随后出现了一些其他问题,例如一旦不再需要对象时如何从该地图中删除对象等。如果内置支持以某种方式检测对象的更改并重新编组,那就太好了。 . 没有什么不可能,但又不想重新发明轮子。
编辑(2009 年 6 月 16 日):通过制作自定义 BareOutInterceptor 并修改拦截器链以调用自定义链,取得了一些进展。自定义添加了一些额外的逻辑,只调用“writeParts(....)”方法,该方法只对给定的 java 对象执行一次编组。完成后将发布解决方案。另外,我重命名了这个问题。
maven-2 - CXF maven 插件在错误的目录中生成类
我正在使用 maven cxf-codegen-plugin 从 wsdl 生成 java web 服务文件。如果我尝试在默认输出目录 (target\generated-sources\cxf) 中生成文件,该插件可以正常工作,但如果我尝试使用以下命令在其他目录中生成它们:
在我的 pom.xml 中,只有当我这样做时才会生成文件:
如果我做
如果没有“干净”,则不会生成文件...
有人有什么主意吗....?
我的pom:
谢谢, 阿隆
java - 未来取消后如何在 Callable 中终止 CXF webservice 调用
编辑
到目前为止,这个问题已经经历了几次迭代,因此请随时查看修订版以查看有关历史和尝试的事情的一些背景信息。
我将 CompletionService 与 ExecutorService 和 Callable 一起使用,通过 CXF 生成的代码同时调用几个不同 Web 服务上的多个函数。这些服务都为我正在使用的一组信息提供不同的信息我的项目。但是,服务可能会在不引发异常的情况下长时间无法响应,从而延长对组合信息集的等待。
为了解决这个问题,我同时运行所有服务调用,几分钟后想终止任何尚未完成的调用,最好从可调用对象中或通过抛出来记录哪些调用尚未完成一个详细的例外。
这是一些高度简化的代码来说明我已经在做什么:
同时启动 WS 调用的代码:
我在这段代码中遇到的问题是,在等待 port.getXXXFeatures(...) 返回时,Callables 实际上并没有被取消,而是以某种方式继续运行。从if (Thread.currentThread().isInterrupted()) log.error("XXX was interrupted");
语句中可以看出,在 port.getFeatures 返回后设置了中断标志,这仅在 Webservice 调用正常完成后可用,而不是在我调用 Cancel 时被中断。
谁能告诉我我做错了什么以及如何在给定时间段后停止正在运行的 CXF Webservice 调用,并在我的应用程序中注册此信息?
最好的问候,蒂姆
hibernate - 如何配置休眠以使用 apache cxf
对于我的应用程序,我需要将休眠与 apache cxf 一起使用。问题是在我将休眠配置为 apache cxf 后,应用程序没有启动。它给出了一个错误,说它无法从 springframework(我用来创建 factorySession)中找到 LocalSessionFactoryBean 类。我是 apache cxf 的新手,所以这可能是我的错误。你们中的任何人都可以告诉我使用 apache cxf 配置休眠的最佳方法是什么。
提前致谢
java - 为 cxf wsdl2java 使用 xmlbeans 绑定
我开始使用apache CXF 2.1.5和xmlbeans来生成 Web 服务客户端。FAQ 页面显示了如何使用 jaxb 绑定来java.util.Date
绑定xsd:dateTime
:
我想改用xmlBeans绑定,但找不到合适的示例。我了解如何使用xmlbeans将 xml 文件映射到 java 对象,但我找不到要使用的语法cxf
。欢迎任何指针,代码示例。
java - 如何使用 CXF 生成的客户端可视化发送的 XML 流
我希望能够看到由 WSDL 客户端生成的 CXF 生成的 XML 流。有没有办法做到这一点 ?
例如,我正在使用 Java 对象构建我的请求,并且我希望在将它发送到服务器之前查看由 CXF 构建的 XML 流。
谢谢您的回答 !
wsdl - Apache CXF 和 Axis 之间的区别
与 Apache Axis 相比,使用 Apache CXF 有哪些优势,反之亦然?