jaxws的web service的自定义fault
来源:互联网 发布:互穿网络防腐涂料 编辑:程序博客网 时间:2024/04/29 18:09
在jaxws中自定义fault比较绕弯,以下是自定义一个fault的过程。
1 建立web service以及 web method.
@WebService
public interface PersonService {
@WebMethod
public Person getPersonById(String id) throws MyException;
}
2 MyException.里面一定要有一个faultInfo的object.
@WebFault(name = "MyException")
public class MyException extends Exception implements Serializable {
private static final long serialVersionUID = 1L;
private MyFault faultInfo;
public MyException(String s, MyFault faultInfo) {
super(s);
this.faultInfo = faultInfo;
}
public MyFault getFaultInfo() {
return faultInfo;
}
public void setFaultInfo(MyFault faultInfo) {
this.faultInfo = faultInfo;
}
}
3 定义MyFault.
public class MyFault {
private String errMsg;
private int errCode;
public String getErrMsg() {
return errMsg;
}
public void setErrMsg(String errMsg) {
this.errMsg = errMsg;
}
public int getErrCode() {
return errCode;
}
public void setErrCode(int errCode) {
this.errCode = errCode;
}
}
4 发布web service. 查看wsdl,可以看到以下内容。
- <message name="MyException">
<part element="tns:MyException" name="fault" />
</message>
- <portType name="PersonService">
- <operation name="getPersonById">
<input message="tns:getPersonById" />
<output message="tns:getPersonByIdResponse" />
<fault message="tns:MyException" name="MyException" />
</operation>
</portType>
<xs:element nillable="true" name="MyException" type="tns:myFault" />
- <xs:complexType name="myFault">
- <xs:sequence>
<xs:element name="errCode" type="xs:int" />
<xs:element name="errMsg" type="xs:string" minOccurs="0" />
</xs:sequence>
</xs:complexType>
5 在client验证。
try {
p = ps.getPersonById("exception");
} catch (MyException me) {
MyFault myFault = me.getFaultInfo();
log.log(Level.INFO, "Error ErrCode = "
+ myFault.getErrCode());
log.log(Level.INFO, "Fault ErrMsg = "
+ myFault.getErrMsg());
}
绕了好大一圈,擦汗。
貌似jaxws2.1可以直接map java exception到fault. 有时间可以试一试。
- jaxws的web service的自定义fault
- Web Service(JAXWS 2)的完整实现
- web service 基于JAXWS开发的wsdl文档元素介绍
- web service - jaxws with eclipse
- 3、使用JaxWs开发Web Service
- Web Service Jaxws注解、CXF注解和发布
- SharePoint : 为WSS或者MOSS编写自定义的Web Service
- 实现自定义的Service
- web service的基础教程 web Service java
- web service的基础教程 web Service java
- web service的基础教程 web Service java
- web service的基础教程 web Service java
- web service的基础教程 web Service java
- Web Service的加密
- Web Service 的特点
- Web Service的介绍
- Web Service的加密
- web service的安全
- AOJ 2121 Castle Wall
- CXF JAX-WS 注释
- android OTA的时候删除data分区里面的部分数据
- Unity NGUI 描点控件的位移动画
- Java实现单链表反转
- jaxws的web service的自定义fault
- 3D 空间金字塔采样
- ContextClassLoader介绍
- 关于selectNodes与selectSingleNode的用法的区别
- 5.6 外观模式(4.5)
- 设置Hibernate的二级Cache
- c语言 一些自己的字符串处理函数
- 注释也可这样玩
- 读取文件方法