标签: cxf

Apache CXF和Axis之间的区别

使用Apache CXF而不是Apache Axis有什么好处,反之亦然?

axis wsdl axis2 cxf

173
推荐指数
4
解决办法
10万
查看次数

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

当我使用来自CXF的wsdl2java(生成类似于wsimport的东西)生成一个webservice客户端时,通过maven,我的服务从这样的代码开始:

@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) {
            System.err.println("Can not initialize the default wsdl from c:/some_absolute_path_to_a_wsdl_file.wsdl");
            // e.printStackTrace();
        }
        WSDL_LOCATION = url;
    }
Run Code Online (Sandbox Code Playgroud)

硬编码的绝对路径真的很糟糕.生成的类不能在除我之外的任何其他计算机上工作.

第一个想法是将WSDL文件(以及它导入的所有内容,其他WSDL和XSD)放在jar文件和类路径中.但我们想避免这种情况.由于所有这些都是由基于WSDL和XSD的CXF和JAXB生成的,因此我们认为在运行时需要知道WSDL没有意义.

wsdlLocation属性旨在覆盖WSDL位置(至少这是我在某处获得的),默认值为"".由于我们使用maven,我们尝试<wsdlLocation></wsdlLocation>在CXF的配置中包含以尝试强制源生成器将wsdlLocation留空.但是,这只是使它忽略XML标记,因为它是空的.我们做了一个非常难看的可耻黑客,使用<wsdlLocation>" + "</wsdlLocation>. …

java wsdl cxf wsdl2java

157
推荐指数
7
解决办法
15万
查看次数

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

有什么区别:

  1. JAX-WS
  2. Axis2的
  3. CXF

这三个都可用于在Java中创建Web服务.
据我所知,JAX-WS是一个规范,Axis2和CXF是实现,但是如果我没有错,Java 1.6就会实现JAX-WS.

那么可以使用Java 1.6来开发JAX-WS Web服务而无需使用Axis2或CXF吗?那么Axis2,CXF的用途是什么?

java axis2 cxf jax-ws

127
推荐指数
3
解决办法
9万
查看次数

哪个框架更好CXF或Spring-WS?

我正在研究/比较CXF和Spring-WS的Web服务?我需要既作为WS的提供者又作为消费者.简而言之,我被告知Spring-WS更易于配置,但CXF更容易启动和运行.这个问题是主观的,但有助于我的研究.

  • 您对这些框架中的任何一个有什么经验?
  • 您是否遇到过这两种框架的任何陷阱?
  • 您是否找到了由另一方提供的任何有用功能?

java web-services spring-ws cxf

80
推荐指数
5
解决办法
6万
查看次数

Java REST实现:Jersey vs CXF

您认为这两个图书馆之间的优缺点是什么?这两个中哪一个最适合生产环境?顺便说一句,我将使用JSON而不是XML.

我也想知道社区最支持哪些库,例如教程,文档.

java rest web-services cxf jersey

75
推荐指数
2
解决办法
6万
查看次数

从post请求中读取JAX-RS客户端中的响应主体

在移动应用程序和Web服务之间使用某种代理,我们对发出帖子请求时的响应感到困惑.我们收到状态为200的回复:好的.但我们找不到/提取JSON响应体.

    Client client = ClientBuilder.newClient();
    WebTarget webTarget = client.target(WEBSERVICE_BASE_LOCATION + "mobileDevices?operatorCode=KPNSCP");
    String jsonString = "{\"osVersion\":\"4.1\",\"apiLevel\":16,\"devicePlatform\":\"ANDROID\"}";
    Builder builder = webTarget.request();
    Response response = builder.post(Entity.json(jsonString));
Run Code Online (Sandbox Code Playgroud)

我们正在使用JAX-RS.有人可以提供一些提示String从服务器响应中提取JSON body()吗?

java json web-services cxf jax-rs

63
推荐指数
3
解决办法
12万
查看次数

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

我正在尝试将来自cxf休息服务的休息请求路由到另一个.我查看了http://camel.apache.org/cxfrs.html,它有助于理解部分流程.我在remoteService Invocation级别有一个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>
Run Code Online (Sandbox Code Playgroud)

服务类:

@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 serves to configure the endpoint (?)    
    }               
}


public class RemoteService {

    @POST
        @Consumes("application/xml")
    public void postResource(javax.xml.transform.Source resource) {
            // source : not using jaxb …
Run Code Online (Sandbox Code Playgroud)

java cxf apache-camel cxfrs

61
推荐指数
1
解决办法
8386
查看次数

如何防止在CXF Web服务客户端中生成JAXBElement <String>?

我正在尝试使用CXF创建一个Web服务客户端来使用WCF Web服务.当我使用wsdl2java时,它使用JAXBElement类型而不是String生成对象.

我读到了使用jaxb bindings.xml文件设置generateElementProperty ="false"来尝试解决问题,但我正在使用的Web服务包含7个导入的模式.

如何指定generateElementProperty="false"所有七个模式,或者是否有办法将其应用于所有模式?

java wcf web-services cxf jaxb

47
推荐指数
1
解决办法
2万
查看次数

使用CXF JaxWsServerFactoryBean异常无法从总线中找到任何已注册的HttpDestinationFactory

在控制台模式下使用Apache CXF JaxWsServerFactoryBean时(尝试通过java命令行启动服务器)将获得如下异常:

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)
Run Code Online (Sandbox Code Playgroud)

当通过Spring在Tomcat中使用相同的服务impl时,它可以工作.

<jaxws:endpoint id="abc" implementor="com.AbcServicePortTypeImpl" address="/abc">
Run Code Online (Sandbox Code Playgroud)

cxf jax-ws

46
推荐指数
4
解决办法
3万
查看次数

CXF JAXRS - 如何将Date作为QueryParam传递

我的服务定义如下.

public String getData(@QueryParam("date") Date date)

我正试图java.util.Date从我的客户端(它是jaxrs:CXF的客户端,而不是通用HTTP客户端或浏览器)传递给它.

我的服务收到Thu Mar 01 22:33:10 IST 2012HTTP URL中的日期.由于CXF无法Date使用此String 创建对象,因此我的客户端收到404错误.我尝试ParameterHandler在服务端使用a ,但我仍然无法成功解析它,因为我不期望任何特定格式的日期.

根据这篇文章,传递一个Date应该是开箱即用,但我似乎无法让基本案例工作.我是否需要做任何事情才能成功地将Date对象从我的客户端传递给服务?感谢任何帮助.

谢谢

java rest service cxf jax-rs

44
推荐指数
2
解决办法
6万
查看次数

标签 统计

cxf ×10

java ×8

web-services ×4

axis2 ×2

jax-rs ×2

jax-ws ×2

rest ×2

wsdl ×2

apache-camel ×1

axis ×1

cxfrs ×1

jaxb ×1

jersey ×1

json ×1

service ×1

spring-ws ×1

wcf ×1

wsdl2java ×1