ASG
IBM
Zystems
Cressida
Icon
Netflexity
 
  MQSeries.net
Search  Search       Tech Exchange      Education      Certifications      Library      Info Center      SupportPacs      LinkedIn  Search  Search                                                                   FAQ  FAQ   Usergroups  Usergroups
 
Register  ::  Log in Log in to check your private messages
 
RSS Feed - WebSphere MQ Support RSS Feed - Message Broker Support

MQSeries.net Forum Index » WebSphere Message Broker (ACE) Support » Problems with testing File Input (DFDL) -> Queue -> XM

Post new topic  Reply to topic
 Problems with testing File Input (DFDL) -> Queue -> XM « View previous topic :: View next topic » 
Author Message
tank_n_spank
PostPosted: Thu Sep 25, 2014 1:09 am    Post subject: Problems with testing File Input (DFDL) -> Queue -> XM Reply with quote

Apprentice

Joined: 02 Sep 2014
Posts: 37

Hello,

So basically I have got a FILE INPUT node which is polling a text file every 5 seconds, but when I try to test my message flow, I just get a blank Input node and an error message pops out, even thought I have specified the FILE Input Node? I want then to pass it to a QUEUE, get the information from a QUEUE and insert it into the database.

I can successfully run the parsing, and I can see all 3 elements of my file - body_elem1, body_elem2 and body_elem3.

When I want to pass them to a queue and then into my database, do I need to declare them as SET OUTPUTROOT.DFDL.*:MyDFDLMessage.*:body.*:body_elem1 = InputBody.*:MyDFDLMessage.*:body.*:body_elem1; for each element?

Also do I need to declare the XMLNSC output somewhere, individually or through loop .*:body[1];?

I am really puzzled, so any help would be quite appreciated :S


Last edited by tank_n_spank on Fri Sep 26, 2014 2:37 am; edited 2 times in total
Back to top
View user's profile Send private message
kimbert
PostPosted: Thu Sep 25, 2014 3:49 am    Post subject: Reply with quote

Jedi Council

Joined: 29 Jul 2003
Posts: 5542
Location: Southampton

Not enough information to answer your questions.
Quote:
when I try to test my message flow, I just get a blank Input node
I don't understand. Are you using the Message Flow Debugger and seeing an empty tree structure? Or something else?
Quote:
and an error message pops out
Which error message? How are we supposed to help if we don't know what the error message said?
Quote:
even thought I have specified the FILE Input Node
er...where did you specify it?
Quote:
I can successfully run the parsing, and I can see all 3 elements of my file - body_elem1, body_elem2 and body_elem3.
Good
Quote:
When I want to pass them to a queue and then into my database, do I need to declare them as SET OUTPUTROOT.DFDL.*:MyDFDLMessage.*:body.*:body_elem1 = InputBody.*:MyDFDLMessage.*:body.*:body_elem1; for each element?
It depends entirely on your requirements. If you want to copy the entire message tree then you can just write
SET OutputRoot = InputRoot;
...and lower-level subtrees can be copied in the same way, without specifying all of their children.
But if you want to copy the entire tree then you don't need a Compute node at all.
...unless your output format on the queue is different from the input format from the file. But you didn't say either way.
Quote:
Also do I need to declare the XMLNSC output somewhere, individually or through loop .*:body[1];?
If you want to output some XML then you will need to create an OutputRoot.XMLNSC somewhere in your application. But I don't have a clear enough picture of your requirements to advise on where.
_________________
Before you criticize someone, walk a mile in their shoes. That way you're a mile away, and you have their shoes too.
Back to top
View user's profile Send private message
tank_n_spank
PostPosted: Thu Sep 25, 2014 5:06 am    Post subject: Reply with quote

Apprentice

Joined: 02 Sep 2014
Posts: 37

Hello,

I rebuilt and redeployed my bar file, so now I am able to launch my debugger and debug the flow.

An exception is being thrown when poll my .txt file from the fileinput directory.

CTDP3000E: Unexpected end of data at byte offset '<MISSING INSERT 0>' while parsing element '<MISSING INSERT 1>'. The parser encountered the end of the data stream or the end of a parent element.

I will add the OutputRoot.XMLNSC bit now and see if I can propagate it.

I have a text file, after the DFDL parser parses, I get an XML file with my 3 elements created based on the file - body_elem1, body_elem2 and body_elem3, after that I want to propagate the xml file to my Queue, read back from the Queue in a different message flow and insert into the database.

The database is pretty much straight forward, I am just having problems with this bit.

The data in my Message Queue is a little bit odd, but essentially i did receive the correct information:
Code:
<NS1:INSTRUCTIONS xmlns:NS1="http://www.test.com/test/esql/out"><NS1:TASK><Properties><MessageSet></MessageSet><MessageType>{}:MyDFDLMessage</MessageType><MessageFormat></MessageFormat><Encoding>546</Encoding><CodedCharSetId>850</CodedCharSetId><Transactional>false</Transactional><Persistence>false</Persistence><CreationTime>2014-09-25T09:45:23.864</CreationTime><ExpirationTime>-1</ExpirationTime><Priority>0</Priority><ReplyIdentifier></ReplyIdentifier><ReplyProtocol>ADAPTOR</ReplyProtocol><Topic></Topic><ContentType></ContentType><IdentitySourceType></IdentitySourceType><IdentitySourceToken></IdentitySourceToken><IdentitySourcePassword></IdentitySourcePassword><IdentitySourceIssuedBy></IdentitySourceIssuedBy><IdentityMappedType></IdentityMappedType><IdentityMappedToken></IdentityMappedToken><IdentityMappedPassword></IdentityMappedPassword><IdentityMappedIssuedBy></IdentityMappedIssuedBy></Properties><DFDL><MyDFDLMessage><body><body_elem1>12345</body_elem1><body_elem2>1234



But the 2nd element's tag is not closed, and the 3rd one is missing.

Also is this how am I supposed to declare it:
Code:

         SET OutputRoot.DFDL.*:MyDFDLMessage.*:body.*:body_elem1 = InputBody.*:MyDFDLMessage.*:body.*:body_elem1;
         SET OutputRoot.XMLNSC.MyDFDLMessage.*:body.*:body_elem1 = InputRoot.XMLNSC.:MyDFDLMessage.*:body.*:body_elem1;


I mean the inputRoot.XMLNSC in my 2nd Message flow, and output.dfdl in my file input message flow?

my first message flow is - FILE INPUT -> COMPUTE NODE -> MQ OUTPUT

My 2nd message flow is MQ Input - > Compute NODE

Thanks one more time.[/code]
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic  Reply to topic Page 1 of 1

MQSeries.net Forum Index » WebSphere Message Broker (ACE) Support » Problems with testing File Input (DFDL) -> Queue -> XM
Jump to:  



You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
Protected by Anti-Spam ACP
 
 


Theme by Dustin Baccetti
Powered by phpBB © 2001, 2002 phpBB Group

Copyright © MQSeries.net. All rights reserved.