編寫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生產相應的介面來實現
詳情請看下一篇