jdkによるwebserviceのパブリッシュと呼び出し

5142 ワード

サーバ側:1、インタフェースの作成2、インタフェース実装クラスの作成3、サービスのパブリッシュ(インタフェース実装クラスをアクセス可能なurlにパブリッシュ)の3つのステップに分けられます.
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;
    }

}
3public 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();
        }

    }