Ошибка веб-службы при получении текстового документа - PullRequest
1 голос
/ 30 ноября 2011

Я получаю сообщение об ошибке при попытке получить документ Word с помощью веб-службы

            HttpWebRequest request;
            Uri uri = new Uri(serverUrl +
                    "/bare.aspx/" + Request.PathInfo);
            request = (HttpWebRequest)WebRequest.CreateDefault(uri);
            request.KeepAlive = false;
            request.AllowAutoRedirect = false;
            request.ReadWriteTimeout = -1;
            request.Timeout = -1;
            request.Credentials = System.Net.CredentialCache.DefaultCredentials;
            request.Method = "POST";
            request.ContentType = "application/octet-stream";

            // Serialize argument into request stream
            Hashtable arguments = new Hashtable();
            arguments["templateFile"] = templateFile;
            arguments["hSetDataSource"] = hSetDataSource;
            arguments["hSetRepeatBlock"] = hSetRepeatBlock;
            arguments["messageForEmptyWord"] = messageForEmptyWord;
            arguments["hImageBefore"] = hImageBefore;
            arguments["hImageAfter"] = hImageAfter;
            arguments["hImageInsideRepeater"] = hImageInsideRepeater;
            MemoryStream buf = new MemoryStream();
            BinaryFormatter fmt = new BinaryFormatter();
            fmt.Serialize(buf, arguments);
            request.ContentLength = buf.Length;
            Stream reqStream = request.GetRequestStream();
            buf.WriteTo(reqStream);
            reqStream.Close();
            buf.Close();                

            // Retreive word document from response and return it
            // TODO: refactor this to stream directly into the response 
            HttpWebResponse resp = (HttpWebResponse)request.GetResponse();

Когда я проверяю ответ веб-службы (HttpWebResponse resp), я получаю следующую ошибку:

System.Net.WebException: удаленный сервер возвратил ошибку: (404) Not Found.

Я не понимаю, в чем проблема, заранее благодарю за помощь.

1 Ответ

0 голосов
/ 30 ноября 2011

Вы не достигли конечной точки. 404 означает, что серверу не удалось найти запрашиваемый URL. Проверьте ваш .asmx URL-адрес, поместив его в веб-браузер. Если это работает, убедитесь, что ваш код использует тот же URL.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...