来自Json webservice的发送和Rcived图像错误:NotFound

时间:2012-03-26 14:14:11

标签: json web-services windows-phone-7 windows-phone

我创建了一个jSON Web服务来保存包含图像的配置文件数据。我的服务工作正常但是当发送数据到服务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 个答案:

答案 0 :(得分:1)

我认为您的问题可能是“http:// localhost” - 这意味着该服务应该在localhost上 - 即在您的手机中?

也许尝试使用PC的网络IP地址 - 您可能需要使用完整的IIS或IISExpress来托管您的服务。