如何在骡子中手动抛出肥皂故障

2024-01-05

我面临着一种情况,我们无法使用模式来验证传入的请求(基本上模式就在那里,但它接受请求中的任何字符串,wsdl 设计者有自己的理由这样做,以接受来自不同来源和灵活性的请求)。但是,当收到请求时,我会验证请求包装器的子元素是否是我们所期望的(为此使用 XPath)。现在,如果子元素不是预期的,我想抛出Soap Fault with Client代码,并且可能包含架构验证失败的错误消息,请求不包含有效元素。

我正在使用 Mule 3.3 并做我的XPath验证在<choice>元素,我想抛出异常<otherwise> block.

  1. 有没有办法扔Soap Fault手动在骡流中和
  2. 如何添加自定义故障字符串。我不确定是否outInterceptor将解决我不使用的目的schemaValidation的属性<cxf:proxyService>.

这是我流程的一部分

<http:inbound-endpoint address="${service.address}" exchange-pattern="request-response">
  <cxf:proxy-service wsdlLocation="classpath:service.wsdl" namespace="http://company.com/services/service" service="CompanyService" />
</http:inbound-endpoint>
<choice>
  <when>.....</when>
  <otherwise><!-- Here I want to throw Soap Fault ---></otherwise>
</choice>
<catch-exception-strategy>
  <flow-ref name="generateErrorResponse" />
</catch-exception-strategy>

由于您正在使用cxf:proxy-service您可以完全控制响应。例如,如果您在您的otherwise块,您将能够创建您想要的任何 SOAP 错误:

<expression-component><![CDATA[
 message.payload = '<soap:Fault xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">'
                 + '<faultcode>A code</faultcode><faultstring>A string</faultstring>'
                 + '</soap:Fault>';
]]></expression-component>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在骡子中手动抛出肥皂故障 的相关文章

随机推荐

  • 如何将 Pillow EPS 调整为 JPG 质量

    我正在尝试使用 Pillow 将 EPS 图像转换为 JPEG 但结果质量较低 我正在尝试使用resize方法 但它被完全忽略了 我将 JPEG 图像的大小设置为 3600 4700 但结果图像有 360 470 尺寸 我的代码是 eps
  • Rails 对现有的 ActiveRecord 结果数组进行分页

    我通常在应用程序中使用 will paginate 进行分页 但我的搜索功能遇到了问题 我正在使用 Thinking Sphinx 进行全文搜索 它返回分页的结果 我遇到的问题是 在收到 Thinking Sphinx 的结果后 我需要将它
  • 使用带有子进程、Pipe、Popen 的 python 从 hdfs 读取/写入文件会出现错误

    我正在尝试在 python 脚本内读取 打开 和写入 hdfs 中的文件 但有错误 有人可以告诉我这里出了什么问题吗 代码 完整 sample py usr bin python from subprocess import Popen P
  • 我可以让堆太大吗?

    我明白 一个更大的堆意味着更长的 GC 暂停时间 https stackoverflow com questions 1651225 how to choose the jvm heap size 我对此表示同意 我的代码正在分析一些数据
  • 在c中将128分配给char变量

    输出是 128 的 32 位 2 的补码 即 4294967168 怎么样 include
  • 在 Spark Web UI 中无法看到已完成的作业

    我在用 bin spark submit运行我的 Spark 作业 它运行良好 但打开 Spark Web UI 我在已完成列表中看不到作业 bin spark submit name myapp master local conf spa
  • PyParsing 前瞻和贪婪表达式

    我正在使用 PyParsing 为查询语言编写解析器 并且我陷入了 我认为是 前瞻问题 查询中的一种子句类型旨在将字符串拆分为 3 个部分 字段名 运算符 值 其中字段名是一个单词 运算符是一个或多个单词 值是一个单词 带引号的字符串或带括
  • Xcode 8 故事板错误

    任何人都可以帮助我 我出了问题 我看不到我的故事板视图 子视图 图像视图 全部变成白色 并且显示错误 就像故事板文件一样 发生内部错误 编辑功能可能受到限制 我已经在 xcode 8 和 8 1 beta 最新 xcode 中打开我的项目
  • CSS/DOM 中是什么阻止了带有 display: block 的输入框扩展到其容器的大小

    HTML CSS 示例 div class container div
  • iOS 启动时间会漂移吗?

    我使用此代码来确定我的 iOS 设备上次重新启动的时间 int mib MIB SIZE size t size struct timeval boottime mib 0 CTL KERN mib 1 KERN BOOTTIME size
  • Celery,调用延迟并倒计时

    我想了解芹菜的工作原理 在我的 django 应用程序中tasks py文件我创建了一项任务 celery shared task default retry delay 2 60 max retries 2 def my task par
  • 英语动词变形

    有人知道我可以在动词词典 现在分词 上使用的英语动词变形器 它可以给我动词的其他变形形式吗 例如 I give it I get run ran running runs sing sang singing sings play playe
  • 通过构建 has_many

    我有两个型号 用户及帐号如下 class Account lt ActiveRecord Base has many manages has many users through gt manages end class User lt A
  • 用整数范围填充选择器视图的最有效方法?

    我在 iOS 应用程序 iPhone 中有一个简单的 UI 选择器视图 我希望在启动时预先填充一系列数字 填充它的最务实 最快 优化的方法是什么 我是 iOS 开发新手 所以我才刚刚开始试水 该文档相当不错 但我想从经验丰富的开发人员那里获
  • 使用 PyDev 在 Eclipse 中进行类型提示

    我正在学习 Python 在有了很多 PHP 经验之后 如果有类型提示在Python中 看起来 Eclipse 和 PyDev 不支持这个 有什么建议么 例如 我想让我的IDE显示功能文档字符串 and types 当我使用它时 例如 de
  • RadioButton 在带有浅色主题的 Android 10/11 上不可见

    我们在 Xamarin Forms 中使用新的实验性单选按钮 https learn microsoft com en us xamarin xamarin forms user interface radiobutton https le
  • Magento 自定义模块:adminhtml 形式的多个图像上传器

    我已经创建了 adminhtml 模块 它工作正常 在创建新项目表单中有 4 个字段名称 图像 网址和电子邮件 ID 我使用文件上传器来上传图像 它工作正常 但我无法上传多个图像 是否可以有多个图像上传器 这是我的简单图像上传器代码 if
  • jQuery 获取

    这对某人来说可能很容易 var x p blah p div a href http bs serving sys com BurstingPipe adServer bs cn brd FlightID 2997227 Page PluI
  • IIS 托管的 wcf 返回空白页

    我有一个 wcf 应用程序 它有 Service1 svc 文件 在我指定的 web config 文件中 http localhost 2005 EmployeeService svc 作为端点 从 Visual Studio 单击 浏览
  • 如何在骡子中手动抛出肥皂故障

    我面临着一种情况 我们无法使用模式来验证传入的请求 基本上模式就在那里 但它接受请求中的任何字符串 wsdl 设计者有自己的理由这样做 以接受来自不同来源和灵活性的请求 但是 当收到请求时 我会验证请求包装器的子元素是否是我们所期望的 为此