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