2008-09-17 5 views
44

Вы, ребята, знаете, как я могу использовать командную строку Curl для POST SOAP для тестирования веб-службы?Curl командной строки для использования webServices?

У меня есть файл (soap.xml), в котором есть все прикрепленные к нему мыльные сообщения. Я просто не могу правильно его опубликовать.

Спасибо!

ответ

40

Проводок строка:

curl -d "String to post" "http://www.example.com/target" 

проводка содержимого файла:

curl -d @soap.xml "http://www.example.com/target" 
+21

Обычно этот заголовок также необходимо: -H "Content-Type: применение/мыло + XML, кодировка = UTF-8" – tokland 2010-09-15 15:14:51

+0

@Luca Пожалуйста, обратите внимание, что данные должны быть закодированы в URL. – 2008-09-17 14:56:29

+2

Получение «HTTP/1.1 415 Неподдерживаемый тип носителя» означает, что заголовок типа содержимого отсутствует или ошибочен. Попробуйте один из предложенных здесь («application/soap + xml» не работает для меня, но «text/xml» работал) – Nickolay 2014-06-11 09:27:27

4

Если вы хотите пушистый интерфейс, чем терминал, http://hurl.it/ является удивительным.

33

Для SOAP 1.2 Webservice, я обычно использую

curl --header "content-type: application/soap+xml" --data @filetopost.xml http://domain/path 
25

Неправильный. Это не работает для меня.

Для меня это работает:

curl -H 'SOAPACTION: "urn:samsung.com:service:MainTVAgent2:1#CheckPIN"' -X POST -H 'Content-type: text/xml' -d @/tmp/pinrequest.xml 192.168.1.5:52235/MainTVServer2/control/MainTVAgent2 
8
curl -H "Content-Type: text/xml; charset=utf-8" \ 
-H "SOAPAction:" \ 
-d @soap.txt -X POST http://someurl 
Смежные вопросы