public void It_writes_must_understand()
        {
            var header = new MessageHeader(XName.Get("headerName", "headerNamespace"), new XNode[] {}, true);

            var headerElement = XElementExtensions.ParseGeneratedXml(header.Write);

            Assert.AreEqual("true", headerElement.Attribute(Constants.Namespace + "mustUnderstand").Value);
        }
        public void It_assumes_must_understand_is_false_if_there_is_no_attribute()
        {
            var headerElement = new XElement("headerName");

            var header = new MessageHeader(headerElement);

            Assert.IsFalse(header.MustUnderstand);
        }
        public void It_reads_header_namespace()
        {
            var headerElement = new XElement(XName.Get("headerName","headerNamespace"));

            var header = new MessageHeader(headerElement);

            Assert.AreEqual("headerNamespace", header.Name.Namespace.NamespaceName);
        }
        public void It_reads_header_name()
        {
            var headerElement = new XElement("headerName");

            var header = new MessageHeader(headerElement);

            Assert.AreEqual("headerName",header.Name.LocalName);
        }
        public void It_writes_header_name_with_namespace()
        {
            var header = new MessageHeader(XName.Get("headerName", "headerNamespace"), new XNode[] { }, true);

            var headerElement = XElementExtensions.ParseGeneratedXml(header.Write);

            Assert.AreEqual("headerName", headerElement.Name.LocalName);
            Assert.AreEqual("headerNamespace", headerElement.Name.NamespaceName);
        }
        public void It_reads_must_understand_from_attribute()
        {
            var headerElement = new XElement("headerName",
                new XAttribute(Constants.Namespace + "mustUnderstand", true));

            var header = new MessageHeader(headerElement);

            Assert.IsTrue(header.MustUnderstand);
        }
        public void It_writes_header_contents()
        {
            var header = new MessageHeader(XName.Get("headerName", "headerNamespace"),
                                           new XNode[]
                                               {
                                                   new XText("someText"),
                                                   new XElement("someNestedElement")
                                               }, true);

            var headerElement = XElementExtensions.ParseGeneratedXml(header.Write);
            var headerContents = headerElement.Nodes().ToList();
            var textNode = (XText) headerContents[0];
            Assert.AreEqual("someText", textNode.Value);
            var nestedElement = (XElement) headerContents[1];
            Assert.AreEqual("someNestedElement", nestedElement.Name.LocalName);
        }
        public void It_writes_headers()
        {
            var message = new OutgoingMessage();

            var headerName = XName.Get("someHeader","someNamespace");
            var header = new MessageHeader(
                headerName, 
                new XNode[] {new XText("someText")}, 
                false);
            message.AddHeader(header);

            var envelope = XElementExtensions.ParseGeneratedXml(message.Write);

            Assert.AreEqual(SOAP.Constants.Envelope, envelope.Name);
            var headerSectionElement = envelope.Element(SOAP.Constants.Header);
            var headerElement = headerSectionElement.Element(headerName);
            var headerContent = (XText)headerElement.FirstNode;
            Assert.AreEqual("someText", headerContent.Value);
        }
예제 #9
0
        public void AddHeader(IMessageHeader typedHeader, bool mustUnderstand)
        {
            var header = new MessageHeader(typedHeader.Name, typedHeader.Write(), mustUnderstand);

            _headers.Add(header);
        }
예제 #10
0
 public void AddHeader(MessageHeader header)
 {
     _headers.Add(header);
 }