示例#1
0
        void WriteObject_Fault(System.Web.Services.Protocols.Fault ob, string element, string namesp, bool isNullable, bool needType, bool writeWrappingElem)
        {
            if (ob == null)
            {
                if (isNullable)
                {
                    WriteNullTagLiteral(element, namesp);
                }
                return;
            }

            if (writeWrappingElem)
            {
                WriteStartElement(element, namesp, ob);
            }

            if (needType)
            {
                WriteXsiType("Fault", WebServiceHelper.SoapEnvelopeNamespace);
            }

            WriteElementQualifiedName("faultcode", "", ob.@faultcode);
            WriteElementString("faultstring", "", ob.@faultstring);
            WriteElementString("faultactor", "", ob.@faultactor);
            WriteElementLiteral(ob.@detail, "detail", "", false, false);
            if (writeWrappingElem)
            {
                WriteEndElement(ob);
            }
        }
示例#2
0
 public void WriteRoot_Fault(object o)
 {
     WriteStartDocument();
     System.Web.Services.Protocols.Fault ob = (System.Web.Services.Protocols.Fault)o;
     TopLevelElement();
     WriteObject_Fault(ob, "Fault", WebServiceHelper.SoapEnvelopeNamespace, true, false, true);
 }
示例#3
0
        public System.Web.Services.Protocols.Fault ReadObject_Fault(bool isNullable, bool checkType)
        {
            System.Web.Services.Protocols.Fault ob = null;
            if (isNullable && ReadNull())
            {
                return(null);
            }

            if (checkType)
            {
                System.Xml.XmlQualifiedName t = GetXsiType();
                if (t != null)
                {
                    if (t.Name != "Fault" || t.Namespace != WebServiceHelper.SoapEnvelopeNamespace)
                    {
                        throw CreateUnknownTypeException(t);
                    }
                }
            }

            ob = new System.Web.Services.Protocols.Fault();

            Reader.MoveToElement();

            while (Reader.MoveToNextAttribute())
            {
                if (IsXmlnsAttribute(Reader.Name))
                {
                }
                else
                {
                    UnknownNode(ob);
                }
            }

            Reader.MoveToElement();
            if (Reader.IsEmptyElement)
            {
                Reader.Skip();
                return(ob);
            }

            Reader.ReadStartElement();
            Reader.MoveToContent();

            bool b0 = false, b1 = false, b2 = false, b3 = false;

            while (Reader.NodeType != System.Xml.XmlNodeType.EndElement)
            {
                if (Reader.NodeType == System.Xml.XmlNodeType.Element)
                {
                    if (Reader.NamespaceURI == string.Empty || Reader.NamespaceURI == WebServiceHelper.SoapEnvelopeNamespace)
                    {
                        if (Reader.LocalName == "faultcode" && !b0)
                        {
                            b0            = true;
                            ob.@faultcode = ReadElementQualifiedName();
                        }
                        else if (Reader.LocalName == "faultstring" && !b1)
                        {
                            b1 = true;
                            ob.@faultstring = Reader.ReadElementString();
                        }
                        else if (Reader.LocalName == "detail" && !b3)
                        {
                            b3         = true;
                            ob.@detail = ReadXmlNode(false);
                        }
                        else if (Reader.LocalName == "faultactor" && !b2)
                        {
                            b2             = true;
                            ob.@faultactor = Reader.ReadElementString();
                        }
                        else
                        {
                            UnknownNode(ob);
                        }
                    }
                    else
                    {
                        UnknownNode(ob);
                    }
                }
                else
                {
                    UnknownNode(ob);
                }

                Reader.MoveToContent();
            }

            ReadEndElement();

            return(ob);
        }
示例#4
0
		public System.Web.Services.Protocols.Fault ReadObject_Fault (bool isNullable, bool checkType)
		{
			System.Web.Services.Protocols.Fault ob = null;
			if (isNullable && ReadNull()) return null;

			if (checkType) 
			{
				System.Xml.XmlQualifiedName t = GetXsiType();
				if (t != null) 
				{
					if (t.Name != "Fault" || t.Namespace != "http://schemas.xmlsoap.org/soap/envelope/")
						throw CreateUnknownTypeException(t);
				}
			}

			ob = new System.Web.Services.Protocols.Fault ();

			Reader.MoveToElement();

			while (Reader.MoveToNextAttribute())
			{
				if (IsXmlnsAttribute (Reader.Name)) {
				}
				else {
					UnknownNode (ob);
				}
			}

			Reader.MoveToElement();
			if (Reader.IsEmptyElement) {
				Reader.Skip ();
				return ob;
			}

			Reader.ReadStartElement();
			Reader.MoveToContent();

			bool b0=false, b1=false, b2=false, b3=false;

			while (Reader.NodeType != System.Xml.XmlNodeType.EndElement) 
			{
				if (Reader.NodeType == System.Xml.XmlNodeType.Element) 
				{
					if (Reader.LocalName == "faultcode" && Reader.NamespaceURI == "" && !b0) {
						b0 = true;
						ob.@faultcode = ReadElementQualifiedName ();
					}
					else if (Reader.LocalName == "faultstring" && Reader.NamespaceURI == "" && !b1) {
						b1 = true;
						ob.@faultstring = Reader.ReadElementString ();
					}
					else if (Reader.LocalName == "detail" && Reader.NamespaceURI == "http://schemas.xmlsoap.org/soap/envelope/" && !b3) {
						b3 = true;
						ob.@detail = ReadXmlNode (true);
					}
					else if (Reader.LocalName == "faultactor" && Reader.NamespaceURI == "" && !b2) {
						b2 = true;
						ob.@faultactor = Reader.ReadElementString ();
					}
					else {
						UnknownNode (ob);
					}
				}
				else
					UnknownNode(ob);

				Reader.MoveToContent();
			}

			ReadEndElement();

			return ob;
		}