Я использую IBM Integration Bus v10 (ранее называемый IBM Message Broker), чтобы выставлять подпрограммы COBOL в качестве веб-служб SOAP. Подпрограммы COBOL интегрированы в очереди IIB через очереди MQ.IBM Integration Bus: данные PIF не найдены для указанного приложения
Мы импортировали несколько копий COBOL в виде схем DFDL в IIB, а отображение между сообщениями 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}'; где «Электронные ваучеры» - это имя моего сообщения, {} связано с тем, что он находится в схеме брокера по умолчанию. «DFDL» в фигурных скобках - это имя библиотеки MessageSet. Значения, которые я обнаружил из приведенного ниже предложения кимбертов. Это не хорошо документировано на базе знаний IBM. – kirenpillay