2012-07-05 5 views
1

저는 생성시 계정 레코드의 주요 전화로 SMS를 보내는 CRM 2011 플러그인을 구현했습니다. 하지만 "원격 서버에 연결할 수 없습니다."라는 오류 메시지가 나타납니다. 아래는 플러그인에서 사용되는 코드입니다.CRM 2011 플러그인에서 원격 서버에 연결할 수 없습니다.

public static void send(string uid, string password, string message, string no) 
    { 
     HttpWebRequest myReq = 
     (HttpWebRequest)WebRequest.Create("http://ubaid.tk/sms/sms.aspx?uid=" + uid + "&pwd=" + password + 
     "&msg=" + message + "&phone=" + no + "&provider=way2sms"); 

     HttpWebResponse myResp = (HttpWebResponse)myReq.GetResponse(); //Getting error in this line 
     System.IO.StreamReader respStreamReader = new System.IO.StreamReader(myResp.GetResponseStream()); 
     string responseString = respStreamReader.ReadToEnd(); 
     respStreamReader.Close(); 
     myResp.Close(); 
    } 

무슨 해결책이이 오류를 해결하려면? 당신이 샌드 박스로이 플러그인을 실행하는 경우

+0

문제가 설명되어 있는지 확실하지 않지만 URL에 삽입하는 다양한 매개 변수를 URL 인코딩/이스케이프해야하는지 여부를 확인해야합니다. 또한 문제의 URL을 수동으로 검색 할 수 있는지 여부를 확인 했습니까? – reuben

+0

콘솔 응용 프로그램에서 동일한 코드를 실행합니다. 오류없이 sms를 보냅니다. 수동으로 URL을 붙여도 마찬가지입니다. –

+0

실패한 요청에서 더 많은 오류 정보를 가져올 수 있습니까? 또한 전체 오류/예외 정보를 게시 할 수 있습니까? – reuben

답변

3

, some limitations by default on the Outbound URI pattern이 있습니다 :

이 기본 웹 액세스 제한

는 Microsoft.Crm.Sandbox.HostService.exe를 실행하는 서버에서 레지스트리 키에 정의되어 있습니다 과정. 레지스트리 키 값은 비즈니스 및 보안 요구 사항에 따라 시스템 관리자가 변경할 수 있습니다. 서버에서 레지스트리 키 경로는 다음과 같습니다 마이크로 소프트 \ MSCRM \ SandboxWorkerOutboundUriPattern

키 값 \

HKEY_LOCAL_MACHINE \ 소프트웨어가 웹 액세스 제한을 정의하는 정규 표현식 문자열입니다. 기본 키 값은 다음과 같습니다.

"^ http [s] ?: // (?) ([localhost [: /]) | ([. *]) | ([0-9] + [: /]) | (0x [0-9a-f] + [: /]) | ((([0-9] +) | (0x [0-9A-F] +))) {3} 0-9] +) | (0x [0-9A-F] +)) [: /]))). + ";

이 레지스트리 키 값을 변경하면 허용 된 웹 샌드 박스 플러그인 액세스를 변경할 수 있습니다.

+1

플러그인이 * NOT * 샌드 박스가되면 어떻게됩니까? – Boydski

관련 문제