我正在使用IBM Integration Bus v10(以前稱爲IBM Message Broker)將COBOL例程公開爲SOAP Web服務。 COBOL例程通過MQ隊列集成到IIB中。IBM Integration Bus:找不到指定應用程序的PIF數據
我們在IIB中導入了一些COBOL副本作爲DFDL模式,並且SOAP消息和DFDL消息之間的映射工作正常。
然而,當消息到達該消息樹的序列化必須發生的節點(例如,使用FileOutput或MQ請求)時,它失敗,錯誤如下:
"The PIF data could not be found for the specified application"
這是異常堆棧跟蹤的最後一部分:
RecoverableException
File:CHARACTER:F:\build\slot1\S000_P\src\DataFlowEngine\TemplateNodes\ImbOutputTemplateNode.cpp
Line:INTEGER:303
Function:CHARACTER:ImbOutputTemplateNode::processMessageAssemblyToFailure
Type:CHARACTER:ComIbmFileOutputNode
Name:CHARACTER:MyCustomFlow#FCMComposite_1_5
Label:CHARACTER:MyCustomFlow.File Output
Catalog:CHARACTER:BIPmsgs
Severity:INTEGER:3
Number:INTEGER:2230
Text:CHARACTER:Caught exception and rethrowing
Insert
Type:INTEGER:14
Text:CHARACTER:Kcilmw20Flow.File Output
ParserException
File:CHARACTER:F:\build\slot1\S000_P\src\MTI\MTIforBroker\DfdlParser\ImbDFDLWriter.cpp
Line:INTEGER:315
Function:CHARACTER:ImbDFDLWriter::getDFDLSerializer
Type:CHARACTER:ComIbmSOAPInputNode
Name:CHARACTER:MyCustomFlow#FCMComposite_1_7
Label:CHARACTER:MyCustomFlow.SOAP Input
Catalog:CHARACTER:BIPmsgs
Severity:INTEGER:3
Number:INTEGER:5828
Text:CHARACTER:The PIF data could not be found for the specified application
Insert
Type:INTEGER:5
Text:CHARACTER:MyCustomProject
這似乎是我的可部署BAR文件中缺少的東西。說我的應用程序具有消息流並且取決於具有所有.xsd文件(DFDL)的共享庫很重要。
我想模式是可以的,因爲我已經使用Toolkit嚮導生成了它們,並且消息解析工作正常。問題只在於序列化。
有沒有人知道這裏可能會丟失什麼?
這是正確的。在我的情況下,以下幫助: SET OutputRoot.Properties.MessageType ='{}:ElectronicVouchers'; SET OutputRoot.Properties.MessageSet ='{DFDL}'; 其中「ElectronicVouchers」是我的消息的名稱,{}是因爲它位於默認代理模式中。 花括號中的'DFDL'是MessageSet庫的名稱。 我從以下使用kimberts建議中發現的值。這在IBM知識庫中沒有很好地記錄。 – kirenpillay