C # веб-сервис должен конвертировать SOAP в REST на лету - PullRequest
0 голосов
/ 10 февраля 2009

Я пытаюсь написать слой перевода для тестовой системы, для которой пишу программное обеспечение. Я использую 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.

Спасибо

Нил.

Ответы [ 2 ]

2 голосов
/ 10 февраля 2009

Рассматривали ли вы вместо этого WCF? Существует более простой способ опубликовать эти сервисы для взаимодействия REST.

0 голосов
/ 11 февраля 2009

То, что вы могли бы сделать, - это иметь веб-сервисы, страницы, которые предоставляют сервис RESTful-способом, или SOAP-способом (путем выделения XML).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...