对WebService的个人理解: 1.使用cxf实现WebService:(仅自己测试使用) ①要想使用cxf实现webservice首先要导入cxf所需要的jar包,然后编写一个接口和一个接口实现类。接口和实现类都必须使用@WebService进行标注。在接口中和实现类中写一个简单的返回字符串的方法。 ②在写完接口和实现类之后开始写一个带有Main方法的java类来启动Webservice。 在Main方法中要新建一个工厂服务器:JaxWsServerfactorybean factory=new JaxWsServerfactorybean();//新建一个工厂服务器 factory.setServiceClass(HelloWorldImpl.class);//来加载服务的类,参数是接口实现类的class文件 factory.setAddress("http://localhost:8080/HelloWorld");//设置地址 Server s=factory.create();//通过工厂得到Server(是org.apache.cxf.endpoint.Server包下的) s.start();//启动Server 当在控制台中显示成功时,在浏览器中打上设置的网站,再追加上?WSDL就会得到生成的WSDL文件。 ③为WebService建立客户端 新建一个含有Main方法的类,在类中使用代理工厂来建立webservice客户端。 JaxWsProxyfactorybean factory=new JaxWsProxyfactorybean();//新建代理工厂实例 factory.setAddress("http://localhost:8080/HelloWorld");//设置连接地址 factory.setServiceClass(HelloWorld.class);//设置接口类型(参数为接口而不是实现类) HelloWorld h=(HelloWorld) factory.create();//通过工厂创建接口。 System.out.println(h.sayHello("Jack")); 写完客户端和服务端,先启动服务端,在运行客户端,在客户端的控制台会显示接口实现类方法返回的内容,在服务端的控制台会显示接口实现类中的一些新增内容。 2.解析WebService生成的WSDL文件 在每个生成的WSDL文件中都有根元素:<wsdl:deFinitions name="接口实现类名字+Service" ……> 还有几个主要的元素<wsdl:types ……对应接口中参数的和返回值的类型>、<wsdl:message……>请求和响应都包装在message里、<wsdl:portType>、<wsdl:binding……>、<wsdl:service……> 3.WebService的工作原理:(包含WSDL和SOAP) WSDL:是描述WebService为客户端提供哪些服务,以及告诉客户端怎样调用服务 SOAP:是描述客户端和服务端之间的请求响应 客户端和服务端之间的联系: ①客户端发送get请求给服务端②服务端返回给客户端一个WSDL文件③客户端解析WSDL文件后发送SOAP请求给服务端④服务端返回SOAP响应结果 SOAP简单的说就是有一定规则的xml文件。为看看SOAP可以在服务端java类中添加拦截器,添加请求拦截器,添加一个新的日志拦截器 factory.getininterceptors().add(new LoggingInInterceptor());和添加一个响应拦截器 factory.getoutInterceptors().add(new LoggingOutInterceptor());,来分别看看SOAP文件。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。