- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我正在使用 JAX WS 2.0 调用 SOAP 网络服务。如果出现错误,我会收到以下响应:
<?xml version="1.0"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://www.w3.org/2003/05/soap- envelope">
<soap:Header/>
<soap:Body>
<soap:Fault xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://www.w3.org/2003/05/soap- envelope" xmlns:xml="http://www.w3.org/XML/1998/namespace">
<soap:Code>
<soap:Value>soap:Receiver</soap:Value>
</soap:Code>
<soap:Reason>
<soap:Text xml:lang="en">Exception of type 'blah blah' was thrown.
</soap:Text>
</soap:Reason>
<soap:Node>{SOME URL}</soap:Node>
<detail>
<error>345</error>
<message>Cannot find user. Blah blah</message>
</detail>
</soap:Fault>
</soap:Body>
</soap:Envelope>
如您所见,有用的错误在详细信息节点中:
<soap:Envelope>
<soap:Body>
<soap:Fault>
<detail>
在我的客户端中,我得到一个 SOAPFaultException,它有一个 SOAPFault 对象。 SOAPFault 对象似乎缺少我在上面发布的节点。 SOAPFaultException.getFault().getDetail() 为空。但是,它有所有其他节点,包括 soap:Reason。知道为什么它缺少详细信息节点吗?
谢谢。
最佳答案
事实证明,详细信息节点也需要包含 SOAP 命名空间。所以它需要:
<soap:detail>
由于我无法控制 Web 服务,所以我设法在注入(inject)客户端的自定义 SOAPHandler 的 handleFault 方法中进行了此更改。更改后,故障详细信息不再为空,并具有所有子节点。
基于,http://www.w3.org/TR/soap12-part1/#soapfault ,我相信开发人员需要在故障期间更正响应。
关于java - SOAPFaultException.getFault().getDetail() 为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13918911/
我想从下面列出的肥皂故障中单独提取代码和文本。我正在使用的代码(在 xml 下面列出)将代码和文本一起打印。 fault:Client An error occurred. Plea
我正在使用 JAX WS 调用 SOAP Web 服务。如果出现错误,我会从客户端收到以下响应(我在跟踪日志中看到这一点): Error Error
当我偶然发现一种情况时,我一直在尝试网络服务。相关详情为: 我正在使用 eclipse、cxf 和 tomcat。 我创建了一个简单的 Web 服务来打印 hello。它的方法中没有任何参数。当我从客
我正在使用 JAX WS 2.0 调用 SOAP 网络服务。如果出现错误,我会收到以下响应: so
在尝试运行下面的代码来获取 SAML token (从 VMWare 示例中获取以通过 SSO 服务器进行身份验证)时,出现以下异常。 出于某种原因,请求版本'http://docs.oasis-op
我目前正在向 JSF/Richfaces 应用程序添加功能,我们现在正在与外部网络服务集成。 使用服务完成的操作包括:获取用户、获取帐户、更新用户、更新帐户、创建用户、创建帐户。 这些服务以及意外的
我正在开发一个基于 JAX-WS 的应用程序。我使用 wsgen 从服务器生成 WSDL,然后使用 wsimport 构建客户端库。我正在编写自己的自定义异常以通过我的方法调用抛出。代码结构如下。 自
我将 Glassfish 3 与 jax-ws (metro) 结合使用。我写了一个可以抛出 SOAPFaultException 的 SOAPHandler。我在客户端使用 Silverlight。
我在从 Web 服务调用服务时遇到问题。我无法弄清楚我收到的以下解码错误。请帮忙。我已经查看了通过的帖子,但我不知道发生了什么,因为错误描述非常笼统。 为了从 WSDL 生成 Java 客户端代码,我
我在调用我的 web 服务时遇到问题,Spring WS 仅返回 WebServiceTransportException:内部服务器错误,而不是预期的 SoapFaultException。当我在
friend 们,我已经尝试了很多并阅读了很多论坛,但无法理解为什么会出现这个问题。 我使用契约优先方法创建了 Jax-WS WebService。创建 WSDL 和 XSD,然后使用 wsimpor
我在调用我的 web 服务时遇到问题,Spring WS 仅返回 WebServiceTransportException:内部服务器错误,而不是预期的 SoapFaultException。当我在
我使用来自以下 WSDL 的 Apache CXF 2.x 在 eclipse 中创建了一个 Web 服务客户端: https://test.timbrado.com.mx/cfdi/wstimbra
调用端口名称 getDUNSProfile() 的代码如下所示: public class LookupRequestProcessor { protected GetCleanseMatchRe
如果是错误的 soap 请求,我需要获取错误的详细信息。 我正在使用 JAX-WS 创建 Web 服务客户端。我的问题是,在错误事务期间,Web 服务客户端能够捕获 SOAPFaultExceptio
不断出现此错误,不知道如何解决。 “线程“main”javax.xml.ws.soap.SOAPFaultException 中出现异常:无法满足任何策略替代方案。” 错误可追溯到以下代码中的行por
以前我们在服务器上部署了基于“http”的网络服务,但现在我们正试图让它成为 https。因此,为此我已将我的项目从/var/www/转移到 linux 机器上的/var/www-ssl 。我们正在为
尽管我已经设置了用户名、密码、操作和WS安全密码类型(即PasswordText),当我尝试调用 Web 服务的服务时出现此异常:未定义安全操作。我尝试通信的 Web 服务使用 Basic Authe
我正在使用 Sharepoint SOAP 服务来获取基于查询的数据。当我在 GetListItems 中将 Query 参数作为 null 传递时,我得到了一个文档列表,但是当我传递 Query 时
背景 我正在使用 wsimport 创建一个本质上是 Java 网络服务客户端的东西,连接到返回数据集的 .Net 网络服务(不幸的是)。更具体地说,我正在为 ESRI ArcGIS Server 1
我是一名优秀的程序员,十分优秀!