各位老大,我用asp.net开发了一个用友EAI接口系统,按指定格式导入XML时,回执错误信息为EAI数据源连接失败,原因:登录信息不全,请查看代码!请问该如何解决?如下为c#代码:
System.Xml.XmlDocument dom = new XmlDocument();
HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create("http://127.0.0.1:802/U8EAI/import.asp");
myRequest.Method = "POST";
myRequest.ContentType = @"text/xml;charset=utf-8";
dom.Load("c:\\123.xml");
System.IO.MemoryStream ms = new System.IO.MemoryStream();
dom.Save(ms);
byte[] bytes = ms.ToArray();
myRequest.ContentLength = bytes.Length;
System.IO.Stream s = myRequest.GetRequestStream();
s.Write(bytes, 0, bytes.Length);
s.Close();
System.IO.StreamReader sr = new System.IO.StreamReader(myRequest.GetResponse().GetResponseStream());
String retXml = sr.ReadToEnd();
sr.Close();
dom = new XmlDocument();
dom.LoadXml(retXml);
//保存返回的信息
dom.Save("C:\\re.xml");
看起来逻辑好像没什么问题,看看是否xml传入的格式或是参数不全
根据你上面的代码来看是没有问题的。只是你这个操作是否应该有个登陆验证的操作。也就是第一步:调用EAI的登陆接口进行登录验证;第二步:登陆验证成功后进行数据交互,也就是你目前的操作,给这个接口导入固定的xml格式的数据。
从逻辑上没问题,应该是格式问题
仔细分析看来,有一个疑点。就是我当初做导入时,EAI的导入接口会默认xml文件的名称,比如你到导入凭证名称是Voucher.xml
你的123.xmlU8估计找不到这个文件吧!