WebService入门课程(01)

来源:互联网 发布:知乎 女生减肥 编辑:程序博客网 时间:2024/05/22 01:13

问题1:WebService是用来干什么的?

答:webservice是实现异构平台交互的一种技术


问题2:哪些框架可以帮助我们实现webserbice?

答:CXF Axis Metro这些框架可以帮助我们实现webservice,JAVA自己也可以帮我们实现webservice


问题3:解释下SEI和SIB两个术语

SEI:Service Endpoint Interface 服务端接口

SBI:Service implemetion Bean


问题4:如何用JAVA实现webservice?

1.1、创建接口
1.2、创建实现类
1.3、创建服务类
1.4、确立服务在网上发布的地址
1.2、公布服务

package test.my;import javax.jws.WebService;@WebServicepublic interface IMyService {public int add(int a,int b);public int minus(int a,int b);}



package test.my;import javax.jws.WebService;@WebService(endpointInterface="test.my.IMyService")public class MyServiceImpl implements IMyService {@Overridepublic int add(int a, int b) {System.out.println(a+"+"+b+"="+(a+b));return a+b;}@Overridepublic int minus(int a, int b) {System.out.println(a+"-"+b+"="+(a-b));return a-b;}}

package test.my;import javax.xml.ws.Endpoint;public class MyServer {/** * 确定对外公布的服务地址 */public static void main(String[] args) {String address = "http://localhost:6666/ns";Endpoint.publish(address, new MyServiceImpl());}}


问题5如何调用

package test.my;import java.net.MalformedURLException;import java.net.URL;import javax.xml.namespace.QName;import javax.xml.ws.Service;public class TestCilent {public static void main(String[] args) {URL url;try {url = new URL("http://localhost:6666/ns?wsdl");QName sname = new QName("http://my.test/","MyServiceImplService");Service service = Service.create(url, sname);IMyService ms = service.getPort(IMyService.class);System.out.println(ms.add(12,33));} catch (MalformedURLException e) {e.printStackTrace();}}}

class test.my.MyServiceImpl has neither @WebSerivce nor @WebServiceProvider annotation
没有@WebSerivce 也没有@WebServiceProvider注解

这个告诉我们需要为我们的服务接口和实现类写上@WebSerivce注解

下节预留问题:这里客户端调用依赖于服务器端接口,这样肯定和实际不符合,实际上客户端是没有服务端这些类和接口的,那么怎么办呢,请看第二节


0 0