当前位置:编程学习 > C#/ASP.NET >>

如何调试调用的WebSerivce

我写的WebService在soapUI调试没有任何问题,

但是在另外程序调用中,老是出现,未将对象引用到实例,,  我想从另外的程序中跳入 WebService中,却进不去,目前也发现不了问题,


    public string GetXmlToDataTable(XmlDocument GetNewXml)
    {
        string XmlStringHead = "";
        string XmlStringBase = "";

        XmlDocument objDoc = new XmlDocument();
        objDoc.LoadXml(GetNewXml.InnerXml);
        string LayerNameHead = "T_EMPLOYEE";
        string LayerNameBase = "T_EMPLOYEE/BODY/ROW/base";//指定读取的节点
        //Head
        XmlNode rootHead = objDoc.SelectSingleNode(LayerNameHead);
        XmlNodeList childlist = rootHead.ChildNodes;
        for (int i = 0; i < childlist.Count - 1; i++)
        {
            foreach (XmlNode xnl in childlist[i].ChildNodes)
            {
                XmlElement xe = (XmlElement)xnl;
                XmlStringHead += xnl.Name + ":" + xnl.InnerText + "\n";
            }
        }
        //Base
        XmlNode rootBasc = objDoc.SelectSingleNode(LayerNameBase);
        childlist = rootBasc.ChildNodes;
        for (int i = 0; i < childlist.Count; i++)
        {
            foreach (XmlNode xnl in childlist[i].ChildNodes)
            {
                XmlStringBase += xnl.Value + ":" + xnl.InnerText + "\n";
            }
        }
        DataSet ds = new DataSet();
        var strXml = GetNewXml.InnerXml;//Xml串
        XmlDocument doc = new XmlDocument();
        doc.LoadXml(strXml);
        XmlNodeReader reader = new XmlNodeReader(doc);
        ds.ReadXml(reader);
        reader.Close();
        string[] TableInfoName = new string[ds.Tables["AttributeInfo"].Rows.Count];
        string[] TableInfoValue = new string[ds.Tables["AttributeInfo"].Rows.Count];
        string InfoText = "";
        for (int j = 0; j < ds.Tables["AttributeInfo"].Rows.Count; j++)
        {
            TableInfoName[j] = ds.Tables["AttributeInfo"].Rows[j]["AttrType"].ToString();
            TableInfoValue[j] = ds.Tables["AttributeInfo"].Rows[j]["AttrValue"].ToString();
            InfoText += TableInfoName[j].ToString() + ":" + TableInfoValue[j].ToString() + "\n";
        }
        return XmlStringHead + "\n" + XmlStringBase + "\n" + InfoText;

    }



以上是写好的WebService,在soapUI中调试,未出现问题。

而在调用中,却报错,求助 - -,

另外,我将WebService直接返回GetNewXml.InnerXml,在调用中是能实现的,因为不能调试 查不出问题所在。再次感谢 。。 --------------------编程问答-------------------- 你可以在本机的同一个项目中进行调试。建议在webservice加入日志功能,看到底服务端发生了什么问题。另外客户端调用报错报什么错,可以根据这个进行排查的。 --------------------编程问答-------------------- 在WebService项目中增加一个单元测试项目,模拟客户端调用。 --------------------编程问答-------------------- 打开调试的万能方法是,在需要的地方写如下的语句:
System.Diagnostics.Debugger.Break();
使用条件:运行 VisualStudio 并将解决方案打开。 --------------------编程问答-------------------- WebSerivce传文件建议使用byte[]传过去,然后再转回相应格式文件,再处理,会不会是你的这个XmlDocument 没有接收完整,网速问题...等等 --------------------编程问答-------------------- --------------------编程问答-------------------- 建议在webservice加入错误日志,这样一看就知道是什么错了!
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,