@Eduard Lebedyuk 
Looking at the unpacking method I am trying to unzip a directory and looking at that you are calling some methods outside the scope I would like to test this but the link you have at the top is broken can we please see how you implement the execute and getunzip methods

looking at your error I suppose you have a scheme same as the above since your error is complaining about the source class MSH which does not exist within the XML document.

tSC1=target.SetValueAt(source.MSH.EncodingCharacters,"MSH:EncodingCharacters","set","")

do you have this class if not then that's where the problem is look at the bold

@Smythe Smythee 
the problem you are having is that the property does not exist what does your class look like. The one that handles the incoming XML and what version of HL7 are you converting to.

I have set up this service within Ensemble using the the "EnsLib.HTTP.InboundAdapter"; if any one has done this before please advice currently I have done everything as per advices and followed through the ENSDEMO namespace examples still can not pass a JSON request

thank you everyone the problem I have been having is caused by the Describe column invoked by the Execute procedure  method on the procedure if data passed is not the same type as the stored procedure parameters the method issues a warning which is then log to the event log to stop that from happen I had to add the "*" to the pIO parameter of the method

@Eduard Lebedyuk 
I have classes with the similar structure in your test.Serial class I have Two properties  Serial1 and Serial2 as test.Serial1 and 2 respectively and i would like to print out XML maybe populate  Serial 1 and have Serial2 as an empty object and Leave it out when printing.How do I controll that ?,as it stands it prints out the empty elements even when ignore null is set.Please not all is the same as above so I am printing from a persistent Level.The difference being I have two serial objects properties In my test.Serial equavalent