Custom Disassembler Component in Pipeline

Hi All,

Can someone suggest on some useful links for developing a custom disassembler component for the below structure of inbound

message.  As given below <_X0023_unreadMessage> is a repeating node containing <POSLog>. I want to debatch the POSLog message.  

Any useful links or help would be very much appreciated..

message  messages. I

February 12th, 2015 1:04pm

Hi Aswin,

I am just polling the data using XML polling from stored procedure.. The stored procedure is 3rd party and returning an XML resultset only...I have not created any envelope schema as of now... I only have document POSLog schema mentioned above.

I want to get all the POSLog messages from the above main message. 

Thanks,
Varun

Free Windows Admin Tool Kit Click here and download it now
February 12th, 2015 2:40pm

First, exactly what is not working when you try to Debatch using the XmlDisassembler?

The above example looks pretty simple with POSLog in the same position.

Second, if you have to do xPath Debatching don't worry about performance unless you know you need to. Everything affects 'performance' and there is nothing about using Orchestrations that's less performant than anything else.



February 12th, 2015 3:05pm

Hi Varun,

Here you go..

If your schema looks like the following in Visual studio (I have not add other element after RetailStoreID) ,

do the following:

  • Select the "Schema" node at the top. Go to Properties Window, set its Envelope property to Yes
  • Select the BongEnvelope the root element. Go to Properties Window, select in the Body XPath property. You will pop-up like the below and select Message node.
  • Create another schema which matches to your debatched POSLog record.
  • Deploy the project.
  • In the receive port use XML-Receive pipeline
  • Here I am going to use send port for the debatched message. You can use any process after message has been debatched. Any process like Orchestration ..
  • Create a send port with filter BTS.ReceivePortName==YourAboveReceivePortName.

The above step shall get you the debatched message at PODLog level.


Free Windows Admin Tool Kit Click here and download it now
February 12th, 2015 4:32pm

Hi Ashwin,

I did exactly  how you said above, first of all I am getting the below error from last 2 hours...Not sure why..any idea ?

 

warning BTP0008: Validate call on component 'XML disassembler' failed.

Any this is resulting is not appearing the pipeline in the console as it is not getting build and deployed.

And Secondly , if i give the body xpath of the Message node, will it extract POSLog i.e 1 level below ?? 

February 12th, 2015 5:34pm

"Validate call on component 'XML disassembler' failed" -This error should more information along with this error. Have you given any properties in the XML-Disassemble section of the XML-Receive pipeline?

Yes. By giving the Body XPath at Message will disassemble the POSLog in the next levels. I have tried it and it works.

Free Windows Admin Tool Kit Click here and download it now
February 12th, 2015 5:40pm

Hi Aswin,

The things to note here is that the file is not repeating at 'Message' rather 1 level up...if you see my very first post.

Its not working as of now...Any other advice ?

THanks,
Varun

February 12th, 2015 7:22pm

The XmlDisassembler can 'chain' Envelope Schemas so if you only want POSLog, you need 3 Schemas.

  1. BongEnvelope, Envelope = Yes, Document Body = BongEnvelope
  2. _x0023_unreadMessage, Envelope = Yes, Document Body = Message
  3. POSLog, Envelope = (Default)/No

But, what exactly is not working?

Free Windows Admin Tool Kit Click here and download it now
February 12th, 2015 7:52pm

Hi John,

Thanks for your response!

I will try this way as well and if there is any issue , would appreciate your help. I will post what exactly will not work..

Thanks once again.


February 12th, 2015 8:40pm

Hi John

What exactly do you mean by chain envelop schema's ?? 

First disassembling to _x0023_unreadMessage and then to POSLog in a single XML Disassembler or we require 2??

Thanks,

Varun

Free Windows Admin Tool Kit Click here and download it now
February 12th, 2015 8:56pm

One Pipeline should do it.

When the XmlDisassembler sees x0023 as an Envelope, it begins to debatch again.  It's just recursion.

February 12th, 2015 10:15pm

John,

I have done it in a different way...removed the x0023_unreadMessage and Message part start and end with custom pipeline component as there was a requirement to remove some more text.....(added in the same component)

Also both of them were without namespaces as well... 

Now i have only Bong Envelope and POSLog and can easily disassemble. 

Tested!!

Thanks,
Varun

Free Windows Admin Tool Kit Click here and download it now
February 13th, 2015 12:08am

But I have tried the chain of Envelope messages...but that was not working for me..:(

Is it really possible, I couldnt see any link as well for the reference, may be i was doing something wrong.

February 13th, 2015 12:09am

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics