2017-03-14 3 views
-2

API가 C#이고 Visual Basic에 API가 있습니다. JSON 형식의 정보를 C#의 API에서 Visual Basic API (POST 동사 사용)로 보내야합니다. 상황의 맥락은 이와 같습니다. 모바일 응용 프로그램은 C#에서 API로 정보를 보내고 API는 서버에있는 데이터베이스에 데이터를 저장 한 다음 정보가 올바른 경우 C#의 API가 데이터를 Visual Basic API로 보내고 다른 서버에 저장해야합니다 . 누구나 C#에서 Visual Basic으로 데이터를 보낼 수 있을까요? 감사.C#을 Visual Basic API로 보냅니다.

+0

무엇이 문제입니까? – Mahdi

+0

C#에서 Visual Basic으로 데이터를 보내는 방법을 찾지 못했습니다. WebRequest 라이브러리를 사용했지만 GET을 사용하고 url에 매개 변수를 추가하는 경우에만 작동합니다. POST를 사용하면 작동하지 않습니다. –

+0

왜 VBA 코드가 포함됩니까? 각 서버에 있어야하는 형식으로 두 서버에 저장하십시오. – Comintern

답변

2

하나의 API가 C#에 있고 다른 하나는 VB에 있어도 상관 없습니다. json이 전송하는 한 유효합니다 (jsonlint.com에서 전송 한 json의 유효성을 검사 해보십시오). API에 객체가 매핑되어 있으면 모든 것이 정상입니다. 끝점 API가 요청을 수락하지 않는 것 같습니다.

0

이 내 C# 코드

try 
     { 
      var request = (HttpWebRequest)WebRequest.Create(URL); 
      request.ContentType = "application/json"; 
      request.Method = "POST"; 

      using (var streamWriter = new StreamWriter(request.GetRequestStream())) 
      { 
       string json = new JavaScriptSerializer().Serialize(new 
       { 
        var1 = "example1", 
        var2 = "example2" 
       }); 

       streamWriter.Write(json); 
      } 

      var response = (HttpWebResponse)request.GetResponse(); 
      using (var streamReader = new StreamReader(response.GetResponseStream())) 
      { 
       var result = streamReader.ReadToEnd(); 
       return Request.CreateResponse(HttpStatusCode.OK, new { Respuesta = result }, "application/json"); 
      } 
     } 
     catch(Exception e) 
     { 
      return Request.CreateResponse(HttpStatusCode.InternalServerError, new { Respuesta = e.ToString() }, "application/json"); 
     } 
    } 

입니다 그리고 이것은

Public Function PostValue(ByVal json as String) 
    return json 
End Function 

Visual Basic의

그게 모두 내 기능입니다. 그리고이 오류를 던져주세요. { "Respuesta": "System.Net.WebException : 원격 서버가 오류를 반환했습니다 : (404) 찾을 수 없습니다. \ r \ n System.Net.HttpWebRequest.GetResponse() \ r \ n Servicios.Controllers.SAPEnviarFacturasController.SAPEnviarFacturas() in C : \ TFS \ Servicios \ Controllers \ SAPEnviarFacturasController.cs : 라인 44 " }