在Jboss 7的soap响应中发送异常信息



我们公司正在努力完成Maven项目(jboss 7.1.1, java 7)的一个需求。我们有一个公开了几个方法的soap web服务。这些方法抛出异常。异常在该项目的依赖项中声明。问题是我们不能在soap响应中发送任何关于我们在webservice方法中抛出的异常类型的信息。所有的肥皂带来的是

    <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
        <soap:Body>
            <soap:Fault>
                <faultcode>soap:Server</faultcode>
                <faultstring>MESSAGE</faultstring>
            </soap:Fault>
        </soap:Body>
    </soap:Envelope>

正在使用我们服务的客户端无法分辨他们得到的是哪种错误。我们如何克服这个问题?我们如何在soap体中发送关于我们正在抛出的特定异常的相关信息?

我们例外

    @WebFault
    public class OurException extends Exception
    {
        public OurException (){
            super();
        }

        public OurException (String message)
        {
            super(message);
        }
    }

非常感谢,佩德罗·费雷拉

您可以将异常转换为所需的响应类型,并拥有包含有关错误信息的属性,或者您可以利用包含setDetail(元素细节)方法的cxf SoapFault类。这样,您就可以构造自己的xml元素并将其注入SoapFault。

希望有帮助!

最新更新