微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

webservice 入门笔记一

下面几篇是我在看webservice的学习视频时的笔记,比较随意和粗糙。只是希望有个记录的地方而已。视频应该是来自: http://www.konghao.org

我个人感觉webservice 过于繁琐,完全可以用http接口的方式取代。但是鉴于有很多公司还在使用它,有时候你要和一些第三方交互时有可能就需要和webservice打交道。那么,还是必要了解一下它的。

首先,这第一篇来看看怎么创建一个webservice。

首先,创建server端。新建一个java工程,名字叫 WebServiceServer

 

新建一个接口 MyServiceInter

package com.zhutulang.service;
 
import javax.jws.WebParam;
import javax.jws.WebResult;
import javax.jws.WebService;
 
@WebService
public interface MyServiceInter {
 
         @WebResult(name="addResult")
         publicint add(@WebParam(name="a")int a,@WebParam(name="b")intb);
}
 


接口的实现类 MyServiceInterImpl

packagecom.zhutulang.service;
 
importjavax.jws.WebService;
 
@WebService(endpointInterface="com.zhutulang.service.MyServiceInter")
public class MyServiceInterImpl implements MyServiceInter {
 
   @Override
   public int add(int a,int b) {
      System.out.println(a+"+"+b+"="+(a+b));
      return a+b;
   }
 
}


 

注意使用的注解。

 

然后是MyServer

packagecom.zhutulang.service;
 
importjavax.xml.ws.Endpoint;
 
public class MyServer {
 
   public static void main(String[] args) {
      String address = "http://localhost:8888/myservice";
      Endpoint.publish(address,new MyServiceInterImpl());
        System.out.println("publish success!");
   }
}


 

将服务发布在http://localhost:8888/myservice

 

运行后打印出publish success!

在浏览器中输入:http://localhost:8888/myservice?wsdl

出现下图的 xml,则表示已经发布成功。

 

 

 

接下来,我们用wsimport来生成wsdl的客户端代码。打开cmd窗口,输入:

wsimport -d E:\tmp -keep -encoding utf-8-verbose http://localhost:8888/myservice?wsdl

生成代码保存在E盘的tmp文件夹下。至于wsdl的各个参数,可以自行查看。

然后,我们创建客户端工程,新建一个java工程,名字叫WebServiceClient。将E盘tmp目录下生成代码拷过去。

 

在该包下,新建MyClient 类,然后我们就可以这样访问服务了:

packagecom.zhutulang.service;
 
public class MyClient {
 
   public static void main(String[] args) {
         MyServiceInterImplService myService = new MyServiceInterImplService();
         MyServiceInter myServiceInter = myService.getMyServiceInterImplPort();
         System.out.println(myServiceInter.add(12,55));
   }
}



Wsdl文件的结构:

type: 用来定义访问的类型

message: soap消息

portType : 指定服务接口

operation: 方法

    input: 入参

    output: 出参

binding: 指定消息传递所使用的格式

service : 指定服务发布的名称

 

 

可以使用tcpmon 来监控webservice的请求。

 


相关的代码下载:http://download.csdn.net/detail/zhutulang/9487929

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐