none
Check the message in pipeline is Valid X12 or non-compliant RRS feed

  • Question

  • Hi All,

     

         Does anybody know how to check whether the current message context in the custom Pipeline is valid X12 or is non-compliant??.  I need to do this because if the message is not X12 i will stop all downstream (custom stuffs) from getting trigerred and start to pick the next message for the que in the pipeline. 

     

         I know most of the systems commonly rely on the format if the incoming message.  If received file is not a proper Edi file we would like to quit the process properly and move to next in a smooth way. Would appreciate any quick response to this

     

    Thanks.

     

    Friday, August 22, 2008 2:24 PM

Answers

  • In that case u need to have a wrapper orchestration that will be polling to the event viewer and generate trigger message to ur polling orchestration so that the poller can go on!!!,

     

    Ranadheer Thouti

    Monday, August 25, 2008 11:56 AM

All replies

  • So are you trying to determine if the file is an EDI one or if it is X12 rather than EDIFACT or other EDI standard? The BizTalk infrastructure will try to route the message based on the EDI type, either X12 or EDIFACT. If you are checking for X12 vs. EDIFACT, it is just a matter of having one party configured for X12 and another for EDIFACT.

     

    Or are you checking to see if the message complies with X12 standards? Just to have BizTalk check one schema version against a message is pretty simple. If you are you actually checking to see if the message complies with X12 4010 vs. X12 3020, this will be more difficult. If you know two or more X12 standards you want to check for you can build BizTalk solutions using the X12 schemas for each version and have the message routed through all of these schemas to determine if it fits with each schema version.

     

    Thanks,

    Friday, August 22, 2008 10:48 PM
    Moderator
  • Hi,

       Thanks for your response.  I am just trying to check whether the message i received in a particular location is a valid EDI file as per the standards.  If not i should throw an error message and stop the downstream processes from waiting for this file to get processed and look for the next file.  Basically checking the file in the pipeline if it is EDI compliant or not.  I have only the EDI properties set for X12 and it is an 834 file i am cheking for validation.  Only one schema version is installed in the server.  What is your suggestion for this?

     

    Thanks.

     

    Sunday, August 24, 2008 8:13 AM
  • Hi,

    I think is good to go and create a party that will validate ur message ,and if any validation error that will suspend the message and throw an error.

     

    Ranadheer Thouti 

     

    Sunday, August 24, 2008 8:38 AM
  •  

    Hi Ranadheer,

         I have done that and the message is getting suspended, but i want to capture the error in the pipeline.  I am moving through a pipepline, so i will post a file and i will wait until that file is finished procesing by translation etc.  I have a seperate orchestrtion to poll for the files and a seperate orchestration to process it. 

     

         The poller will pick the file and will put one file at a time to processor orchestration.  In the case of biztalk 2006 r2  when the message is posted to the processor it just gets suspended when it is not a valid edi file.  So the poller orchestration just sits waiting there without getting a feedback. In this case when i post the message from poller to processor i am using the custome pipeline, so when the file is posted through the pipeline and if I validate and found that it is not compliant.  I should send back a message to the poller orchestration so that it will post the next available message for processing.

     

         So I am trying to validate the file for its compliance in the pipeline, when it fails i am throwing an error message as a file to the poller orchestration so that it can proceed with the next file.  I am using a Edisasembler to disassemble the message and move through content by content.  It is here i need to check for the compliance.  Hope i gave the complete picture of what I am trying to do.

     

    Thanks.

    Sunday, August 24, 2008 4:32 PM
  • Are u able to achieve what you wanted? Or are you still looking for a way?

    If you are reusing EDIDisassmbler in ur pipeline, it wont generate the error file for your Poller to take note of to move forward. You may want to write another orch that subscribes for suspended msgs and then send a trigger msg/file to the poller. And the poller can use a 'following Correlation set' which expects this error file in a location for it proceed back to picking up files.

     

    I am not sure why you need this serial-processing option which will slow down your system - processing one doc after comletely finishing processing another.

     

    Monday, August 25, 2008 10:54 AM
    Moderator
  • Instead of having one more orchestration to trigger when an error occur u can use a delay shape and set time out so that if u don’t get a feedback u can use the time out

     

    Hope this works !!!

     

    Ranadheer Thouti
    Monday, August 25, 2008 11:15 AM
  • Hi,

     

         I thought i would use that but that is not the requirement for me.  I will have to stick on to the same architecture, this is mainly because of the many functions and processes downstream, that is not going to work for my process.  The only thing i need is a function which i could use in the pipeline to check whether the message is compliant or not.  When i post the message in a pipeline i have to check if it is compliant, if it is not the pipeline will post a message to the orchestration so it could proceed with next file.

     

    Thanks.

     

    Monday, August 25, 2008 11:48 AM
  • In that case u need to have a wrapper orchestration that will be polling to the event viewer and generate trigger message to ur polling orchestration so that the poller can go on!!!,

     

    Ranadheer Thouti

    Monday, August 25, 2008 11:56 AM
  • That sounds good to me, but i have no expertice in reading the data from event viewer.  Do you have any link to code samples which could help me in this regard. 

     

    Thanks

    Monday, August 25, 2008 12:24 PM