You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

消费JMS消息时遇“First Element must contain the local name, Envelop”错误

JMS消息监听器SOAP处理异常排查方案

错误原因

从报错信息org.apache.axiom.soap.SOAPProcessingException: First Element must contain the local name, Envelope , but found prov可以明确:

  • JMS消息监听器默认启用了SOAP消息解析逻辑,它期望收到的XML是标准SOAP格式(根节点必须为<Envelope>)
  • 实际收到的消息Payload是普通XML,根节点为<prov>,不符合SOAP格式要求
  • 配置中transport.jms.ContentType设为text/xml,部分ESB(如WSO2)会将text/xml默认映射为SOAP消息类型,触发SOAP解析流程

解决方法

方法1:修改ContentType配置(推荐)

将代理服务的ContentType参数从text/xml改为application/xml,让监听器按普通XML而非SOAP消息处理:

<parameter name="transport.jms.ContentType">application/xml</parameter>

方法2:调整消息发送端格式(如果允许)

若需保留SOAP解析逻辑,要求发送端将消息包装为标准SOAP Envelope:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
  <soapenv:Body>
    <prov><rowID>122</rowID><msisdn>110000171</msisdn></prov>
  </soapenv:Body>
</soapenv:Envelope>

方法3:禁用SOAP强制解析(针对特定ESB)

如果使用WSO2等ESB产品,可在代理服务中添加配置,强制使用普通XML消息构建器:

<parameter name="messageBuilder">org.apache.axis2.builder.XMLBuilder</parameter>

内容的提问来源于stack exchange,提问作者Wajih Haider

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 06:00:47