【发布时间】:2011-04-21 07:34:22
【问题描述】:
在环顾四周并尝试了不同的建议解决方案后,我正在写这篇文章。建议从 MTOM/非 MTOM SOAP 消息中提取二进制数据的 2 个最常见的解决方案是:
- 检索 OMText 节点,并使用其中的 dataHandler 实例
- 找到包含“href”属性的 OMElement 节点。获取“cid:xxxxx”值,并使用“xxxxx”部分从消息上下文实例中的附件映射中检索附件。
我面临的问题是我的客户端指示 SOAP 响应消息是 MTOM [我使用消息上下文实例的 isDoingMTOM() 方法确定了这一点]。但是,没有包含“href”属性的 OMElement 节点。在打印 SOAP 信封时,我发现二进制数据内嵌在正文中。所以我尝试了 OMText 节点的方法来获取数据,但是每当我尝试将 OMElement 强制转换为相应的 OMText 节点时,我都会不断收到一个 classCastException。
有人能指出我错过了什么吗?
【问题讨论】:
标签: jakarta-ee axis2 mtom