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生產相應的接口來實現
詳情請看下一篇