在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" />
p = ps.getPersonById("exception");
} catch (MyException me) {
+ myFault.getErrCode());
log.log(Level.INFO, "Fault ErrMsg = "
+ myFault.getErrMsg());
}
绕了好大一圈,擦汗。
貌似jaxws2.1可以直接map java exception到fault. 有时间可以试一试。
相关推荐
jaxws-api-2.1.jar包免费下载,方便大家
WebService runtime modeler error: Wrapper class XXX is not found. Have you run APT to generate them?错误;下载附件,执行System.out.println(System.getProperty("java.endorsed.dirs"));...
用jar包用的 工具包。下载完成放在 endorsed下面即可
安卓用到的额外的jar包,记录在此以备不时之需
标签:arquillian-tomee-jaxws-tests-1.6.0.2.jar,arquillian,tomee,jaxws,tests,1.6.0.2,jar包下载,依赖包
标签:arquillian-tomee-jaxws-tests-1.6.0.2-sources.jar,arquillian,tomee,jaxws,tests,1.6.0.2,sources,jar包下载,依赖包
标签:arquillian-tomee-jaxws-tests-1.6.0.1-sources.jar,arquillian,tomee,jaxws,tests,1.6.0.1,sources,jar包下载,依赖包
jaxws-rt-2.2.8.jar java webservice依赖包 在Tomcat中发布webservice时所用到
内含jaxws-api-2.3.1.jar 等jar包,from外网,不知道为什么maven上下不下来,就去找了一个,分享给有需要的朋友。
标签:arquillian-tomee-jaxws-tests-1.6.0.jar,arquillian,tomee,jaxws,tests,1.6.0,jar包下载,依赖包
标签:arquillian-tomee-jaxws-tests-1.7.0.jar,arquillian,tomee,jaxws,tests,1.7.0,jar包下载,依赖包
标签:arquillian-tomee-jaxws-tests-1.5.1.jar,arquillian,tomee,jaxws,tests,1.5.1,jar包下载,依赖包
标签:arquillian-tomee-jaxws-tests-1.5.0.jar,arquillian,tomee,jaxws,tests,1.5.0,jar包下载,依赖包
标签:arquillian-tomee-jaxws-tests-1.7.1.jar,arquillian,tomee,jaxws,tests,1.7.1,jar包下载,依赖包
标签:arquillian-tomee-jaxws-tests-1.5.2.jar,arquillian,tomee,jaxws,tests,1.5.2,jar包下载,依赖包
jaxws的api说明文档,内涵jaxws全部的的类和说明
jaxws-ri-2.28的jar包; jaxws-ri-2.28最新版本的;
org.springframework.remoting.jaxws.JaxWsPortClientInterceptor.class org.springframework.remoting.jaxws.JaxWsPortProxyFactoryBean.class org.springframework.remoting.jaxws.JaxWsSoapFaultException.class ...
jaxws-ri-2.3.1最新版,下载即可用。测试用的。已成功!