2014-05-01 49 views
1

我试图解析为以下格式(消息树)的Web服务响应消息:转换DFDL到XML

Message 
    Properties 
      Properties..[] 
    DFDL 
      ObjectIWantUnmarshalled 
        AllItsDataIwant[] 

而解组的“ObjectIWantUnmarshalled”。但是,这些数据是DFDL格式。 在我的要求,我用的是以下行以格式从XML到DFDL:

Document outDocument = outMessage.createDOMDocument(MbDFDL.PARSER_NAME); 

但似乎没有成为一个方式到对面,DFDL到XML。 我曾尝试:

Document outDocument = inMessage.createDOMDocument(MbXMLNSC.PARSER_NAME); 

以及其他企图简单地直接从MbMessage解组数据:

jaxbContext_COBOL.createUnmarshaller().unmarshal(inMessage.getDOMDocument()) 

但我一直没能得到一个文档节点这种方式,或任何其他方式,它始终为空。

回答

1

可能很晚很晚,但是你错误地回答了这个问题。

使用WMB和IIB时,应该使用内置的XML支持 - 而不是javax.XML。*类库。因此,而不是使用JAXB解组,您应该

  • 创建输出消息根目录下的XMLNSC树
  • 输入DFDL消息树复制到输出XMLNSC消息树(一行)

...并且消息流将在需要时将它序列化(解组)为XML,当它遇到输出节点时,或者当您调用outMessage.toBitstream()时。

+0

我相信它会帮助别人!谢谢回答。 – JWiley