调用Fedex webservice时出错

时间:2011-07-04 10:44:27

标签: c# winforms web-services

从我的Windows应用程序

我正在尝试将xml发送到fedex网址并期待从fedex返回响应。我收到错误“远程服务器返回错误:(500)内部服务器错误。”

这个错误是什么意思以及为什么我收到此错误,因为我从联邦快递支持人员的网址....所以我认为服务网址是正确的。在这里我给我的代码,我试图将xml发送到fedex服务网址。

 public string Post(string sXml)
    {
        string Err = "";
        WebResponse WebRes = null;
        string sResponse = "";
        try
        {
            string URL = "https://gatewaybeta.fedex.com:443/web-services/ship"; // "https://ws.fedex.com:443/web-services/ship";
            byte[] buffer = Encoding.UTF8.GetBytes(sXml);  
            HttpWebRequest WebReq = (HttpWebRequest)WebRequest.Create(URL);  
            WebReq.Method = "POST";
            WebReq.ContentType = "application/x-www-form-urlencoded";  
            WebReq.ContentLength = buffer.Length;
            Stream ReqStream = WebReq.GetRequestStream();
            ReqStream.Write(buffer, 0, buffer.Length);
            ReqStream.Close();
            WebRes = WebReq.GetResponse();
            Stream ResStream = WebRes.GetResponseStream();
            StreamReader ResReader = new StreamReader(ResStream);
            sResponse = ResReader.ReadToEnd();
        }
        catch (Exception ex)
        {
            Err = ex.Message.ToString();
        }
        finally
        {

        }
        return sResponse;
    }

我的代码中是否有任何错误。请指导我为什么会收到错误。我正在与fedex支持人员谈话,但没有得到他们的任何技术帮助。

感谢

2 个答案:

答案 0 :(得分:0)

错误消息来自Fedex服务器,但错误的原因可能在您发送其服务器的URL中,可能是非法参数的形式。仔细检查Fedex URL要求。

答案 1 :(得分:0)

如果您使用的是Plain XML(不是SOAP),请使用:

https://wsbeta.fedex.com/xml

https://ws.fedex.com/xml