第2章jax-ws开发深入_第1页
第2章jax-ws开发深入_第2页
第2章jax-ws开发深入_第3页
第2章jax-ws开发深入_第4页
第2章jax-ws开发深入_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

北京传智播客教育JAX-WS开发深入讲师:苗润土北京传智播客教育第二章JAX-WS开发深入1、使用复杂的数据类型编写webservice方法2、JAX-WS注解3、JAX-WS发布web工程北京传智播客教育2.1使用复杂数据类型发布webserviceSOAP协议支持对象格式数据,我们可以将天气查询的结果封装在一个查询结果对象中,字段包括:城市、日期、天气、温度等信息。

服务端编写webservice的方法和前边一样,最后使用endpoint发布服务。wsimport生成客户端代码。北京传智播客教育2.1使用javax.xml.ws.Service类进行客户端编程第一步:创建URL,指定资源地址即wsdl地址第二步:创建Qname,指定命名空间和视图名称第三步:创建服务视图对象service第四步:从服务视图中得到服务端点即服务接口(这里需要服务接口类型,可使用wsimport生成后只留下porttype)第五步:通过服务端点调用服务方法北京传智播客教育2.1客户端实现://定义url,参数为wsdl地址URLurl=newURL("");//定义qname,第一个参数是命名空间,第二个参数名称是wsdl里边的服务名QNameqname=newQName("","WeatherServerService");//创建服务视图Serviceservice=Service.create(url,qname);//得到服务端点WeatherServerweatherServer=service.getPort(WeatherServer.class);//通过服务端点调用服务方法System.out.println(weatherServer.queryWeatherByCity("郑州"));北京传智播客教育2.2JAX-WS注解@WebService-定义服务,在publicclass上边@WebMethod-定义方法,在公开方法上边@WebResult-定义返回值,在方法返回值前边@WebParam-定义参数,在方法参数前边作用:通过注解,可以更加形像的描述Web服务。对自动生成的wsdl文档进行修改,为使用者提供一个更加清晰的wsdl文档。当修改了WebService注解之后,会影响客户端生成的代码。调用的方法名和参数名也发生了变化北京传智播客教育2.2使用注解注意@WebMethod对所有非静态的公共方法对外暴露为服务.对于静态方法或非public方法是不可以使用@WebMethod注解的.对public方法可以使用@WebMethod(exclude=true)定义为非对外暴露的服务。北京传智播客教育2.3JAX-WS发布web工程:Jax-ws开发的webservice发布至web容器需要使用jax-wsRI(扩展实现),下载jax-wsRI最新版本,本教程使用jaxws-ri-2.2.8版本。1、创建javaweb工程2、将jaxws-ri-2.2.8下的jar拷贝至javaweb工程的lib目录3、编写服务端代码,服务端代码与使用jax-ws开发普通java工程一致4、使用wsgen生成wsdl4、在WEB-INF下创建sun-jaxws.xml,内容见备注5、修改web.xml文件6、访问tomcat下的web工程即可(:端口/工程目录/weather)注意:web.xml中servlet解析的路径要和sun-jaxws.xml中的一致,如例子中都配置为“/weather”北京传智播客教育2.3使用wsgen生成wsdl:Wsgen生成wsdl:1、Cmd进入命令行2、cd工程目录3、执行wsgen格式为:wsgn[–wsdl]–cp<服务接口或类>[-r]-cpclasspath(注意都是相对与当前目录)-rwsdl路径(注意都是相对与当前目录)生成soap1.1如下:wsgen-wsdl:soap1.1-cpWebRoot\WEB-INF\classescn.itcast.weather.server.ServerJws-rWebRoot\WEB-INF\wsdlwsgen-wsdl:Xsoap1.2-extension-cpWebRoot\WEB-INF\classescn.itcast.weather.server.ServerJws-rWebRoot\WEB-INF\wsdl北京传智播客教育2.3sun-jaxws.xml(soap1.1):<?xmlversion="1.0"encoding="UTF-8"?><endpointsxmlns=''version='2.0'><endpointname='ServerJws'implementation='cn.itcast.weather.server.ServerJws'wsdl='WEB-INF/wsdl/WeatherServerService.wsdl'url-pattern='/weather'/></endpoints>北京传智播客教育2.3sun-jaxws.xml(soap1.2):<?xmlversion="1.0"encoding="UTF-8"?><endpointsxmlns=''version='2.0'><endpointname='ServerJws'implementation='cn.itcast.weather.server.ServerJws'binding=""wsdl='WEB-INF/wsdl/WeatherServerService.wsdl'url-pattern='/weather'/></endpoints>北京传智播客教育2.3web.xml添加监听和servlet:<listener><listener-class>com.sun.xml.ws.transport.http.servlet.WSServletContextListener</listener-class></listener>

<servlet><servlet-name>weather</servlet-name><servlet-class>com.sun.xml.ws.transport.http.servlet.WSServlet</servlet-class><load-on-startup>1</load-on-startup></servlet><servlet-mapping

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论