Web Service学习(二)

在Web Service学习(一)中最后一个例子中,我们用get的方式去访问第三方应用,此外还有post,soap方式。

这些方式都有些缺点:

     发送的参数不方便,比如get方式需要拼接在URL中,post需要一个个set。

     接收的数据格式是xml,我们也需要解析。

所以接下来;介绍一种比较好的访问方式:wsimport

简单的说:就是将第三方应用,生成一个本地代理,这样和调用自己的业务类一样了。

使用这种方式,有两个要求:
      1. jdk的 版本要在 jdk 1.6.21及以上 
      2. 操作系统安装的jdk版本 与 MyEclispe 及 默认指定的版本要一致

生成本地代理方式:

打开cmd   输入 wsimport http://ws.webxml.com.cn/WebServices/WeatherWS.asmx?WSDL 

该网址是第三方应用的服务说明的网址

然后在桌面生成第三方应用的jar包,放入自己的项目中,就可以向调用自己的类一样调用第三方应用了。

其中,wsimport 后面可以跟参数
         - d  :指定要输出的文件的位置
         - s  :表示要解析java的源码 ,默认解析出的是class字节码 
         - p  : 指定输出的包名

以上是访问别人的webservice

接下来我们定义自己的webservice:

     - 声明 某个业务服务为webservice服务
       通过@webservice 注解来声明
    - 发布webservice服务
       Endpoint.publish()发布
    - 通过wsimport生成本地代理来访问自己发布的webservice
       wsimport

首先自己写个普通类,用@webservice 注解声明,然后通过以下代码发布

public static void main(String[] args) {
		// TODO Auto-generated method stub

		String url = "http://127.0.0.1:9999/webservice/myservice";
		Endpoint.publish(url, new myservice());
	}

之后就可以像前面介绍的,访问自己发布的webservice。

猜你喜欢

转载自blog.csdn.net/quge_name_harder/article/details/84861890