Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring boot 实施XSD';SpringWeb服务(SOAP)中的异常类_Spring Boot_Soap_Jax Ws_Spring Ws - Fatal编程技术网

Spring boot 实施XSD';SpringWeb服务(SOAP)中的异常类

Spring boot 实施XSD';SpringWeb服务(SOAP)中的异常类,spring-boot,soap,jax-ws,spring-ws,Spring Boot,Soap,Jax Ws,Spring Ws,我正在使用SpringWS在SpringBoot中创建一个SOAP web服务。我正在重新创建的服务是在旧技术上运行的服务的克隆,该技术使用javaxjws,类由XSD生成 我遇到的问题实际上是相同的: 1.我似乎无法将“新”Web服务中抛出的异常“接收”回消费者。 2.在SOAPUI中查询端点时,Web服务的异常类显示为一个单向方法 我认为这是因为SpringWS没有正确地实现/理解异常类 在新服务中引发异常时,使用者收到的是com.sun.xml.internal.ws.fault.Serv

我正在使用SpringWS在SpringBoot中创建一个SOAP web服务。我正在重新创建的服务是在旧技术上运行的服务的克隆,该技术使用javaxjws,类由XSD生成

我遇到的问题实际上是相同的: 1.我似乎无法将“新”Web服务中抛出的异常“接收”回消费者。
2.在SOAPUI中查询端点时,Web服务的异常类显示为一个单向方法

我认为这是因为SpringWS没有正确地实现/理解异常类

在新服务中引发异常时,使用者收到的是
com.sun.xml.internal.ws.fault.ServerSOAPFaultException
,而不是Web服务中引发的异常

原始JavaX服务返回(以
TestException
为例):


我找不到关于如何构建/配置异常以生成相同的
嵌套元素的任何文档或指导。有没有一种方法可以准确地将异常传回,使其看起来与服务中的异常相同?

以下是一些实现自定义异常解析程序的示例,这些自定义异常解析程序扩展了AbstractEndpointExceptionResolver,并为不同的异常类型定义了SOAP错误映射:,。

谢谢-我已经看过Maarten Mulders指南(其他两个都太老了,现在无法实现),这花了一段时间,但最终实现了。他使用的“示例”类名与公共库相同,这让我大吃一惊!
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
   <S:Body>
      <S:Fault xmlns:ns4="http://www.w3.org/2003/05/soap-envelope">
         <faultcode>S:Server</faultcode>
         <faultstring>Test</faultstring>
         <detail>
            <ns2:TestException xmlns:ns2="http://test.co.uk/">
               <code>abc123</code>
               <message>Test</message>
            </ns2:TestException>
         </detail>
      </S:Fault>
   </S:Body>
</S:Envelope>