webservice整合spring
接口HelloWorld需要添加webservice注解
package com.cs.webservice; import java.util.List; import javax.jws.WebParam;
import javax.jws.WebService;
@WebService
public interface HelloWorld { String sayHi(@WebParam(name="text")String text);
String sayHiToUser(User user);
String[] SayHiToUserList(List<User> userList);
}
package com.cs.webservice; import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map; import javax.jws.WebService;
@WebService(serviceName="boy")
public class HelloWorldImpl implements HelloWorld { Map<Integer, User> users = new LinkedHashMap<Integer, User>(); public String sayHi(String text) {
return "Hello " + text;
} public String sayHiToUser(User user) {
users.put(users.size() + 1, user);
return "Hello " + user.getName();
} public String[] SayHiToUserList(List<User> userList) {
String[] result = new String[userList.size()];
int i = 0;
for (User u : userList) {
result[i] = "Hello " + u.getName();
i++;
}
return result;
} }
接口实现类需要添加webservice注解。
package com.cs.webservice; public class User { private String name;
private int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
} }
实体类
package com.cs.webservice; import javax.xml.ws.Endpoint; public class webServiceApp {
public static void main(String[] args) {
System.out.println("web service start");
HelloWorldImpl implementor= new HelloWorldImpl();
String address="http://localhost:8080/CXFWebServiceDemo";
Endpoint.publish(address, implementor); System.out.println("web service started"); } }
服务端代码
访问http://localhost:8000/helloWorld?wsdl,如果出现了wsdl文档就证明发布项目成功。
package com.cs.webservice; import java.util.ArrayList;
import java.util.List; import org.apache.cxf.jaxws.JaxWsProxyFactoryBean;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext; public class HelloWorldClient {
public static void main(String[] args) { //集成spring和cxf
ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
// HelloWorld client1 = (HelloWorld) context.getBean("client1");
// User user1 = new User();
// user1.setName("Tony");
// user1.setAge(20);
// User user2 = new User();
// user2.setName("freeman");
// user2.setAge(50);
// List<User> userList = new ArrayList<User>();
// userList.add(user1);
// userList.add(user2);
// // String[] res = client1.SayHiToUserList(userList);
// // System.out.println(res[0]);
// // System.out.println(res[1]);
// String sayHi = client1.sayHi("good");
// System.out.println(sayHi); HelloWorld2 client2 = (HelloWorld2) context.getBean("client2");
User user3 = new User();
user3.setName("Jerry");
user3.setAge(20);
String user = client2.sayHiToUser(user3);
System.out.println(user); //没有集成
// JaxWsProxyFactoryBean svr = new JaxWsProxyFactoryBean();
// svr.setServiceClass(HelloWorld.class);
// svr.setAddress("http://localhost:8080/CXFWebServiceDemo");
// HelloWorld hw = (HelloWorld) svr.create();
// User user = new User();
// user.setName("Tony");
// System.out.println(hw.sayHi("ffff")); } }
客户端代码
<?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:jaxws="http://cxf.apache.org/jaxws" xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd"> <!-- 发布一个站点 -->
<jaxws:endpoint id="boy" implementor="com.cs.webservice.HelloWorldImpl"
address="/aaa" /> <bean id="client1" class="com.cs.webservice.HelloWorld"
factory-bean="clientFactory1" factory-method="create" /> <!-- 通过spring的bean属性在启动容器的时候依赖注入bean,通过工厂方法create --> <bean id="clientFactory1" class="org.apache.cxf.jaxws.JaxWsProxyFactoryBean">
<property name="serviceClass" value="com.cs.webservice.HelloWorld" />
<property name="address" value="http://localhost:8080/CXFWebServiceDemo/aaa" />
</bean> <!-- 第二个站点 -->
<jaxws:endpoint id="orange" implementor="com.cs.webservice.HelloWorldImpl2"
address="/bbb" /> <bean id="client2" class="com.cs.webservice.HelloWorld2"
factory-bean="clientFactory2" factory-method="create" /> <bean id="clientFactory2" class="org.apache.cxf.jaxws.JaxWsProxyFactoryBean">
<property name="serviceClass" value="com.cs.webservice.HelloWorld2" />
<property name="address" value="http://localhost:8080/CXFWebServiceDemo/bbb" />
</bean>
</beans>
applicationContext.xml的配置信息
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<display-name>cxf</display-name>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list> <context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath*:applicationContext.xml</param-value>
</context-param> <listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener> <servlet>
<servlet-name>CXFServlet</servlet-name>
<servlet-class>
org.apache.cxf.transport.servlet.CXFServlet
</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet> <servlet-mapping>
<servlet-name>CXFServlet</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
</web-app>
web.xml的配置
webservice整合spring的更多相关文章
- CXF WebService整合Spring
转自http://www.cnblogs.com/hoojo/archive/2011/03/30/1999563.html 首先,CXF和spring整合需要准备如下jar包文件: 这边我是用Spr ...
- webservice整合spring cxf
下载cxf包,把他里面的包都添加进lib文件夹中. 创建一个接口.添加@WebService注解 @WebService public interface HelloWorld { String sa ...
- webservice 服务端例子+客户端例子+CXF整合spring服务端测试+生成wsdl文件 +cxf客户端代码自动生成
首先到CXF官网及spring官网下载相关jar架包,这个不多说.webservice是干嘛用的也不多说. 入门例子 模拟新增一个用户,并返回新增结果,成功还是失败. 大概的目录如上,很简单. Res ...
- CXF整合Spring开发WebService
刚开始学webservice时就听说了cxf,一直没有尝试过,这两天试了一下,还不错,总结如下: 要使用cxf当然是要先去apache下载cxf,下载完成之后,先要配置环境变量,有以下三步: 1.打开 ...
- Spring整合CXF步骤,Spring实现webService,spring整合WebService
Spring整合CXF步骤 Spring实现webService, spring整合WebService >>>>>>>>>>>> ...
- WebService—CXF整合Spring实现接口发布和调用过程
一.CXF整合Spring实现接口发布 发布过程如下: 1.引入jar包(基于maven管理) <!-- cxf --> <dependency> <groupId> ...
- 【WebService】——CXF整合Spring
相关博客: [WebService]--入门实例 [WebService]--SOAP.WSDL和UDDI 前言: 之前的几篇博客基本上都是使用jdk来实现WebService的调用,没有使用任何框架 ...
- 【Java EE 学习 81】【CXF框架】【CXF整合Spring】
一.CXF简介 CXF是Apache公司下的项目,CXF=Celtix+Xfire:它支持soap1.1.soap1.2,而且能够和spring进行快速无缝整合. 另外jax-ws是Sun公司发布的一 ...
- CXF WebService整合SpringMVC的maven项目
首先推荐博客:http://www.cnblogs.com/xdp-gacl/p/4259481.html http://blog.csdn.net/hu_shengyang/article/de ...
随机推荐
- java生成图片
在一张图片上绘制别的图片以及文字. public String GenerateImage(WebCast_baseinfo base,String code,String customName,St ...
- 获取checked的值
<div class="rule-multi-porp"> <span> <%var itemList = PublicQuery.GetItemLi ...
- MultipartResolver 文件上传
SpringMVC 中文件上传 MultipartResolver 博客分类: SpringMVC - 基础篇 基于前面文章的基础上. 一.准备 需要的jar 二.配置 1. spmvc-se ...
- GNU/Linux超级本ZaReason Ultralap 440体验
老早就在网上看到有关ZaReason公司推出了业界首款Linux超级本Ultralap 430的新闻.通过网上搜索,我了解到ZaReason是一家专门制作与销售预装Linux台式机.笔记本.超级本.平 ...
- 利用rabbit_mq队列消息实现对一组主机进行命令下发
目的: 利用rabbit_mq队列消息实现对一组主机进行命令下发 server: #!/usr/bin/env python3.5 # -*- coding:utf8 -*- import os,sy ...
- jsp或servlet返回并刷新页面
2012-04-27 22:39:05| 分类: JAVA | 标签:返回刷新 |举报|字号 订阅 只用window.history.back(-1);返回页面但不会刷新,还是原来的数据 ...
- js求两个数的最大公约数
1, lcm=function(m,n){//辗转相除法 求最大公约数 var u=+m,v=+n,t=v; while(v!=0){ t=u%v; u=v; v=t; } return u }2, ...
- opencv3.1自带demo的介绍和运行操作。转载
opencv3.1自带demo的介绍和运行操作. 下列实验基本都试过,有些需要根据自己的电脑修改一些路径或者调试参数. 值得注意的是,控制台程序输入有时候要在图像所在的窗口输入相应的指令.我的电脑上安 ...
- 兼容 console 没删除引起 低级浏览器 报错问题
/*重写connsole.log,防止调试代码出错*/if (!window.console){ var names = ["log", "debug", &q ...
- C++中int转为char 以及int 转为string和string 转int和空格分隔字符串
1.对于int 转为char 直接上代码: 正确做法: void toChar(int b) { char u; ]; _itoa( b, buffer, ); //正确解法一 u = buffer[ ...