Tag: cxf

CXF JAXRS – 如何将Query作为QueryParam传递给Date

我有一个服务定义如下。 public String getData(@QueryParam("date") Date date) 我试图从我的客户端(这是CXF的jaxrs:客户端,而不是通用的HTTP客户端或浏览器)传递一个java.util.Date到它。 我的服务在HTTP URL中收到date为Thu Mar 01 22:33:10 IST 2012 。 由于CXF将无法使用此string创buildDate对象,因此我的客户端收到404错误。 我尝试在服务端使用ParameterHandler ,但我仍然无法成功parsing它,因为我不期望在任何特定格式的date。 根据这篇文章 ,传递Date应该是开箱即用,但我似乎无法得到基本的情况下工作。 我是否需要做任何事情才能成功地将我的客户的Date对象传递给服务? 感谢任何帮助。 谢谢

使用CXF JaxWsServerFactoryBeanexception从总线中找不到任何已注册的HttpDestinationFactory

在控制台模式下使用Apache CXF JaxWsServerFactoryBean(尝试通过java命令行启动服务器)将得到如下的exception: Caused by: java.io.IOException: Cannot find any registered HttpDestinationFactory from the Bus. at org.apache.cxf.transport.http.HTTPTransportFactory.getDestination(HTTPTransportFactory.java:295) at org.apache.cxf.binding.soap.SoapTransportFactory.getDestination(SoapTransportFactory.java:143) at org.apache.cxf.endpoint.ServerImpl.initDestination(ServerImpl.java:93) at org.apache.cxf.endpoint.ServerImpl.<init>(ServerImpl.java:72) at org.apache.cxf.frontend.ServerFactoryBean.create(ServerFactoryBean.java:160) 当通过Spring在Tomcat中使用相同的服务impl时,它将起作用。 <jaxws:endpoint id="abc" implementor="com.AbcServicePortTypeImpl" address="/abc">

如何使用Java返回部分JSON响应?

我正在构build一个RESTful API,并希望为开发人员提供选项,以便select在JSON响应中返回哪些字段。 这篇博客文章展示了几个API(Google,Facebook,LinkedIn)允许开发者自定义响应的例子。 这被称为部分响应。 一个例子可能是这样的: /users/123?fields=userId,fullname,title 在上面的例子中,API应该返回用户“123”的userId,fullName和title字段。 我正在寻找如何在我的RESTful Web服务中实现这个想法。 我目前正在使用CXF(编辑:和jackson),但愿意尝试另一个JAX-RS实现。 这是我目前所拥有的。 它返回一个完整的用户对象。 我怎样才能返回API调用者想要在运行时基于“字段”paramaeter的字段? 我不想让其他领域为空。 我只是不想退还它们。 @GET @Path("/{userId}") @Produces("application/json") public User getUser(@PathParam("userId") Long userId, @DefaultValue("userId,fullname,title") @QueryParam("fields") String fields) { User user = userService.findOne(userId); StringTokenizer st = new StringTokenizer(fields, ","); while (st.hasMoreTokens()) { // here's where i would like to select only the fields i want to […]

如何使用Camel将本地服务的Rest请求路由到远程请求

我试图从一个cxfrest服务路由rest请求到另一个。 我看了一下http://camel.apache.org/cxfrs.html ,这有助于理解过程的一部分。 我在remoteService调用级别有一个classCastException。 我究竟做错了什么 ? <cxf:rsServer id="exposedService" address="/exposed/" serviceClass="com.example.project.ExposedService" /> <!– using different classes since we are not just proxying –> <cxf:rsClient id="remoteService" address="http://remote.com/service" serviceClass="com.example.project.RemoteService" /> <camel:camelContext xmlns="http://camel.apache.org/schema/spring"> <package>com.example.project</package> </camel:camelContext> 服务类别: @Path("/myservice") public class ExposedService { @POST @Consumes("application/xml") public void postResource(javax.xml.transform.Source resource) { // source : not using jaxb just plain xml // only […]

Java REST实现:Jersey vs CXF

你认为这两个库之间的优点和缺点是什么? 哪两个最适合生产环境? 顺便说一句,我将使用JSON而不是XML。 我也想知道什么图书馆最受社区支持,如教程,文档。

哪个框架比较好CXF或Spring-WS?

我正在研究/比较CXF和Spring-WS的Web服务? 我需要同时作为WS的提供者和消费者。 简而言之,我被告知Spring-WS更具可configuration性,但是CXF更容易启动和运行。 这个问题是主观的,但是会帮助我指导我的研究。 你对这两个框架有什么经验? 你有没有碰到任何框架的陷阱? 你有没有发现任何有用的function,可能不是由其他提供的?

JAX-WS,Axis2和CXF之间的区别

有什么区别: JAX-WS Axis2的 CXF 所有这三个都可以用来在Java中创buildWeb服务。 据我所知,JAX-WS是一个规范 ,Axis2和CXF是实现,但是如果我没有错误的话,Java 1.6已经实现了JAX-WS。 那么可以使用Java 1.6开发JAX-WS Web服务而不使用Axis2或CXF? 那么Axis2,CXF有什么用?

JAX-WS =当安装了Apache CXF时,它会“窃取”默认的JDK JAX-WS实现,如何解决?

我有一个奇怪的问题。 使用wsimport我从一个WSDL(在一个专门的eclipse java项目中)生成了als JAX-WS代码。 这在JDK6中工作正常,没有任何外部依赖(在Eclipse中运行) 我有第二个项目,曾经使用过Apache CXF。 如果我将1.)中描述的代码复制到这个项目中,那么JDK不会执行JAX-WS的东西(我生成的文件),而是执行Apache CXF。 我怎样才能防止Apache CXF“运行”JAX-WS的东西。 (问题是,CXF无法运行代码…)。 我也完全不明白Apache CXF如何发现这些类。 我没有注册他们吗? 非常感谢你! 马库斯

如何避免在CXF或JAX-WS生成的Web服务客户端中指定WSDL位置?

当我使用CXF中的wsdl2java生成web服务客户端(通过maven生成类似于wsimport的东西)时,我的服务以这样的代码开始: @WebServiceClient(name = "StatusManagement", wsdlLocation = "c:/some_absolute_path_to_a_wsdl_file.wsdl", targetNamespace = "http://tempuri.org/") public class StatusManagement extends Service { public final static URL WSDL_LOCATION; public final static QName SERVICE = new QName("http://tempuri.org/", "StatusManagement"); public final static QName WSHttpBindingIStatus = new QName("http://tempuri.org/", "WSHttpBinding_IStatus"); static { URL url = null; try { url = new URL("c:/some_absolute_path_to_a_wsdl_file.wsdl"); } catch (MalformedURLException e) […]

Apache CXF和Axis的区别

Apache Axis使用Apache CXF有什么优势,反之亦然?