Я пытаюсь написать слой перевода для тестовой системы, для которой пишу программное обеспечение. Я использую LabVIEW для тестовой системы, которая использует веб-сервис RESTful. Я внедрил методы REST, и они работают хорошо. Удаленный тестовый контроллер, уровень обслуживания данных и т. Д. Написаны на C # и SQL, и это те элементы, с которыми мне приходится взаимодействовать с помощью SOAP. У меня есть простой клиент веб-сервиса, который был написан на C # для стороны SOAP коллегой. В основном мне нужно взять объекты, собранные программой C #, а затем создать небольшой XML-файл, который можно отправить в REST URI в качестве данных поста.
Я сделал введение в курс C #, но это было «это C #, основанный на вашем текстовом языке», не очень полезно, когда я в основном пишу код в LabVIEW. Я тренировался на C и немного на C ++ давным-давно, но действительно боролся с курсом, это была очень крутая кривая обучения, и я не использовал C # со времени курса около 3 месяцев назад. Я хочу изучать C # и подумал, что это будет простой способ начать, но я до сих пор борюсь.
ОК, некоторый код:
[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;
}
Так что в текущей версии используется метод для отправки заданного XML-файла фиктивных данных в REST URI в качестве POSTDATA для целей тестирования.
Данные SOAP, передаваемые этому методу, предоставляют UUID (GUID) и имя метода. Это означает, что из этого у меня достаточно информации для создания XML для сообщения POSDATA, которое необходимо отправить службе REST.
Примерно так:
<?xml version="1.0" encoding="utf-8"?>
<Initialise>
<UUID>d7051980-a690-11dd-ad8b-0800200c9a66</UUID>
</Initialise>
Мне просто нужно указать в правильном направлении, как лучше всего конвертировать объекты в XML для службы REST.
Спасибо
Нил.