webservice接口返回错误回滚

我自己用java写了一个webservice的接口 正常情况可以调通并返回正确报文 如果接口中调用的子方法内如果出现错误 就throw到上一层主方法中 由主方法try-catch捕获后将错误信息组装成报文返回 但调用方法就收不到我返回的报文了 只能收到一个错误信息 以下是错误信息 请大神帮忙看看 我希望调用方法可以收到我返回的报文
org.codehaus.xfire.fault.XFireFault: Transaction rolled back because it has been marked as rollback-only
at org.codehaus.xfire.fault.Soap11FaultSerializer.readMessage(Soap11FaultSerializer.java:31)
at org.codehaus.xfire.fault.SoapFaultSerializer.readMessage(SoapFaultSerializer.java:28)
at org.codehaus.xfire.soap.handler.ReadHeadersHandler.checkForFault(ReadHeadersHandler.java:111)
at org.codehaus.xfire.soap.handler.ReadHeadersHandler.invoke(ReadHeadersHandler.java:67)
at org.codehaus.xfire.handler.HandlerPipeline.invoke(HandlerPipeline.java:131)
at org.codehaus.xfire.client.Client.onReceive(Client.java:406)
at org.codehaus.xfire.transport.http.HttpChannel.sendViaClient(HttpChannel.java:139)
at org.codehaus.xfire.transport.http.HttpChannel.send(HttpChannel.java:48)
at org.codehaus.xfire.handler.OutMessageSender.invoke(OutMessageSender.java:26)
at org.codehaus.xfire.handler.HandlerPipeline.invoke(HandlerPipeline.java:131)
at org.codehaus.xfire.client.Invocation.invoke(Invocation.java:79)
at org.codehaus.xfire.client.Invocation.invoke(Invocation.java:114)
at org.codehaus.xfire.client.Client.invoke(Client.java:336)
at org.codehaus.xfire.client.Client.invoke(Client.java:368)
at com.sinosoft.intf.quotation.web.TestClient.main(TestClient.java:32)

我也遇到过这种情况,是你调用webservice服务端时,服务端的事务抛错引起的。我也没有找到原因,为了不让他报这个错,在webservice服务端的spring配置里,加“<property name="globalRollbackOnParticipationFailure" value="false" />”
参考:http://blog.csdn.net/waixin/article/details/6551457
温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-01-02
你自己返回的,不是webservice的标准的,不认了。或者,不是调用的接口,也不认识的。

做得好,就在接口中定义返回是否正确、不正确的描述等信息追问

好像不是这样的 我昨天做了实验 子方法中报错 如果通过throws方式往上层抛异常就出出现上面描述的这种情况 但如果通过throw new Exception()这种方式 调用方就可以接收到我返回的报文 报文组织的都一样 原理不明~

相似回答