当前位置 : 主页 > 网页制作 > Nodejs >

第一个webservice程序

来源:互联网 收集:自由互联 发布时间:2021-06-24
首先我们先建一个服务端的类 import javax.jws.WebParam;import javax.jws.WebService;import javax.xml.ws.Endpoint;//表示这是一个web服务@WebServicepublic class HelloWebService {/** * 2、至少保证一个可以对外公开的

首先我们先建一个服务端的类
import javax.jws.WebParam;
import javax.jws.WebService;
import javax.xml.ws.Endpoint;
//表示这是一个web服务
@WebService
public class HelloWebService {
	/**
	 * 2、至少保证一个可以对外公开的服务
	 * 		对外提供服务无非就是提供个方法给外部调用,如果一个服务类没有方法,那发布它是没有意义的
	 */
	public String sayHello(@WebParam(name="name") String name){
		
		
		return name;
	}
	
public static void main(String[] args) {
	/**
	 * Endpoint 服务端点类,利用该类来发布服务
	 * 参数1:服务的发布地址
	 * 参数2:服务的实现者
	 * 
	 * publish发布成功后,会启动一个新线程来监听对 http://192.168.1.102:8080/hello 这个地址的请求
	 */
	Endpoint.publish("http://192.168.1.102:8080/hello", new HelloWebService());
	
	//接着就可以查看wsdl了浏览器中打开:http://172.16.35.55:8080/hello?wsdl
			//如果正常返回就说明发布成功 so easy!
			
	System.out.println("服务已启动");
}	
}

然后我们需要下载一个工具,我这个是apache-cxf-3.0.1这个版本的,我已经上传百度云http://pan.baidu.com/s/1bpKANPd

然后我们打开DOS命令,切记先运行上面那个类,只有服务端启动了,才能自动生成客户端所需要的类文件。

然后在浏览器输入wsimport -s d:\ http://192.168.1.102:8080/hello?wsdl有说明文件wsdl出来就是对的了,记得ip改为你电脑的ip

然后在DOS输入wsimport -s d:\ http://192.168.1.102:8080/hello?wsdl有如下图就是成功了

然后在D盘找到自动生成的类,把这些类复制进你的项目中,如果有的类有错误只需要删除即可,这是版本不同造成的,不影响使用

最后附上我的App.java代码

/**
 *通过wsimport命令生成客户端代码调用Webservice服务
 *
 *命令格式 :
 *	wsimport -s d:\ http://192.168.1.109:8080/hello?wsdl
 *
 *  s:表示要生成源码
 *  d:\ 生成源码到哪个路径
 *  依据哪个wsdl文件来生成? http://192.168.1.109:8080/hello?wsdl
 *  
 *  wsimport -s  d:\ -p com.luowg.ws.wheather  WSDL地址

 */
public class App {
	public static void main(String[] args) {
		
		HelloWebServiceService hello = new HelloWebServiceService();
		
		p2.HelloWebService he = hello.getHelloWebServicePort();
		
		System.out.println(he.sayHello("杰宝宝"));
		
		
	}
}
自此第一个webservice就到此,下一篇我们将介绍如何调用天气接口

网友评论