2017-03-14 3 views
-2

J'ai une API en C# et une autre en Visual Basic. J'ai besoin d'envoyer des informations au format JSON de l'API en C# à l'API dans Visual Basic, en utilisant éventuellement le verbe POST. Le contexte de la situation est comme ça. Une application mobile envoie des informations à l'API en C#, l'API enregistre les données dans une base de données située sur le serveur, puis si l'information est correcte, l'API en C# doit envoyer les données à l'API Visual Basic et les enregistrer dans un autre serveur . Quelqu'un sait-il comment envoyer les données de C# à Visual Basic? Merci.Envoyer le formulaire de données C# à l'API Visual Basic

+0

Quel est le problème? – Mahdi

+0

Je ne trouve pas le moyen d'envoyer les données de C# à Visual Basic. Si j'ai utilisé la bibliothèque WebRequest mais ne fonctionne que si j'utilise GET et ajoute les paramètres à l'url, si j'utilise POST cela ne marche pas –

+0

Pourquoi impliquer le code VBA du tout? Sauvegardez-le simplement sur les deux serveurs, quel que soit leur format. – Comintern

Répondre

2

Peu importe qu'une API soit en C# et l'autre en VB. Tant que le json que vous envoyez est valide (essayez de valider le json que vous envoyez sur jsonlint.com) et que vous pouvez le mapper sur un objet que l'API accepte, tout devrait bien se passer. Il semble que l'API d'extrémité n'accepte pas la demande.

0

Ceci est mon code 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"); 
     } 
    } 

Et ceci est ma fonction dans Visual Basic

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

C'est tout. Et me jeter cette erreur { "Respuesta": "System.Net.WebException: Le serveur distant a renvoyé une erreur: (404) introuvable. \ R \ n à System.Net.HttpWebRequest.GetResponse() \ r \ n à Servicios.Controllers.SAPEnviarFacturasController.SAPEnviarFacturas() dans C: \ TFS \ Servicios \ Controllers \ SAPEnviarFacturasController.cs: ligne 44 " }