ServerSOAPFaultException 以及如何读取它?

2024-05-09

我做了一个请求,我的程序吐出来了

WARNING: Input Action on WSDL operation Search and @Action on its associated Web Method search did not match and will cause problems in dispatching the requests
Exception in thread "main" com.sun.xml.internal.ws.fault.ServerSOAPFaultException: Client received SOAP Fault from server: Client error Please see the server log to find more detail regarding exact cause of the failure.
    at com.sun.xml.internal.ws.fault.SOAP11Fault.getProtocolException(SOAP11Fault.java:178)
    at com.sun.xml.internal.ws.fault.SOAPFaultBuilder.createException(SOAPFaultBuilder.java:124)
    at com.sun.xml.internal.ws.client.sei.StubHandler.readResponse(StubHandler.java:238)
    ....

我通过 mitmproxy 看到服务器发回

<?xml version='1.0' encoding='utf-8'?>
<!--pageview_candidate-->
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <soapenv:Body>
    <soapenv:Fault>
      <faultcode>soapenv:Client</faultcode>
      <faultstring>Client error</faultstring>
      <faultactor>http://api.bing.net:80/soap.asmx</faultactor>
      <detail>
        <Errors xmlns="http://schemas.microsoft.com/LiveSearch/2008/03/Search">
          <Error>
            <Code>1001</Code>
            <Message>Required parameter is missing.</Message>
            <HelpUrl>http://msdn.microsoft.com/en-us/library/dd251042.aspx</HelpUrl>
            <Parameter>SearchRequest.AppId</Parameter>
          </Error>
          <Error>
            <Code>1001</Code>
            <Message>Required parameter is missing.</Message>
            <HelpUrl>http://msdn.microsoft.com/en-us/library/dd251042.aspx</HelpUrl>
            <Parameter>SearchRequest.Sources</Parameter>
          </Error>
        </Errors>
      </detail>
    </soapenv:Fault>
  </soapenv:Body>
</soapenv:Envelope>

如何读取第一位并获取第二位的详细信息?我无权访问服务器日志,例如托管 Web 服务的服务器上的日志。

我注意到soapenv:Fault 中的xml 元素没有xmlns。大多数 SOAP 错误都是这样报告的吗?这是一种不标准的做事方式吗?我是否必须完全依赖 mitmproxy 来调试此类 Web 服务问题?


您必须创建 SOAPHandler 来拦截 SOAP 响应/故障。

使用本教程了解如何创建处理程序并将其注册到服务端口:

http://www.mkyong.com/webservices/jax-ws/jax-ws-soap-handler-in-client-side/ http://www.mkyong.com/webservices/jax-ws/jax-ws-soap-handler-in-client-side/

然后记得重写handleFault(SOAPMessageContext)方法来拦截服务器故障。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ServerSOAPFaultException 以及如何读取它? 的相关文章

随机推荐

  • 在 PCL 中使用 System.Net.Sockets(.Net 4.5 + 电话 8)

    我现有的 Net 库已经适用于 Net 4 5 和 Windows Phone 8 现在我想将其转换为可移植类库 突然我无法使用System Net Sockets不再了 我只检查了 Net 4 5和Windows Phone 8 未选择X
  • 删除所有值比第二高值低 5 倍的记录

    我有一个表 价格 有两个字段 代码 字符 和价格 小数 我需要查找具有相同代码 价格比两个最高价格低 5 倍或更少的所有记录 例如 在这种情况下 我希望删除 id 1 id code price 1 1001 10 2 1001 101 3
  • sql/mysql 过滤器仅包含最大值

    我有一个像这样的结果集 ID name myvalue 1 A1 22 2 A2 22 3 A3 21 4 A4 33 5 A5 33 6 A6 10 7 A7 10 8 A8 10 9 A9 5 我想要的是仅包含包含可用的最高 myval
  • 仅当 id 不存在时插入

    好的 我们有一个 Phonegap 应用程序 其表格设置如下 tblTest actualid INTEGER PRIMARY KEY id INTEGER name TEXT 实际 ID 是设备的唯一 ID 该 ID 维护在服务器端数据库
  • tf.exe 撤消其他用户的挂起更改

    我希望将我们的 TFS 项目迁移到另一台服务器 在执行此操作之前 我想检查所有待处理的更改 撤消它们 或告诉检查人员检查其全部内容 并将项目锁定在旧服务器上 为此 我需要撤消不再存在的非常旧的工作区中的签出 我现在正在寻找使这项工作发挥作用
  • 关于android Sqlite在多进程情况下的安全性

    在我的应用程序中 存在多个进程 并且在每个进程中 我需要访问同一个SQLite数据库 当然 这意味着超过2个线程 所以我不仅担心SQLite的线程安全性 还担心SQLite的线程安全性 还有过程安全 这种情况的一种解决方案是使用内容提供者
  • Magento 1.8 - 高级搜索不起作用

    我在最新版本的 magento 中发现了一个奇怪的错误 高级搜索工具无法正常工作 我做了什么 安装 magento 的新副本 在管理页面添加了一个名为 测试 1 的产品 重新索引全部 清除所有缓存 At the frontend page
  • 如何将故事板连接到视图控制器

    在新的 xcode 5 中 如何在界面生成器中使用下拉菜单将故事板视图控制器连接到类 现在这是如何完成的 除非我误解了你的要求 否则它仍然存在 以下是将自定义视图控制器类分配给视图控制器的步骤 在左侧场景列表中选择您的视图控制器 选择右侧的
  • 使用 javascript 更改整个 CSS 类的样式

    有没有办法使用 javascript 更改 CSS 类的属性 p class fool p
  • SSL 握手警报:升级到 Java 1.7.0 后出现 unrecognized_name 错误

    我今天从 Java 1 6 升级到 Java 1 7 从那时起 当我尝试通过 SSL 与我的网络服务器建立连接时 就会发生错误 javax net ssl SSLProtocolException handshake alert unrec
  • 在 Plotly Density_Mapbox 上添加 GeoJSON 等高线作为图层

    我想在上面添加天气轮廓plotly density mapbox地图 但我不确定必要的步骤 首先 我创建了一个matplotlib等值线图以可视化数据 然后 我用了geojsoncontour创建一个geojson文件来自所说matplot
  • 是否可以在ajax get请求中获取页面的一部分?

    我知道我们可以在向服务器发出 GET 请求时获取整个页面 但是如果我只对该页面上的一个特定 div 感兴趣 或者更准确地说对其内容感兴趣 该怎么办 这里唯一的选择是获取整个页面 例如使用 jquery find 从中获取 div 内容吗 或
  • Oracle 12 对 SQL 中的本地集合类型有问题吗?

    长话短说 我建议讨论下面看到的代码 运行时 Oracle 11 编译器引发 PLS 00306 调用 PIPE TABLE 时参数提示的数量或类型错误 PLS 00642 SQL 语句中不允许使用本地集合类型 Oracle 12编译下面的包
  • 谷歌浏览器自动填充所有密码输入

    我的问题 我必须打开谷歌来自动填充我网站上的登录信息 但是现在每当我想编辑我的帐户信息或编辑其他用户帐户信息 作为管理员 时 它都会尝试自动填充该登录数据 它在奇怪的地方填充了我的数据 问题似乎是 Chrome 会自动用某种密码填充任何输入
  • 如何在 Arduino 中将 char 变量作为数字打印到串行端口?

    我正在使用 Arduino Uno 我正在从 EEPROM 读取一个字节值并将该值存储在类型变量中char 1 字节 我想将变量的值作为数字 而不是相应的 ASCII 代码 打印到串行监视器 例如考虑char val 5 我想查看串行监视器
  • 如何在 winforms 应用程序中设置数据网格滚动条的位置?

    在我的 C winforms 应用程序中 我有一个数据网格 当数据网格重新加载时 我想将滚动条设置回用户设置的位置 我怎样才能做到这一点 编辑 我使用的是旧的 winforms DataGrid 控件 而不是较新的 DataGridView
  • 不支持动态值作为注释中的属性 - AspectJ Android [AOP Android]

    我正在使用自定义注释来记录用户单击的 id 但我收到一个错误 属性值必须是常量 我的代码片段如下 mAssetId Asset getContentId TrackEvent track event ArrayParams Params k
  • mediaelement.js 视频无法在 IE8 中播放

    我已经浏览了这里提出的所有其他问题 但没有什么能真正解决我的问题 目前 视频可以在 Chrome Safari FF 和 IE9 中加载和播放 但不能在 IE8 中加载 这是我需要支持的最后一个浏览器 您可以查看页面here http 20
  • 如何在.NET中扩展环境变量%CommonProgramFiles%\system\

    我遇到一种情况 我需要通过读取注册表设置来返回目录路径 注册表值返回我以下格式的路径 CommonProgramFiles System web32 dll 而消费者代码期望它的格式为 C Program Files Common File
  • ServerSOAPFaultException 以及如何读取它?

    我做了一个请求 我的程序吐出来了 WARNING Input Action on WSDL operation Search and Action on its associated Web Method search did not ma