webService入门学习(一)

别的同事在忙这个东西,正巧我不会所以就找资源学了点。

webService是什么东西可以去w3cSchool去看,但是那里只有.net的教程

那么我这里就记录下我的学习

 

步骤提纲:

1创建发布接口的服务器

2确认接口服务器运行正常可被调用

3通过CMD构造客户端

4调用客户端产生的接口,运行接口方法。

 

 

 

1.1:首先在Eclipse上创建web Service project类型项目名为TheService

1.2:然后创建对外公布的接口如下

//WebService类型注解    SOAP类型注解
@WebService
@SOAPBinding(style=Style.RPC)
public interface MyServiceInter {
    //方法注解
    @WebResult(name="addResult")
    public  int add(@WebParam(name="a")int a ,@WebParam(name="b")int b);

}

1.3:创建该接口的实体类,构造接口方法具体实现

//webService对应的接口类
@WebService(endpointInterface="com.dhh.Service.MyServiceInter")
@SOAPBinding(style=Style.RPC)
public class MyService implements MyServiceInter {
    //对外公布接口的具体实现
    @Override
    public int add(int a, int b) {
        // TODO Auto-generated method stub
        System.out.println("a+b="+(a+b));
        return a+b;
    }

}

1.4:创建服务器启动,这里使用main方法启动

public class Server {
    public static void main(String[] args) {
        //web路径
        String address="http://localhost:8888/myservice";
        //配置路径与该路径下的接口实现类
        Endpoint.publish(address, new MyService());
        System.out.println("publish success");
    }
}

 

 

2.1:该服务端启动之后可以在浏览器输入address+“?wsdl”查看接口内容。

如本例子中的:http://localhost:8888/myservice?wsdl

内容如下图:

 

 

3.1:先以Web Service project创建空项目 TheClient(注意这一系列操作的过程中服务端必须开启状态)

3.2:调用CMD命令输入命令

      wsimport -d "(客户端项目src路径)" -keep (接口调用url)

3.3:刷新项目,你就会看到你的项目下多了一个包,跟服务端的包类似如下图:

MyClient是我后来第四部创建的类,懒得删了,你生成的包应该是没MyClient的。

 

4.1创建客户端测试类如下图运行即可发现可调用服务器的方法了

public class MyClient {
    public static void main(String[] args) {
        //MyServiceService接口的具体实现类,用来回调接口
         MyServiceService myService = new MyServiceService();  
         //回调接口,以便使用接口方法
         MyServiceInter myServiceInter = myService.getMyServicePort();
         System.out.println(myServiceInter.add(28, 55));
    }
}

在客户端的操作必须在服务端正常运行下操作。

可查看服务端控制台,每次调用接口的时候服务端也会运行相应的具体实现方法。

 

posted @ 2017-11-06 14:49  酒皇  阅读(9807)  评论(0编辑  收藏  举报