`

一、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、运行客户端程序:



 

 

  • 大小: 7.1 KB
  • 大小: 39.4 KB
  • 大小: 70.9 KB
  • 大小: 8.5 KB
  • 大小: 70.7 KB
  • 大小: 18.4 KB
  • 大小: 41.2 KB
3
1
分享到:
评论
2 楼 zhangbaocheng 2015-08-05  
windlike 写道
ws一定要从jdk自带学起

孤陋寡闻了, 我直接拿教程学的cxf
1 楼 windlike 2015-08-05  
ws一定要从jdk自带学起

相关推荐

Global site tag (gtag.js) - Google Analytics