2012-08-13 2 views
1

wp7을 코딩하는 것은 나의 첫 경험이고, 나는 그것에 약간의 문제가있다. 내가 토큰 _req = "http://api.server.com/oauth/token"라고 대답하면 괜찮습니다.하지만 https 일 때 연결할 수 없으므로 "원격 서버가 오류를 반환했습니다. : NotFound. " 또한 라인https - NotFound에 대한 GET 요청. wp7

WebResponse response = (HttpWebResponse)request.EndGetResponse(result);

const string results 
private void button1_Click(object sender, RoutedEventArgs e) 
     { 
      string token_req = "https://api.server.com/oauth/token"; 
      string client_id = "..."; 
      string client_secret = "..."; 
      string username = Field_Login.Text; 
      string password = Field_Password.Password; 
      string token_req_param = "grant_type=password&client_id=" + client_id + "&client_secret=" + client_secret + "&username=" + username + "&password=" + password; 



      HttpWebRequest request = (HttpWebRequest)WebRequest.Create(token_req+"?"+token_req_param); 

      request.BeginGetResponse(GetCallback, request); 
     } 

     void GetCallback(IAsyncResult result) 
     { 
      WebRequest request = (HttpWebRequest)result.AsyncState; 
      WebResponse response = (HttpWebResponse)request.EndGetResponse(result); 
      using (StreamReader httpwebStreamReader = new StreamReader(response.GetResponseStream())) 
      { 
       results = httpwebStreamReader.ReadToEnd(); 

      } 
      response.Close(); 

     } 

에서 실수는 내가 WP7 에뮬레이터와 함께이 IE이 URL에 연결할 수 없습니다. = \

답변

1

오류가 발견되지 않는 일반적인 WCF 오류 메시지입니다. 내 경험에 비추어 볼 때 HTTPS가 서비스에서 작동하도록 설정하지 않아도 Fiddler를 사용하는 것이 가장 좋습니다. HTTPS 연결을 설정하려면 더 많은 마법이 필요합니다. 당신이

http://cgeers.com/2009/08/07/wcf-over-https/

+0

** 서비스에서 작동하도록 HTTPS를 설정하지 않아도됩니다 ** ** 의미는 무엇입니까? 내 api 서버 대신 ** https ** : //twitter.com이라면 - 그것이 작동합니다. \ 이 api 서버에도 http 주소가 있지만 ** http ** : //api.server가 있습니다. co.kr/oauth/token/doesnt work 너무합니다. –

+0

기본적으로 귀하의 WCF 서비스를 호스팅하는 IIS 서버가 HTTPS 연결 만 수신하도록 설정되어있을 수도 있습니다 (기본값). WCF 서비스는 HTTPS 작업을 수행하려는 경우 인증서 등으로 일부 작업이 필요합니다. https : // twitter ...가 작동하는 이유는 변경을했기 때문입니다. HTTPS를 설정하려면 WCF Services 및 IIS에 대해 좀 더 자세히 읽어야한다고 생각합니다. –

1

에서 얻을 수있는 자체 서명 된 인증서를 사용하려고합니까?

그렇다면 인증서를 원격 URL에 WebBrowserTask를 지정하여 수행 할 수있는 인증서를 휴대 전화에 설치해야합니다. 그것은 빤다. 그러나 이것이 유일한 길이다.

+0

자신에게 인증서를 전자 메일로 보낼 수도 있습니다. –

+0

자체 서명하지 않습니다 = \ 그리고 전화가 없어요 - 에뮬레이터 –

+0

그것은 에뮬레이터에서도 작동합니다. – Jon