2008-09-17 30 views
44

क्या आप जानते हैं कि मैं वेब सेवा का परीक्षण करने के लिए POST SOAP पर कर्ल कमांड लाइन का उपयोग कैसे कर सकता हूं?वेब सर्विसेज उपभोग करने के लिए कर्ल कमांड लाइन?

मेरे पास एक फ़ाइल (साबुन.एक्सएमएल) है जिसमें सभी साबुन संदेश संलग्न हैं, मैं बस इसे ठीक से पोस्ट करने में सक्षम नहीं हूं।

धन्यवाद!

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

पोस्ट करना एक फ़ाइल की सामग्री:

उत्तर

40

एक स्ट्रिंग पोस्ट करना

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

आम तौर पर इस शीर्ष लेख भी जरूरी है: एच "सामग्री प्रकार: आवेदन/साबुन + xml; charset = UTF-8" – tokland

+0

@Luca कृपया ध्यान दें कि डेटा यूआरएल-एनकोडेड होना चाहिए। –

+2

'HTTP/1.1 415 असमर्थित मीडिया प्रकार' प्राप्त करना मतलब है सामग्री-प्रकार शीर्षलेख गुम या गलत है। यहां सुझाए गए विकल्पों में से एक आज़माएं ('एप्लिकेशन/साबुन + एक्सएमएल' मेरे लिए काम नहीं करता है, लेकिन' टेक्स्ट/एक्सएमएल' काम करता है) – Nickolay

4

आप टर्मिनल की तुलना में एक fluffier इंटरफेस चाहते हैं, http://hurl.it/ भयानक है।

+1

hurl.it के समान उपकरण: http://stackoverflow.com/a/12637452/363573 – Stephan

33

एक सोप 1.2 वेब सेवा के लिए, मैं सामान्य रूप से

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 
+3

महाकाव्य! वास्तविक कामकाजी उदाहरण पोस्ट करने के लिए समय निकालने के लिए धन्यवाद! –

8
curl -H "Content-Type: text/xml; charset=utf-8" \ 
-H "SOAPAction:" \ 
-d @soap.txt -X POST http://someurl 
+1

यह मेरे लिए काम करता है। हालांकि, मुझे फ़ाइल से soap.txt में एक मान पढ़ने की जरूरत है। 'कोड' <साबुन: लिफाफा xmlns: soapenv =" http://schemas.xmlsoap.org/soap/envelope/ "xmlns: usa =" http://www.xyz.com/SAFSubscriberProvision/ "> < soapenv: हैडर /> <एसएएफ: SubscriberID MSISDN = "254,727,849,628" /> 'code' – bernie

+1

' -d @ पैरामीटर soap.txt' जो आप चाहते हैं वह प्रदान करता है। –