五、JAX-WS的详细介绍

1、常用的封装样式
      1.1、基于Wrapper和Document

      1.2、基于Bare

      1.3、基于RPC

    2、JAX-ws常用操作
      2.1、异常处理

创建异常处理类

异常对象最好是Exception的对象而不是RuntimeException

  在wsdl中添加消息和element

  为PortType和Binding设置异常

PortType中说明那些方法会抛出异常

Binding说明抛出异常的编码方式

      2.2、简单权限控制

1、创建header元素

  2、创建message并且绑定消息

  3、处理消息头

有如下几种方式:

1、通过SAAJ(直接创建SOAPBody和SOAPHeader对象,通过Dispatcher传递消息):客户端:可以处理,服务器端目前还没有方法获取SOAPMessage

2、使用SOAPHandler处理(SOAPMessageContext)

3、基于JAXWS-RI的方法

   Headers.create(element):可以把一个dom的element转换为Header元素

客户端

服务器端的编写

  4、服务器端处理Header

服务器端的编写

3_1、解决包冲突问题

当时有JAX RI时会抛出

javax.xml.ws.soap.SOAPFaultException: javax.xml.ws.WebFault.messageName()Ljava/lang/String;

这是因为在JAXRi中使用了WebFault对象,但是JDK也提供这个方法,在调用时会去调用JDK的WebFault此时就找不到messageName方法

解决方案:将jax-ri.jar这个 包拷贝到jdk的jre中的lib中的endored文件夹中

    3、在Tomcat中发布服务
      3.1、将wsdl文件夹拷贝到WEB-INF中

      3.1、导入Jax-RI包

          JAXWs-RI reference Implements

      3.2、在WEB-INF下创建sun-jaxws.xml

<?xml version="1.0" encoding="UTF-8" ?>

<endpoints xmlns="http://java.sun.com/xml/ns/jax-ws/ri/runtime" version ="2.0">

< endpoint name ="MyService"

implementation= "org.konghao.service.MyServiceImpl" url-pattern= "/tc"/>

</endpo

ints>

      3.3、配置web.xml

<listener >

< listener-class>com.sun.xml.ws.transport.http.servlet.WSServletContextListener </listener-class>

</ listener>

< servlet>

< servlet-name>MyService </servlet-name>

< servlet-class>com.sun.xml.ws.transport.http.servlet.WSServlet </servlet-class>

</ servlet>

< servlet-mapping>

< servlet-name>MyService </servlet-name>

< url-pattern>/tc</url-pattern>

</ servlet-mapping>

    4、二进制的处理
      4.1、基于MTOM的第一种处理方式

特别注意:只能在服务器中使用MTOM,在默认的Jetty服务器里面无法进行MTOM的传递

时间: 2024-12-24 08:29:22

五、JAX-WS的详细介绍的相关文章

简述iptales四表五链及详细介绍iptables命令使用方法

简述iptales四表五链及详细介绍iptables命令使用方法 简述iptables四表五链(1)四表 filter:过滤规则表,根据定义的规则过滤符合条件的数据包 nat表:network address translation 地址转换规则表 mangle:修改数据标记规则表 raw:关闭nat表上启动的连接跟踪制,加快封包穿越防火墙的速度 (2)五chain(链) INPUT OUTPUT FORWARD PREROUTING POSTROUTING (3)表<-->链的关系 raw:

Linux shell脚本基础学习详细介绍(完整版)二

详细介绍Linux shell脚本基础学习(五) Linux shell脚本基础前面我们在介绍Linux shell脚本的控制流程时,还有一部分内容没讲就是有关here document的内容这里继续. Linux shell脚本基础已经被分成好几个部分了,这里对控制流程的内容也就马上讲完了,这是最后一部分关于here document,这里举例稍微有点复杂,我们慢慢来分析这个复杂Linux shell脚本. 6. Here documents 当要将几行文字传递给一个命令时,here docu

[转]图解CSS的padding,margin,border属性(详细介绍及举例说明)

图解CSS的padding,margin,border属性 W3C组织建议把所有网页上的对像都放在一个盒(box)中,设计师可以通过创建定义来控制这个盒的属性,这些对像包括段落.列表.标题.图片以及层.盒模型主要定义四个区域:内容(content).边框距(padding).边界(border)和边距(margin). 对于初学者,经常会搞不清楚margin,background-color,background-image,padding,content,border之间的层次.关系和相互影响

红黑树(一)之 原理和算法详细介绍---转帖

目录1 红黑树的介绍2 红黑树的应用3 红黑树的时间复杂度和相关证明4 红黑树的基本操作(一) 左旋和右旋5 红黑树的基本操作(二) 添加6 红黑树的基本操作(三) 删除 作者:Sky Wang    于 2013-08-08 概述:R-B Tree,又称为"红黑树".本文参考了<算法导论>中红黑树相关知识,加之自己的理解,然后以图文的形式对红黑树进行说明.本文的主要内容包括:红黑树的特性,红黑树的时间复杂度和它的证明,红黑树的左旋.右旋.插入.删除等操作. 请尊重版权,转

android之ListView,详细介绍实现步骤,举例,自定义listview适配器

android之ListView,详细介绍实现步骤,举例,自定义listview适配器 09. 四 / android基础 / 没有评论 本文来源于www.ifyao.com禁止转载!www.ifyao.com android中如何使用listView是比较重要的,因为很多时候都需要将数据库中的数据以列表显示, 具体使用步骤:大体 1,建立一个item.xml文件,此布局文件布局布局如何具体显示列表中的每一个条目 2,在要使用listview的界面中添加listview控件. 3,activit

fstab文件详细介绍及修复fstab实战安例(九)

fstab文件详细介绍及修复fstab实战安例 一:fstab文件详细介绍 fstab-static information about the filesystems fstab这个文件中包含了系统中各种各样的文件系统的描述信息.正确维护和创建这个文件是一名系统管理员的职责所在.Fstab文件可以被特殊的工具修改,(如fstab-sync(8))fstab中每一个文件系统描述占一行,每一行中的每个列之间由tab键或空格分隔.文件中以#开头的行是注释信息.Fstab文件中的记录的排序十分重要.因

Hibernate核心类和接口详细介绍

一.hiobernate核心类和接口预览图 二.hibernate.properties 这个文件是以前老版本使用的 类似于hibernate.cfg.xml文件:作用和hibernate.cfg.xml一致. 三.hibernate.cfg.xml (1)详细介绍 ①该文件主要用于指定各个参数,是hibernate核心文件 ②默认放在src目录下,也可以放在别的目录下. ③指定连接数据库的驱动.用户名.密码.url.连接池.. ④指定对象关系映射文件的位置. ⑤也可使用hibernate.pr

struts详细介绍

Struts2 1. 目录 1.目录 2.MVC 3.STRUTS2解析 4.标签 5.OGNL 6.国际化 7.类型转换 8.校验 9. 拦截器 10.上传与下载 11.STRUTS2与对JSON的支持 2. MVC 把软件系统分为三个基本部分:模型(Model).视图(View)和控制器(Controller).MVC模式最早由Trygve Reenskaug在1978年提出,在20世纪80年代为程序语言Smalltalk发明的一种软件设计模式.MVC模式的目的是实现一种动态的程式设计,使后

哪种机械键盘更适合打游戏? 机械键盘5种常用机械轴详细介绍

哪种机械键盘更适合打游戏? 机械键盘5种常用机械轴详细介绍 机械键盘 12-08 (4)青轴 最具特点的就是青轴,青轴一般是打字员的梦想,很少用于游戏,不过是本人的最爱,特点是只有当声音响起的时候按键才被触发,因此打字的时候噼里啪啦,无论是指尖还是心理上都得到了极大满足. 但是其"机动性"打字和双击时效果并不是很好,因为触底比"触发"要高,这款特别适合输入文字,但是要注意噪音很大,但这也是我喜欢MX青轴的原因之一. (5)白轴 最后说一下白轴,目前白轴基本已经停产了