Как сделать SOAP-клиент для запросов/ответов в программе на языке Си

#c #c #http #soap

#c #c #http #мыло

Вопрос:

У меня есть программа на языке Си, которая должна отправлять непрерывные запросы и получать ответы с сервера SOAP.

Должен ли я обернуть программу C в класс C и выполнить интерфейс C#?

Или есть способ напрямую закодировать клиент SOAP на C?

У меня есть пользовательские HTTP-заголовки, которые должны быть включены в запрос.

Вот пример теста из документации SOAP-сервера о том, как его вызвать, но я не могу понять, как интегрировать его в мою программу на языке Си:

 POST /otd HTTP/1.1 User-Agent: OT Host: localhost:9002 Content-Length: 196 Connection: Close  lt;?xml version="1.0" encoding="UTF-8"?gt; lt;SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"gt; lt;SOAP-ENV:Bodygt;  lt;doSome/gt; lt;/SOAP-ENV:Bodygt; lt;/SOAP-ENV:Envelopegt;  

Комментарии:

1. Итак, вы спрашиваете, как сделать запрос GET/POST на языке Си ? Я не понимаю вопроса «Или есть способ напрямую закодировать клиент SOAP на c», если вопрос подразумевает, есть ли способ использовать сеть и сокеты на C, тогда да, вы можете это сделать. Зачем вам нужны классы C или интерфейс C#?

2. SOAP-это просто XML по протоколу HTTP/S. Существует множество библиотек XML и библиотек HTTP, доступных для C (например, libxml2 и libcurl), вам не нужно прибегать к использованию C или C#.

3. @RemyLebeau libxml2 разработан для проекта Gnome, и я работаю над производственной программой на C, я не знаю, поддерживает ли она ее. Я не знаю, как насчет libcurl, проверю это, спасибо!

4. @Akali Мой вопрос был, скорее, о библиотеках SOAP или способе работы с коммуникациями SOAP на C

5. @yassine libxml2-это библиотека с открытым исходным кодом. Он работает с несколькими компиляторами, и он отлично работает за пределами системы Gnome.