如何在Java Web服务中实现Soap Fault?

时间:2012-03-15 15:13:52

标签: java vb.net web-services axis2 soapfault

我对Web服务很陌生,并且一直在尝试实现Soap Faults。我使用Apache Axis2以下列方式生成web服务。

public interface XYZ{
public String myMethod(User[] user)
}

这里我创建了一个带有一些变量的User类,这样我就可以在.Net环境下生成User对象来传递对象的User []。

Public class Webservice implements XYZ
{
Public String myMethod(User[] user){
//My implementation
}
}

现在,我使用Eclipse创建了一个动态项目,在Axis2插件的帮助下,我为生成wsdl文件的“Webservice”类创建了webservice。我在Tomcat文件夹中部署了webcontent,并能够访问.Net环境中的WSDL文件。我能够将.Net的对象数组(User [])传递给Java并能够完成我的任务。现在,我需要在Java中实现Soap Faults,我不确定如何实现。

任何人都可以帮我提供示例或教程吗?

3 个答案:

答案 0 :(得分:1)

最好的办法是谷歌提供类似“jax-ws fault”的内容。例如:

http://www.ibm.com/developerworks/webservices/library/ws-jaxws-faults/index.html

您还可以实现错误处理程序,如“在JAX-WS Web服务中使用处理程序”中所述:

http://axis.apache.org/axis2/java/core/docs/jaxws-guide.html#BottomUpService

答案 1 :(得分:1)

当您在实现操作的方法中抛出异常时,大多数框架都会触发SOAP错误。但这并不能让你对SOAP故障内容有太多控制。

有关Axis的详细信息,请参阅here

答案 2 :(得分:1)

通常,您不需要任何特定的编码来实现SOAP错误。只要方法抛出任何异常(在您的示例中为myMethod),轴将自动生成SOAPFault元素。响应。该异常实际上包含在AxisFault异常中并发送给客户端。

点击此处i