在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. 有时间可以试一试。
相关推荐
安卓用到的额外的jar包,记录在此以备不时之需
jaxws-rt-2.2.8.jar java webservice依赖包 在Tomcat中发布webservice时所用到
用jar包用的 工具包。下载完成放在 endorsed下面即可
用于Java Webservice开发 jdK
这个"jaxws-api-2.1.zip"压缩包包含的是JAX-WS 2.1版本的API库,主要用于Java应用程序开发,特别是那些需要与Web服务交互的应用。 **JAX-WS概述** JAX-WS作为Sun Microsystems(现已被Oracle收购)推出的一种技术...
标签:arquillian-tomee-jaxws-tests-1.6.0.2.jar,arquillian,tomee,jaxws,tests,1.6.0.2,jar包下载,依赖包
标签"webser jaxws"表明这是与Web服务和JAX-WS相关的技术。Web服务是一种通过网络进行通信的软件,而JAX-WS则是开发这种服务的Java标准。 压缩包内的"jaxws-ri"可能包含以下组成部分: 1. **bin**:存放可执行文件...
标签: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包下载,依赖包
例如,`javax.xml.ws.WebServiceRef`注解用于在Java应用中注入Web服务代理,而`javax.xml.ws.Service`类则用于创建服务端点或客户端代理。此外,还有`@WebService`注解,用于标识服务接口,以及`@SOAPBinding`,用于...
Java API for XML Web Services (JAX-WS) 是Java平台上用于构建Web服务和客户端的API。JAX-RI(JAX-WS Reference Implementation)是这个API的官方参考实现,它提供了一个完整的、符合规范的解决方案,使开发者能够...
标签:arquillian-tomee-jaxws-tests-1.6.0.jar,arquillian,tomee,jaxws,tests,1.6.0,jar包下载,依赖包
标签:arquillian-tomee-jaxws-tests-1.5.1.jar,arquillian,tomee,jaxws,tests,1.5.1,jar包下载,依赖包
标签:arquillian-tomee-jaxws-tests-1.7.0.jar,arquillian,tomee,jaxws,tests,1.7.0,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包下载,依赖包
1. **jaxws-api-2.3.1.jar**:这是JAX-WS API的核心库,提供了在Java应用程序中创建和消费SOAP(Simple Object Access Protocol)Web服务的标准接口。版本2.3.1是这个API的一个更新版本,它遵循Java EE 8规范,包含...
Java Web Service(JWS)是基于Java平台的用于创建分布式应用程序的一种技术,它允许服务提供者和服务消费者通过网络进行通信。在Java环境中,JAX-WS(Java API for XML Web Services)和JAXB(Java Architecture ...