2009-02-10 6 views
0

J'essaye d'écrire une couche de traduction pour un système de test pour lequel j'écris des logiciels. J'utilise LabVIEW pour le système de test et utilise un service web RESTful. J'ai implémenté les méthodes REST et elles fonctionnent correctement. Le contrôleur de test à distance et la couche de service de données, etc., sont écrits en C# et en SQL et ce sont les éléments que je dois interfacer avec SOAP. J'ai un client webservice simple qui a été écrit en C# pour le côté SOAP par un collègue. J'ai fondamentalement besoin de prendre les objets collectés par le programme C# puis de compiler un petit XML qui peut être envoyé à l'URI REST en tant que données post.C# webservice doit convertir SOAP en REST à la volée

J'ai fait une introduction au cours C# mais c'était un "ceci est basé sur votre langage basé sur le texte" pas utile quand je code principalement dans LabVIEW. Je me suis entraîné avec C et un peu de C++ il y a des années mais j'ai vraiment eu du mal dans le cours c'était une courbe d'apprentissage très raide et pas utilisé C# depuis le cours il y a environ 3 mois. Je veux apprendre C# et je pensais que ce serait un moyen facile de commencer, mais je me bats jusqu'à présent.

OK du code:

[WebMethod] 
[SoapHeader("RMSSvcHeader", Direction = SoapHeaderDirection.InOut)] 
public ReturnStatus Initialise(string uri) 
{ 
    ReturnStatus rs = new ReturnStatus(); 
    try 
    { 
     rs.Message = HttpPostXml(uri, @"C:\Inetpub\wwwroot\RMS\XMLMessages\Initialise.xml"); 
    } 
    catch (Exception exc) 
    { 
     rs.Status = 1; 
     rs.Message = exc.Message; 
    } 
    return rs; 
} 

donc cette version actuelle utilise une méthode pour afficher un fichier XML ensemble de données fictives à l'URI REST POSTDATA à des fins de test. Les données SOAP transmises à cette méthode exposent un UUID (GUID) et le nom de la méthode. Cela signifie qu'à partir de cela, j'ai assez d'informations pour créer le XML pour le message POSDATA qui doit être envoyé au service REST. Quelque chose comme ceci:

<?xml version="1.0" encoding="utf-8"?> 
    <Initialise> 
    <UUID>d7051980-a690-11dd-ad8b-0800200c9a66</UUID> 
</Initialise> 

J'ai juste besoin pointant dans la bonne direction que la meilleure façon de convertir les objets en XML pour le service REST.

Merci,

Neil.

Répondre

2

Avez-vous envisagé d'utiliser WCF à la place? There is an easier way pour publier ces services pour l'interaction REST.

0

Ce que vous pouvez faire est d'avoir des services Web, des pages qui exposent le service de manière RESTful, ou un moyen SOAP (en crachant le XML).

Questions connexes