最近呢,听朋友说了一下WebService,当时不懂,不知道什么事webService,于是萌生了学习一下的念头,不甘落后嘛!!!呵呵,废话少说,现在切入正题!
相信大家,也都或多或少的了解一点WebService了,我们上两篇博文中也讲过课~~~我们这次呢,主要是以图文结合的形式,来教大家操作一些简单的例子~~带你入门!!
这一节是针对初学者的,所以讲的很浅很浅,适合入门者学习,尤其不是到怎么操作的~~~
好的我们开始吧~~~
怎么样发布webService?
1、用Jdk1.6.0_21以后的版本发布一个WebService服务.并通过地址栏查看它的wsdl文档.
2、通过wsimport生成客户端代码,调用并查看运行的结果.(学会如何调用是我们的重点).
需要注意的是,jdk1.6._07以后jdk版本发布WebService时必须要完整的对代码进行注解,如果使用的是jdk1.6.0_21以后版本,因为它已经内含了ws2.1所以,可以只对类添加@WebService的注解.
我们来看一下自己的jdk的版本号吧~~
运行cmd
输入 java -version
即可
下面是我的~~
好的,我们接下来建项目
首先呢,我们建立一个java的项目,并建立一个Test1.java类,内容如下:
import javax.jws.WebMethod;
import javax.jws.WebService;
import javax.jws.soap.SOAPBinding;
import javax.jws.soap.SOAPBinding.Style;
import javax.xml.ws.Endpoint;
@WebService(targetNamespace="http://localhost:1444/test1")
@SOAPBinding(style=Style.RPC)
public class Test1 {
@WebMethod
public String method1(){
return "这是来自method1的消息";
}
public static void main(String s[]){
Endpoint.publish("http://localhost:1444/test1",new Test1());
}
}
文件结构如下:
如果运行一下,没出现错误,说明我们写的程序是对的!
好了,我们接下来,打开cmd
我们先在任何一个盘下面建立一个文件夹,在这里我们在C盘根目录建立一个test1的文件夹,然后,
让cmd定位到test1目录下
然后运行以下命令
它提示错误!!这就是因为,你的Test1.java没运行的原因,我们运行以后试一下,
好的,运行成功,我们看一下,发生了什么吧?
我们打开我们刚才建立的test1文件夹,发现多了好多文件夹,还有一些java类,没错!!!我们要的就是这个!!
然后,我们新建一个java项目,然后将这些所有的JAVA类文件考到项目中,不用考class文件!!然后将java文件中的包路径改一下!!
如图:
然后,我们在client包中新建一个Run.java类,调用我们考过来的java类即可~~~
内容如下:
package client;
public class Run {
public static void main(String s[]){
Test1 t=new Test1Service().getTest1Port();
String s1=t.method1();
System.out.println(s1);
}
}
此时运行一下,会报错!!是因为你没有启动Test1.java而已~~~启动之后,再运行Run.java
OK~~~~输出“这是来自method1的消息”
这就可以了~~~~
成功了~~~~~
当你把Test1.java中的method1()方法修改之后,重新启动Test1.java,在运行Run.java,照样能获取到最新修改的数据~~~
这就行了,这样你就对外界暴露了你的Test1中的method1的方法,别人通过“http://localhost:1444/test1?wsdl” 同样在cmd中运行
“wsimport -s . http://localhost:1444/test1?wdsl” 如果是外网的话,在别人的文件夹下也可以生成一些java文件,放到自己的项目中,就可以用了~~~~
我们在这里就不再演示了~~
大家可以用一些公共的webservice接口试一下,我上篇博文中罗列出了很多接口,大家可以试一下~~~~
我们在这里只是介绍了一些简单的操作~~~
还没深入的学习~~任重而道远啊~~~~