您的位置:首页 > 其它

创建第一个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的符合数据类型
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: