在Java Web服务上引发用户定义的异常时出错

在Java Web服务上引发用户定义的异常时出错,java,web-services,exception,wsdl,soap,fault,Java,Web Services,Exception,Wsdl,Soap,Fault,我不能对我的web服务的方法抛出异常。当我在我的方法中抛出异常并尝试从Soap UI测试我的应用程序时,会出现以下错误: Failed to import WSDL 及 我的问题是: 如何为JavaWeb服务编写用户定义的异常 (也就是说,有一个方法返回一个学生的名字。但是,如果学生在数据库中找不到,就会抛出一个错误?例外情况是一等公民,称为s。基本上,故障是您的操作可以返回的另一条消息,但语义不同。通常,故障会在端点接口中转换为强类型异常 示例取自: 如果您从服务方法抛出suvh异常,它

我不能对我的web服务的方法抛出异常。当我在我的方法中抛出异常并尝试从Soap UI测试我的应用程序时,会出现以下错误:

Failed to import WSDL

我的问题是:

如何为JavaWeb服务编写用户定义的异常

(也就是说,有一个方法返回一个学生的名字。但是,如果学生在数据库中找不到,就会抛出一个错误?

例外情况是一等公民,称为s。基本上,故障是您的操作可以返回的另一条消息,但语义不同。通常,故障会在端点接口中转换为强类型异常

示例取自:



如果您从服务方法抛出suvh异常,它将转换为
消息,并在客户端重新抛出。如果只是在服务器端抛出任意消息,则会将其视为错误,并可能导致客户端出现500个错误代码。

我是java web服务新手。我使用Spring,不编写任何wsdl模式,它是自动生成的。我可以在Java端这样做吗?@karmaci:是的,你可以用
@WebFault
注释你的异常。这里有些东西:但我不知道如何实现它。我需要一个简单的基本示例。我已经实现了一个示例,但是如果不定义targetNamespace元素,我的示例就无法工作?你有什么想法吗?
java.lang.NullPointerException
<message name="faultMsg"><part name="fault" element="tns:fault"/>
<portType name="Interface">
    <operation name="op1">
        <input name="op1Request" message="tns:op1RequestMsg"/>
        <output name="op1Response" message="tns:op1ResponseMsg"/>
        <fault name="fault" message="tns:faultMsg"/>
    </operation>
</portType>