July 11, 2014
Posted by on
So you bumped into the error that says :
BizTalk A name was started with an invalid character. Error processing resource
This will happen when you are using WCF IIS Biztalk application is hosted in an app pool having version lesser than 2.5. You need a higher version of .net framework to get over this.
Workaround (In case you are still on BizTalk 2006)
Use the BizTalk webservice publishing wizard instead of WCF or the SOAP adapter and you will be able to set up the integration
December 6, 2013
Posted by on
What is Envelope Schema: It is a special type of schema which will allow you to carry multiple Payload messages wrapped in a single schema.
Where you Can Use it: Debatching, Aggregation.
The purpose of writing this post is to make us understand how it functions by picking up a simpler scenario, you can build on top of it to achieve more complex need.
What This Solution Does: Debatching
For the sake of simplicity I have created one envelope schema and one Payload Schema(Instances of which will be wrapped within envelope schema).
I have created a XML file Rcv Location where we will drop our envelope XML.Further I have created a send port having a subscription to the above Rcv port, hence whatever message arrives on the receive port will be sent to this send file location.
Our project is going to look like this:
For the sake of simplicity I have created only two schemas
1>SKU.xsd : It is your normal document schema.
2>SKUEnvelope.XSD : it is your envelope schema which will carry multiple SKU message XML within. Please see the picture.
To create an envelope Schema you need to set the property Envelope to yes at the <Schema> node, and then you need to set the BodyXPath to the xpath of the node having the <any> element. Please see the below picture.
Once you have done that please go ahead and deploy. Create the receive and send port.
Now drop your envelope xml file to the receive location. The one I have used in this example has 4 SKU xml messeges wrapped within envelope schema. Hence when that gets picked up by the XMLReceive pipeline (This is the one which does the debatching) it results in 4 separate trigger of XML transmit pipeline component in turn reflecting on your send port which will have 4 separate files each representing individual SKU payload XML we had wrapped within the envelope xml.
Please drop me a comment if you need any clarification. I will get back to you ASAP.
December 1, 2013
Posted by on
Sometime if you are using canonical schema or need to know the value of a variable at runtime then you may want to consider taking this approach : write into event log and check the values in event viewer after execution. Use an expression editor and place these lines over there.
varXML = new System.Xml.XmlDocument();
System.Diagnostics.EventLog.WriteEntry(“This is my logged XML:”,varXML.OuterXml);
Refer to Microsoft.Practices.EnterpriseLibrary.Logging and place this in expression.
Microsoft.Practices.EnterpriseLibrary.Logging.Logger.Write(“You Information to be logged”);
Please leave a comment if you have any questions and I will get back ASAP.