Можно ли вызвать WCF 4.0 (SOAP или REST) ​​из неуправляемого C (устройства ZigBee)? - PullRequest
1 голос
/ 25 января 2012

Я сейчас работаю над проектом, который будет разрабатываться двумя поставщиками.

  1. Первый поставщик, за который моя компания отвечает за ASP.NET MVC 3 приложение, которое будет размещено на Azure . Это приложение будет анализировать данные, собранные считыватели RFID и считыватели ZigBee устройства. Я должен также разработать сервис WCF, который будет отвечать за общение. Я хотел бы подчеркнуть, что мы не специалисты по аппаратным устройствам и неуправляемый C .

  2. Второй поставщик, другая компания будет поставлять устройства, и это будет устройство, использующее низкоэнергетическую беспроводную сеть распространения ZigBee . Каждое устройство может работать в 3 состояниях, собирать данные, распространяться или становиться менеджером для всех. «Менеджер» свяжется со службой WCF для передачи данных в базу данных SQL Azure .

Характеристики устройства:

  1. Микроконтроллер Stellaris (LM3S9B90)
  2. GPRS модем SIM900 SimCon, обеспечивает связь по TCP / IP и HTTP
  3. Неуправляемый C

И мои вопросы:

  1. Вы знакомы с общением с WCF из неуправляемого C?
  2. Есть ли какая-нибудь DLL для языка C для создания прокси-формы WCF SOAP WSDL?
  3. Существует ли какая-либо библиотека DLL для удобного использования службы REST WCF из неуправляемого C?
  4. Могу ли я защитить этот WCF с помощью сертификата x509 и обмениваться данными по протоколу https, возможно ли, что при неуправляемом C связь будет стабильной и безопасной?

Я под давлением времени. Поэтому я буду благодарен, если вы укажете мне какие-либо подсказки.

Заранее спасибо.

Daniel

Ответы [ 2 ]

1 голос
/ 25 января 2012

Когда вы говорите «неуправляемый C», я предполагаю, что вашей средой разработки является Visual Studio, использующая C / C ++.Это верно.Здесь обсуждается использование C ++ клиента для связи с WCF здесь .Я лично не использовал C для клиента службы WCF, но я использовал клиенты JavaScript и Java для вызова WCF, когда WCF был настроен для REST.Я бы порекомендовал REST для простоты реализации на разных платформах.Должен быть какой-то способ сделать простой HTTP-запрос от C, и это все, что вам нужно для связи с REST API.Недостатком REST будет безопасность.Я не уверен, насколько это необходимо, но вы можете обеспечить некоторую безопасность, используя сертификаты и требуя учетные данные в своем API.

0 голосов
/ 25 января 2012

Как указывает Кевин, было бы чрезвычайно легко, если бы вы делали свои услуги основанными на REST.Чем вы могли бы ответить на этот вопрос .Quire актуально для темы.Вы можете защитить свой REST с помощью сертификата X.509.

Обратите внимание, что я лично не тестировал предоставленные библиотеки, так как у меня не так много опыта работы с C / C ++.Но поскольку библиотеки POCO имеют HTTPRequest и HTTPResponse классы.Их вместе с X509Certificate должно хватить для вас.Конечно, безопасность может быть немного сложной, но это хорошая отправная точка.

...