创建第一个WebService程序并发布
2015-11-09 18:25
399 查看
1、下载的是Apache-cxfire-2.7.18 与jdk1.6结合,下载的Apache-cxfire-3.1.4 需要与JDK1.7结合
使用CXFire开发WebService的服务端(一共分三个步骤)
(1)创建一个java的接口
(2)用一个具体的类将接口实现
(3)将WebService服务进行发布
具体的例子如下:
自定义一个接口
package yy;
import javax.jws.WebService;
@WebService
public interface HelloWorld {
public String sayHi(String name);
}
一个具体的实现类
package yy.impl;
import java.util.Date;
import javax.jws.WebService;
import yy.HelloWorld;
@WebService(endpointInterface="yy.HelloWorld",serviceName="HelloWorldWS")
public class HelloWorldWS implements HelloWorld{
@Override
public String sayHi(String name) {
return name +" 你好"+"现在的时间是"+new Date();
}
}
将WebService进行发布
package lee;
import javax.xml.ws.Endpoint;
import yy.HelloWorld;
import yy.impl.HelloWorldWS;
public class ServerMain {
public static void main(String[] args){
HelloWorld hello=new HelloWorldWS();
//发布WebService
Endpoint.publish("http://你自己电脑的IP/webservie" ,hello);
}
}
该java项目需要将CXF的lib下的jar全部加载到你的项目中。
最后通过浏览器访问http://你自己电脑的IP/webservie?wsdl 是否能够看到一些发布的东西。
使用CXF编写webService的客户端去调用wsdl文档。分以下几个步骤:
(1)使用CXF自带的wsdl2java工具,讲我们在浏览器中的wsdl文档变成java类,首先创建一个客户端的项目,使用dos命令进入到该目录,然后使用命令
wsdl2java http://你自己电脑的IP/webservie?wsdl
然后就会在该文件夹下生成一些类。
(2)找到生成类中extends Service的子类。
(3)创建一个ClientMain类,去调用(2)中的这个子类,返回服务器端的对应的代理类。
例子如下:
package lee;
import yy.HelloWorld;
import yy.impl.HelloWorldWS;
public class ClientMain {
/**
* @param args
*/
public static void main(String[] args) {
该类就是extends Service的类
HelloWorldWS factory =new HelloWorldWS();
//返回的是客户端的代理
HelloWorld hw=factory.getHelloWorldWSPort();
System.out.println(hw.sayHi("孙悟空"));
}
}
web Service接口中的函数的返回值与参数的类型的介绍:
(1)Web Service可以处理String 以及基本的数据类型
(2)Web Service 可以处理 对象,List集合,数组复杂的数据类型
(3)Web Service不能处理Map,非javaBean的符合数据类型
使用CXFire开发WebService的服务端(一共分三个步骤)
(1)创建一个java的接口
(2)用一个具体的类将接口实现
(3)将WebService服务进行发布
具体的例子如下:
自定义一个接口
package yy;
import javax.jws.WebService;
@WebService
public interface HelloWorld {
public String sayHi(String name);
}
一个具体的实现类
package yy.impl;
import java.util.Date;
import javax.jws.WebService;
import yy.HelloWorld;
@WebService(endpointInterface="yy.HelloWorld",serviceName="HelloWorldWS")
public class HelloWorldWS implements HelloWorld{
@Override
public String sayHi(String name) {
return name +" 你好"+"现在的时间是"+new Date();
}
}
将WebService进行发布
package lee;
import javax.xml.ws.Endpoint;
import yy.HelloWorld;
import yy.impl.HelloWorldWS;
public class ServerMain {
public static void main(String[] args){
HelloWorld hello=new HelloWorldWS();
//发布WebService
Endpoint.publish("http://你自己电脑的IP/webservie" ,hello);
}
}
该java项目需要将CXF的lib下的jar全部加载到你的项目中。
最后通过浏览器访问http://你自己电脑的IP/webservie?wsdl 是否能够看到一些发布的东西。
使用CXF编写webService的客户端去调用wsdl文档。分以下几个步骤:
(1)使用CXF自带的wsdl2java工具,讲我们在浏览器中的wsdl文档变成java类,首先创建一个客户端的项目,使用dos命令进入到该目录,然后使用命令
wsdl2java http://你自己电脑的IP/webservie?wsdl
然后就会在该文件夹下生成一些类。
(2)找到生成类中extends Service的子类。
(3)创建一个ClientMain类,去调用(2)中的这个子类,返回服务器端的对应的代理类。
例子如下:
package lee;
import yy.HelloWorld;
import yy.impl.HelloWorldWS;
public class ClientMain {
/**
* @param args
*/
public static void main(String[] args) {
该类就是extends Service的类
HelloWorldWS factory =new HelloWorldWS();
//返回的是客户端的代理
HelloWorld hw=factory.getHelloWorldWSPort();
System.out.println(hw.sayHi("孙悟空"));
}
}
web Service接口中的函数的返回值与参数的类型的介绍:
(1)Web Service可以处理String 以及基本的数据类型
(2)Web Service 可以处理 对象,List集合,数组复杂的数据类型
(3)Web Service不能处理Map,非javaBean的符合数据类型
相关文章推荐
- DOS中断
- Java io详解
- jni c调用java的方法签名生成方法
- Google推荐书单
- 使用Android Studio搭建Android5.0集成开发环境
- Linux 编译静态链接库与动态链接库的方法
- maven sonar
- stackseg segment stack
- 快速排序
- ios面试方面
- Google APAC 2016 University Graduates Test Round D解题报告
- Linux DHCP
- 删除一个字符串中的所有空格
- 输入一个字符串,计算该字符串中字母的个数,并将大写字母转化为小写字母,小写字母转化为大写字母
- 汇编语言考试重点总结
- angularJs study
- 【Java基础】基本类型的包装类作为参数传递是值传递还是引用传递
- python生成随机密码
- waf and IPS
- initWithFrame方法的理解