Ошибка отправки и восстановления изображения с веб-службы Json: NotFound - PullRequest
1 голос
/ 26 марта 2012

Я создал веб-сервис jSON для сохранения данных профиля с изображением. мой сервис работает нормально, но при отправке данных в сервис HttpWebRequest возвращает «Удаленный сервер возвратил ошибку: NotFound.»

Мой код такой

 void SendPost()

 {

            string webServiceAddress = @"http://localhost:51018/AMFDecember/WebService.asmx";
            string methodName = "Register";
            string url = string.Format("{0}/{1}", webServiceAddress, methodName);

            HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create(url);
            webRequest.Method = "POST";
           webRequest.ContentType = "application/x-www-form-urlencoded";
           webRequest.BeginGetRequestStream(new AsyncCallback(GetRequestStreamCallbackx), webRequest);
      }

void GetRequestStreamCallbackx(IAsyncResult asynchronousResult)
        {
            HttpWebRequest webRequest = (HttpWebRequest)asynchronousResult.AsyncState;
            // End the stream request operation
            Stream postStream = webRequest.EndGetRequestStream(asynchronousResult);
            StreamReader streamReader = new StreamReader(postStream);
            string Response = streamReader.ReadToEnd();
 string img="";

  try
            {

                string img = Convert.ToBase64String(imageBytes);
            }
            catch { }
            // Create the post data
          string postData = "";

      // <emailID>string</emailID>
      //<pwd>string</pwd>
      //<name>string</name>
      //<img>base64Binary</img>


          postData = "emailID=pr@pr.pr&pwd=1234&name=test&img=" + Convert.ToBase64String(imageBytes) + "";  


            byte[] byteArray = Encoding.UTF8.GetBytes(postData);

            // Add the post data to the web request
            try
            {
                postStream.Write(byteArray, 0, byteArray.Length);
            }
            catch { }
            postStream.Close();

            // Start the web request
            webRequest.BeginGetResponse(new AsyncCallback(GetResponseCallback), webRequest);
        }

        void GetResponseCallback(IAsyncResult asynchronousResult)
        {

            try
            {
                HttpWebRequest webRequest = (HttpWebRequest)asynchronousResult.AsyncState;
                HttpWebResponse response;
                // End the get response operation
                response = (HttpWebResponse)webRequest.EndGetResponse(asynchronousResult);

                Stream streamResponse = response.GetResponseStream();
                StreamReader streamReader = new StreamReader(streamResponse);
                string Response = streamReader.ReadToEnd();



                streamResponse.Close();
                streamReader.Close();
                response.Close();

            }
            catch (WebException e)
            {
                // Error treatment
                // ...
            }
        }

1 Ответ

1 голос
/ 26 марта 2012

Я думаю, что ваша проблема может быть "http://localhost" - это значит, что служба должна быть на локальном хосте - то есть в вашем телефоне?

Возможно, вместо этого попробуйте использовать сетевой IP-адрес вашего ПК - вам может понадобитьсяиспользуйте полный IIS или IISExpress для размещения вашего сервиса для этого.

...