cxf和jaxws的对比

和jaxws相比,服务器发布方式和客户端访问方式不同

服务器发布方式:

package service;

import javax.xml.ws.Endpoint;

import org.apache.cxf.jaxws.JaxWsServerFactoryBean;

/**
 * 发布服务
 */
public class FaBu {

    public static void main(String[] args) {
        //发布soap协议的
        JaxWsServerFactoryBean jaxWsServerFactoryBean = new JaxWsServerFactoryBean();
        //指定webservice地址
        jaxWsServerFactoryBean.setAddress("http://127.0.0.1:12345/weather");
        //指定portType
        jaxWsServerFactoryBean.setServiceClass(WeatherInterface.class);
        //指定服务类对象
        jaxWsServerFactoryBean.setServiceBean(new Impl());
        //发布服务
        jaxWsServerFactoryBean.create();

    }
}

客户端访问:

package client;

import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;

import http.pojo.Pojo;
import http.pojo.PojoPortType;
import http.pojo.PojoService;

import org.apache.cxf.endpoint.Server;
import org.apache.cxf.jaxws.JaxWsProxyFactoryBean;
import org.apache.cxf.jaxws.JaxWsServerFactoryBean;

/**
 * 使用cxf的方法
 *
 */
public class Cxf_client1 {

    public static void main(String[] args) {
                //发布soap协议的
             JaxWsProxyFactoryBean jaxWsServerFactoryBean = new JaxWsProxyFactoryBean();
                //调用webservice地址
                jaxWsServerFactoryBean.setAddress("http://127.0.0.1:12345/weather");
                //设置portType
                jaxWsServerFactoryBean.setServiceClass(PojoPortType.class);
                //创建portType
                PojoPortType pojoPortType = (PojoPortType) jaxWsServerFactoryBean.create();
                List<Pojo> queryWeather = pojoPortType.queryWeather("郑州");
                //解析
                for (Pojo pojo : queryWeather) {
                    System.out.println(pojo.getDetail());
                    Date date = pojo.getDate().toGregorianCalendar().getTime();
                    System.out.println(new SimpleDateFormat("yyMMdd").format(date));
                    System.out.println(pojo.getTemperatureMax());
                    System.out.println(pojo.getTemperatureMin());

                }
    }
}
时间: 2024-07-29 22:15:28

cxf和jaxws的对比的相关文章

【Apache CXF】CXF对JAX-WS的支持

相关dependency,我使用的版本是2.7.11: <dependency> <groupId>org.apache.cxf</groupId> <artifactId>cxf-rt-frontend-jaxws</artifactId> <version>${cxf.version}</version> </dependency> <dependency> <groupId>org

Spring Boot用Cxf的jax-ws开发WebService

首先上项目的pom.xml: 1 <?xml version="1.0" encoding="UTF-8"?> 2 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 3 xsi:schemaLocation="http://maven.apa

几种流行Webservice框架性能对比

1摘要 开发webservice应用程序中离不开框架的支持,当open-open网站列举的就有很多种,这对于开发者如何选择带来一定的疑惑.性能Webservice的关键要素,不同的框架性能上存在较大差异,而当前在官方网站.网络资料中可以方便的找到各自框架的介绍,但是很少有针对不同框架性能测试数据.本文选择了比较流行几个框架: Apache Axis1.Apache Axis2.Codehaus XFire.Apache CXF.Apache Wink.Jboss  RESTEasy.sun JA

Apache CXF+Spring开发环境搭建小试

最近手上一个项目要开发webservice,而原有系统使用了spring,所以在选择框架的时候,我选择了cxf,这样在开发整合的时候就比较方便了.在搭建开发环境的过程中发现这篇文章写得比较详细,所以就搬到自己博客里,希望给自己和同行做参考. CXF 应用开发 下面就将开始我们的 CXF Web Services 的开发之旅!首先,要有一个基于 Eclipse 的开发环境:然后,我们将利用这个开发环境开发一个简单的“调查投票”示例,同时我们将解释一些 CXF 在开发中进行配置的基本方法. 开发环境

CXF整合Spring配置文件

<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:jaxws="http://cxf.apache.org/jaxws" xsi:schemaLocation=" http://www.springframework.org/schema/bea

CXF - getting started

<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:beans="http://cxf.apache.org/configuration/

CXF整合spring,在tomcat中发布webService

1.首先下载CXF的jar包 http://pan.baidu.com/s/1dFBwSRf 密码: qyax.里面自带了需要用到的spring的jar包 2.新建一个web项目,在这里我给它命名为cxfweb 3.将下载的jar包导入lib下,并build 4.在src目录下,新建两个包.com.yxf.controller,com.yxf.serviceImpl. 5.在src目录下,新建spring的配置文件. <?xml version="1.0" encoding=&q

关于JAX-WS的Unable to create JAXBContext错误

参考: http://53873039oycg.iteye.com/blog/1979421 今天学了下Jax-Ws的一个简单的例子,刚开始发布时遇到如下错误: Java代码 com.sun.xml.internal.ws.model.RuntimeModelerException: runtime modeler error: Wrapper class com.test.service.jaxws.add is not found. Have you run APT to generate

IBM MQ 集成CXF 发送JMS 消息

1.修改wsdl 协议类型为 jms 替换 <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/> 为 <soap:binding style="document" transport="http://cxf.apache.org/transports/jms"/> 2.根据wsdl生成服务端代码