一、WebService入门——helloService

既然是入门,那helloworld当之无愧啊,,,,

1、创建两个Java工程,一个做为webservice的服务端,一个做为webservice的客户端。



 

2、首先在WSService工程中,编写service端,其中注意细节已经在代码中体现

package com.wang.webservice.service;

import javax.jws.WebService;
import javax.xml.ws.Endpoint;

/*
 * @WebService注解
 * 	标注该类为webservice的服务端
 */
@WebService
public class HelloService {
	
	/*
	 * 一个service类,必须有一个能够被调用的方法
	 * 该方法不能是static和finally
	 */
	public String say(){
		return "hello world!!";
	}
	
	public static void main(String[] args) {
                /*
		 * 参数1:服务地址
		 * 参数2:服务类
		 */
		Endpoint.publish("http://127.0.0.1:1234/wsservice/hello", new HelloService());
	}
}

 3、运行项目后,如下图所示:



 3、此时webservice的服务端已经准备就绪,只等待客户端来调用了。为了让客户端能够使用服务端,还要做一些准备工作,首先我们要知道wsdl是什么东东,在浏览器中输入我们之前定义的服务地址,如下图所示:

 这就是生成的esdl,其实就是使用说明书而已,使用情况我们在客户端代码中体现。

4、在cmd中输入命令:F:\> wsimport -s . http://127.0.0.1:1234/wsservice/hello?wsdl    来生成客户端能够使用的代码,

 生成的文件在F盘中:



 

文件路径与我们写service类是的包名称一致。

5、将这些代码(当然要带上包了)copy到我们的客户端代码中:



 

6、编写客户端代码:

package com.wang.webservice.client;

import com.wang.webservice.service.HelloService;
import com.wang.webservice.service.HelloServiceService;

public class HelloClient {

	public static void main(String[] args) {
		
		/*
		 * WSDL文件中:
		 * 	<service name="HelloServiceService">
		 * 得出
		 */
		HelloServiceService hss = new HelloServiceService();
		
		
		/*
		 * WSDL文件中:
		 * 	<port name="HelloServicePort" binding="tns:HelloServicePortBinding">
		 * 得出
		 */
		HelloService hs = hss.getHelloServicePort();
		
		String s = hs.say();
		
		System.out.println(s);
		
	}
	
}

 7、运行客户端程序:



 

猜你喜欢

转载自hejiawangjava.iteye.com/blog/2232918