问题标签 [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 投票
2 回答
232 浏览

java - 我对配置的假设是否正确?

我想只用来实现 REST 服务 - 一个非常简单的返回“人”的全名或 JSON 中的 ID。我可能会使用 JAX-RS 和 JAXB - 我不确定 tis 是否是正确的选择。我想将它与以下技术/产品及其版本一起使用:

  1. JDK 1.5
  2. Eclipse 3.5 EE
  3. 雄猫 6.0
  4. CXF 2.2.5
  5. 春天 2.5.1

我的问题是:

  1. 我可以同时使用 JDK 1.5 和 tomcat 6 吗?
  2. 我可以同时使用 Spring 2.5.1 和 JDK 1.6(如果我想升级)?
  3. CXF 2.2.5 和 Spring 2.5.1 是否可以正常工作?

我问,因为我有:

  • JDK 1.6
  • 日食 3.5 ee
  • 雄猫 6
  • CXF 2.2.5
  • 春天 2.5.1

而且我无法让他们使用最简单的 REST WS,例如:

使用 Apache CXF 和 Maven2 开发 RESTful Web 服务

但我不得不说:目前我不想使用 Maven。

0 投票
1 回答
1162 浏览

spring - 从 web 服务访问 spring bean?

我在我的 cxf.xml 文件中创建了一个 cxf webservice 我有以下标签。豆 id="videoStatsTable" 类="com.company.auth.dataobjects.VideoStatsTable"

据我了解,Spring 应该为我创建这个对象。问题是我不确定如何访问它。好像我需要 servletContext 但因为我不在 WS 中的 servlet 中,所以我不确定该怎么做?

W

0 投票
3 回答
6344 浏览

java - CXF JAX-RS 导致 BusException

将使用 Apache CXF 的 RESTFul 服务添加到我的 Spring(和 Wicket)项目后,出现以下异常:

org.apache.cxf.BusException:没有注册命名空间http://apache.org/cxf/binding/jaxrs的绑定工厂。

我在我的 Spring 配置中包含了下面的行,并认为这实际上可以解决我的问题。但它没有。

导入资源="classpath:META-INF/cxf/cxf-extension-jaxrs-binding.xml"

任何有关如何解决此问题的反馈或在哪些领域寻找解决方案的想法将不胜感激。

我正在使用 Spring 3.0.0.RC2 和 Apache CXF 2.2.5。(Maven 依赖于 org.springframework.core、org.springframework.test、org.springframework.orm、org.springframework.web 和 cxf-bundle。)

提前致谢。

0 投票
2 回答
133 浏览

java - CXF服务协助

我有一项服务,基本上是搜索未来合作伙伴的库存。他们发送的文件是一个已编译的 .jar 文件和一个 wsdl 文件。自述文件指出它可以与 XFire 或 CXF 一起使用。如何使用 Apache、Tomcat、Spring 或其他任何我需要做的事情来设置此服务?这是一个相当广泛的问题,但我不知道在这里做什么。

0 投票
1 回答
1815 浏览

java - RESTful 服务器中的@Path 正则表达式

我正在用 CXF 框架编写一个 RESTful Java 服务器。

如何编写@Path 正则表达式以获得以“/action”值结尾的任何 URI?

0 投票
2 回答
6221 浏览

java - CXF + SSL + WebLogic 9.10

我正在开发一个 Web 应用程序,它是一个基本上充当 Web 服务前端的 servlet,我使用 CXF 作为 Web 服务客户端,该应用程序在 WebLogic 9.10 服务器上运行,一切正常,直到项目所有者决定添加 ssl 支持,没什么大问题,因为我使用 cxf whitout spring,我设法在服务客户端的 http 管道中配置了 TLS 参数,还配置了一个密钥库,包括服务器密钥、ca 根证书和客户端证书,在开发tomcat实例下测试并且工作正常。

当再次将应用程序重新部署到 weblogic 服务器并开始出现奇怪的错误时,问题就开始了,第一个是:

然后我意识到 weblogic 正在加载它自己的 JAX-WS 实现,没有问题,只是添加了一个 weblogic.xml,将“prefer-web-inf-classes”设置为 true,重新部署,现在我得到了这个异常:

那个让我着迷,我认为类路径有问题,所以我开始从应用程序中删除 jar,但仍然遇到更多链接错误,我得到的最后一个是:

这就是我的应用程序的“Web-Inf/lib/”目录现在的样子:

知道我做错了什么吗?提前致谢

0 投票
3 回答
2975 浏览

java - 如何减少 Apache CXF 客户端存根对象的内存大小?

我的 Web 服务客户端应用程序使用Apache CXF生成用于与多个 Web 服务对话的客户端存根。生成的 CXF Web 服务存根对象具有相当大的内存占用(10 - 15 个 Web 服务对象占用超过 64 MB 的内存)。有什么方法可以减少 CXF 对象的占用空间?

0 投票
2 回答
3336 浏览

java - 从 java web start 使用 CXF web 服务

更新:我已将我的问题提交给 CXF 用户的邮件列表,这里.

更新:我目前已经签署了我所有的罐子。我似乎仍然无法以可以找到 WSDL 的方式设置 CXF。我最后一次尝试是将 WSDL 放在我的 WAR 文件中,这样我就可以通过 Web 浏览器访问它。我将客户端内部的 wsdllocation 设置为 URL ( http://www.example.com/app/example.wsdl )。我现在收到以下异常:

谷歌搜索对此几乎一无所获。

我正在使用Apache CXF从给定的 WSDL 创建 Web 服务客户端。我遇到了问题,但是在尝试访问该服务时,我得到了这个异常:

我没有签署我的 Web 启动应用程序,并且不希望这样做,因为我没有从客户端计算机访问任何资源。提到的WSDL打包在我的 jar 中。问题是由 CXF 生成的客户端代码引起的:

如何正确地将 CXF 指向此 WSDL?我也担心类上的 WebService 注释:

我也需要改变这个吗?

0 投票
1 回答
5846 浏览

web-services - 从 Web 服务获取 HTTP 会话

我们有一个基于Tomcat 6/ WebWork / Hibernate /SQL Server 堆栈的 Web 应用程序。

Web 应用程序的一部分是使用Flare工具包构建的网络地图(Flare 的前身是Prefuse)。网络地图数据通过 web 服务调用获取,例如 getData()。Flare 应用程序进行此调用以检索它需要显示的 XML 数据。Web 服务本身是使用Apache CXF开发的。

我试图弄清楚如何在指定为 web 服务的方法中获取 HTTP 会话。我需要这个,因为我需要跨客户端(Flare 应用程序)Web 服务请求维护服务器端数据。

我是否需要使用基本的 servlet API 来获取 HTTP 会话(知道正在使用 CXF servlet)?或者是否有 CXF 级别的 API 支持?

Web 服务本身在 Tomcat 6 中运行。

0 投票
3 回答
7385 浏览

glassfish - 如何在 Glassfish 上选择 CXF 而不是 Metro

在 Glassfish 下运行我的企业应用程序时,我遇到了以下问题(由其他人报告)。在 Jetty 下它工作正常。

javax/xml/ws/spi/Provider提到创建 META-INF/services/javax.xml.ws.spi.Provider 资源,但这已经随 CXF 提供,并且创建一个额外的资源文件并不能解决 Glassfish 下的这个问题。

有谁知道如何确保 CXF 在 GlassFish 下被拾取?
(我正在使用具有 CXF 依赖项 2.2.5 的 Maven 多模块项目)

谢谢!
蒂姆


编辑#1

暂时跳过这个问题,只使用 Metro,但如果有人有任何指示,我真的很想知道如何使用 CXF。如果没有任何效果,我可能不得不切换 Web 应用程序容器(或查看 Metro 来填充我的要求)


编辑#2

一些解决方案通过添加<class-loader delegate="false"/>到 sun-web.xml 文件中详细说明了战争的修复。但是,这不适用于非战争 ee 应用程序。