利用jdk发布和调用webservice

服务器端:
分为三个步骤:
1、创建接口
2、创建接口实现类
3、发布服务(把接口实现类发布成一个可以访问的url)

package com.lwl.webservice.server;
import javax.jws.WebService;
1、接口
@WebService
public interface IMyService {
    public int add(int a,int b);
    public int minus(int a,int b);
}

package com.lwl.webservice.server.impl;

import com.lwl.webservice.server.IMyService;

import javax.jws.WebService;

2、实现类
@WebService(endpointInterface = "com.lwl.webservice.server.IMyService")
public class MyServiceImpl implements IMyService {
    @Override
    public int add(int a, int b) {
        return a+b;
    }

    @Override
    public int minus(int a, int b) {
        return a-b;
    }

}
3、发布服务
 public static void main(String[] args) {
        String adress="http://localhost:8000/es";
        Endpoint.publish(adress, new MyServiceImpl());
    }
    //会生成wsdl文件

客户端:

import com.lwl.webservice.server.IMyService;
import javax.xml.namespace.QName;
import javax.xml.ws.Service;
import java.net.MalformedURLException;
import java.net.URL;

 public static void main(String[] args) {
        try {
            //创建访问wsdl的url
            URL url = new URL("http://localhost:8000/es?wsdl");
            //创建服务名( 注意:第一个参数是指实现类的路径倒者写,第二个参数是实现类+Service)
            QName sName = new QName("http://impl.server.webservice.lwl.com/","MyServiceImplService");
            //创建服务
            Service service = Service.create(url,sName);
            //实现接口
            IMyService ms = service.getPort(IMyService.class);
            System.out.println(ms.add(5,3));
            System.out.println(ms.minus(5,3));

        } catch (MalformedURLException e) {
            e.printStackTrace();
        }

    }

你可能感兴趣的:(Java)