1. 程式人生 > >編寫webservice服務端和客戶端例項(1)

編寫webservice服務端和客戶端例項(1)

1、首先建立介面

@WebService
public interface IMyService {


//@WebResult(name="addResult")
public Integer add(Integer num1,Integer num2);//@WebParam(name="num1")
public Integer minus(Integer num1,Integer num2);
}

2、介面的實現類

import javax.jws.WebService;


@WebService(endpointInterface="com.ninemax.service.IMyService")
public class MyServiceImpl implements IMyService {


@Override
public Integer add(Integer num1, Integer num2) {
// TODO Auto-generated method stub
return num1+num2;
}


@Override
public Integer minus(Integer num1, Integer num2) {
// TODO Auto-generated method stub
return num1-num2;
}


}

3、啟動服務端



public class MyService {


public static void main(String[] args) {
String address="http://localhost:8888/webservice";
Endpoint.publish(address, new MyServiceImpl());
}
}

4、建立客戶端訪問



public static void main(String[] args) {
try {
URL url=new URL("http://localhost:8888/webservice?wsdl");
QName qName=new QName("http://service.ninemax.com/","MyServiceImplService");
Service service=Service.create(url, qName);
IMyService iMyService = service.getPort(IMyService.class);
System.out.println(iMyService.add(12, 32));
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

以上的方式缺點:

//上面的方法依賴對方的介面

應該用wsdl生產相應的介面來實現

詳情請看下一篇