Beispiel #1
0
        public void TransformBatchContentToEnvelopeAndPromotePartition()
        {
            using (var stream = ResourceManager.Load("Data.BatchContent.xml"))
            {
                var inputMessage = MessageHelper.CreateFromStream(stream);
                inputMessage.Promote(BtsProperties.InboundTransportLocation, "mssql://localhost//BizTalkFactoryTransientStateDb");

                var pipeline = PipelineFactory.CreateReceivePipeline(typeof(ReceivePipelineInterpreter <BatchReceive>));
                pipeline.AddDocSpec(typeof(Batch.Content));
                pipeline.AddDocSpec(typeof(Envelope));

                var outputMessages = pipeline.Execute(inputMessage);

                Assert.That(outputMessages, Is.Not.Null);
                Assert.That(outputMessages.Count, Is.EqualTo(1));
                Assert.That(outputMessages[0].GetProperty(BtsProperties.MessageType), Is.EqualTo(Schema <Envelope> .MessageType));
                Assert.That(outputMessages[0].GetProperty(BizTalkFactoryProperties.EnvelopePartition), Is.EqualTo("partition-one"));
                Assert.That(outputMessages[0].IsPromoted(BizTalkFactoryProperties.EnvelopePartition));
                using (var reader = ValidatingXmlReader.Create <Envelope, Batch.Release>(outputMessages[0].BodyPart.Data))
                {
                    var xmlDocument = new XmlDocument();
                    xmlDocument.Load(reader);
                    Assert.That(xmlDocument.OuterXml, Is.EqualTo(ResourceManager.LoadXmlString("Data.ReleaseBatches.xml")));
                }
            }
        }
 /// <summary>
 /// Return the content of a claim token message, either <see cref="Claim.Check"/>, <see cref="Claim.CheckIn"/>, or
 /// <see cref="Claim.CheckOut"/>, as a <see cref="MessageBodyCaptureDescriptor"/> filled in according to the
 /// content of the claim token.
 /// </summary>
 /// <param name="messagePart">
 /// The part whose stream contains a claim token.
 /// </param>
 /// <returns>
 /// The <see cref="MessageBodyCaptureDescriptor"/> corresponding to the content of the claim token.
 /// </returns>
 internal static MessageBodyCaptureDescriptor AsMessageBodyCaptureDescriptor(this IBaseMessagePart messagePart)
 {
     // Claim.Check, Claim.CheckIn, and Claim.CheckOut are all in the same XML Schema: any one can be used to
     // reference the XML Schema to use to validate a token message, whatever its specific type
     using (var reader = ValidatingXmlReader.Create <Claim.CheckOut>(messagePart.GetOriginalDataStream(), XmlSchemaContentProcessing.Lax))
     {
         return(reader.AsMessageBodyCaptureDescriptor());
     }
 }
 /// <summary>
 /// Validates an <see cref="XmlReader"/> against the <typeparamref name="T"/> BizTalk Server schema.
 /// </summary>
 /// <param name="reader">
 /// The <see cref="XmlReader"/> to validate.
 /// </param>
 /// <param name="contentProcessing">
 /// Validation mode.
 /// </param>
 /// <returns>
 /// An <see cref="XmlDocument"/> that has loaded and validated the content of the <see cref="XmlReader"/>.
 /// </returns>
 protected XmlDocument ValidateInstanceDocument(XmlReader reader, XmlSchemaContentProcessing contentProcessing)
 {
     using (var validatingReader = ValidatingXmlReader.Create <T>(reader, contentProcessing))
     {
         var document = new XmlDocument();
         document.Load(validatingReader);
         return(document);
     }
 }
 /// <summary>
 /// Validates an <see cref="XmlReader"/> against the <typeparamref name="T"/> BizTalk Server schema.
 /// </summary>
 /// <param name="reader">
 /// The <see cref="XmlReader"/> to validate.
 /// </param>
 /// <returns>
 /// An <see cref="XmlDocument"/> that has loaded and validated the content of the <see cref="XmlReader"/>.
 /// </returns>
 protected XmlDocument ValidateInstanceDocument(XmlReader reader)
 {
     using (var validatingReader = ValidatingXmlReader.Create <T>(reader))
     {
         var document = new XmlDocument();
         document.Load(validatingReader);
         return(document);
     }
 }
Beispiel #5
0
 public static XmlDocument CreateMessage <T>(string content) where T : SchemaBase, new()
 {
     using (var reader = new StringReader(content))
         using (var xmlReader = ValidatingXmlReader.Create <T>(reader))
         {
             var message = new XmlDocument();
             message.Load(xmlReader);
             return(message);
         }
 }
 /// <summary>
 /// Validates an <see cref="XmlReader"/> against the <typeparamref name="T"/> and <typeparamref name="T2"/> BizTalk
 /// Server schemas.
 /// </summary>
 /// <typeparam name="T2">
 /// A supplementary type of the BizTalk Server schema to validate against.
 /// </typeparam>
 /// <param name="reader">
 /// The <see cref="XmlReader"/> to validate.
 /// </param>
 /// <returns>
 /// An <see cref="XmlDocument"/> that has loaded and validated the content of the <see cref="XmlReader"/>.
 /// </returns>
 protected XmlDocument ValidateInstanceDocument <T2>(XmlReader reader)
     where T2 : SchemaBase, new()
 {
     using (var validatingReader = ValidatingXmlReader.Create <T, T2>(reader))
     {
         var document = new XmlDocument();
         document.Load(validatingReader);
         return(document);
     }
 }
 /// <summary>
 /// Validates an <see cref="XmlReader"/> against the <typeparamref name="T"/> and <typeparamref name="T2"/>
 /// BizTalk Server schemas.
 /// </summary>
 /// <typeparam name="T2">
 /// A supplementary type of the BizTalk Server schema to validate against.
 /// </typeparam>
 /// <param name="reader">
 /// The <see cref="XmlReader"/> to validate.
 /// </param>
 /// <param name="contentProcessing">
 /// Validation mode.
 /// </param>
 /// <returns>
 /// An <see cref="XmlDocument"/> that has loaded and validated the content of the <see cref="XmlReader"/>.
 /// </returns>
 protected XmlDocument ValidateInstanceDocument <T2>(XmlReader reader, XmlSchemaContentProcessing contentProcessing)
     where T2 : SchemaBase, new()
 {
     using (var validatingReader = ValidatingXmlReader.Create <T, T2>(reader, contentProcessing))
     {
         var xdoc = new XmlDocument();
         xdoc.Load(validatingReader);
         return(xdoc);
     }
 }
 /// <summary>
 /// Validates an <see cref="XmlReader"/> against the <typeparamref name="T"/>, <typeparamref name="T2"/> and
 /// <typeparamref name="T3"/> BizTalk Server schemas.
 /// </summary>
 /// <typeparam name="T2">
 /// A supplementary type of the BizTalk Server schema to validate against.
 /// </typeparam>
 /// <typeparam name="T3">
 /// A supplementary type of the BizTalk Server schema to validate against.
 /// </typeparam>
 /// <param name="reader">
 /// The <see cref="XmlReader"/> to validate.
 /// </param>
 /// <returns>
 /// An <see cref="XmlDocument"/> that has loaded and validated the content of the <see cref="XmlReader"/>.
 /// </returns>
 protected XmlDocument ValidateInstanceDocument <T2, T3>(XmlReader reader)
     where T2 : SchemaBase, new()
     where T3 : SchemaBase, new()
 {
     using (var validatingReader = ValidatingXmlReader.Create <T, T2, T3>(reader))
     {
         var xdoc = new XmlDocument();
         xdoc.Load(validatingReader);
         return(xdoc);
     }
 }
Beispiel #9
0
        /// <summary>
        /// Creates a envelope document with content for a given <see cref="SchemaBase"/>-derived envelope schema type
        /// <typeparamref name="TE"/> and <see cref="SchemaBase"/>-derived content schema type <typeparamref name="TC"/> .
        /// </summary>
        /// <typeparam name="TE">
        /// The <see cref="SchemaBase"/>-derived envelope schema type.
        /// </typeparam>
        /// <typeparam name="TC">
        /// The <see cref="SchemaBase"/>-derived content schema type.
        /// </typeparam>
        /// <returns>
        /// The envelope document with its content as an <see cref="XmlDocument"/>.
        /// </returns>
        public static XmlDocument CreateEnvelope <TE, TC>(string content)
            where TE : SchemaBase, new()
            where TC : SchemaBase, new()
        {
            var message = new XmlDocument();

            using (var reader = new StringReader(content))
            {
                message.Load(ValidatingXmlReader.Create <TE, TC>(reader));
                return(message);
            }
        }
Beispiel #10
0
 public static XmlDocument Create <T>(string content) where T : SchemaBase, new()
 {
     using (var reader = XmlReader.Create(new StringReader(content), new XmlReaderSettings {
         XmlResolver = null
     }))
         using (var xmlReader = ValidatingXmlReader.Create <T>(reader))
         {
             var message = new XmlDocument {
                 XmlResolver = null
             };
             message.Load(xmlReader);
             return(message);
         }
 }