既然是入门,那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、运行客户端程序: