文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>WebService开发中SoapException的用法

WebService开发中SoapException的用法

时间:2010-11-24  来源:平常心成大事

这里有两种写法,

第一种, 就是网上流转某大虾写的,用一个String变量任意拼构一个XML字符串,然后用XmlDocument load XML字符串,再将DocumentElement转入到SoapException中构造函数中:

       string strXmlOut = @"<detail>" //注意,一定要用小写的detail节点!
                         + "<Error>"
                         + "<ErrorNumber>" + errorNumber + "</ErrorNumber>"
                         + "<ErrorMessage>" + errorMessage + "</ErrorMessage>"
                         + "<ErrorSource>" + errorSource + "</ErrorSource>"
                         + "</Error>"
                         + "</detail>";

        //装载为Xml文档
        XmlDocument xmlDoc = new XmlDocument();
        xmlDoc.LoadXml(strXmlOut);

        //实例化SoapException
        SoapException soapEx = new SoapException(errorMessage, faultCodeLocation, uri, xmlDoc.DocumentElement);

        throw soapEx;

 

第二种,就是MSDN里介绍的正规写法:

XmlDocument doc = new XmlDocument();
            XmlNode node = doc.CreateNode(XmlNodeType.Element,
                SoapException.DetailElementName.Name,
                SoapException.DetailElementName.Namespace);

 

XmlNode xmlErrorNumber= doc.CreateNode(XmlNodeType.Element, "ErrorNumber", "http://tempuri.org/");
            xmlErrorNumber.InnerText = exceptionInfo.ErrorCode; //exceptionInfo是一个自定义类型 

            node.AppendChild(xmlErrorNumber);

XmlNode xmlErrorMessage= doc.CreateNode(XmlNodeType.Element, "ErrorMessage", "http://tempuri.org/");
            xmlErrorNumber.InnerText = exceptionInfo.StackTrace; 

            node.AppendChild(xmlErrorMessage);  

            SoapException soapEx = new SoapException(exceptionInfo.ErrorMessage, faultCodeLocation, uri, node);

            throw soapEx; 

 

参考:http://www.techmango.com/blog/article/DotNet/ASP_NET_SoapExtension_SoapException.htm

相关阅读 更多 +
排行榜 更多 +
夕鸟

夕鸟

生活实用 下载
partyplay

partyplay

聊天通讯 下载
婚礼纪

婚礼纪

生活实用 下载