Wer einen WebService verwendet, muß nicht immer gleich einen eigenen Client entwickeln. Es ist auch möglich SOAP Request mit Tools zu senden. In diesem Beispiel wird ein WebService zum Löschen von Nachrichten angesprochen.
Zu erst erstellen Datei mit dem XML SOAP Request.
vim soap_request.xml
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <ns1:removeNachricht xmlns:ns1="http://exposed.storage.service.de/" <arg0>4860</arg0> </ns1:removeNachricht> </soap:Body> </soap:Envelope> |
Mit dem Tool curl senden wir einen HTTP Post Request, als HTTP Header wird die Methode „removeNachricht“ von dem WebService gesendet.
curl -H "Content-Type: text/xml; charset=utf-8" -H "SOAPAction: removeNachricht" -d @soap_request.xml -X POST http://localhost:7010/soa-infra/services/StorageService/StorageWebService
Wenn wir eine Liste von Nachrichten löschen wollen, können wir diese Shell Script verwenden. Die NachrichtenID werden in der Datei „list.txt“ gespeichert. Die SOAP Datei wird immer wieder kopiert und in der Datei die ID ersetzt.
#!/bin/sh URL=http://localhost:7010/soa-infra/services/StorageService/StorageWebService cat list.txt | while read ID do echo "Delete Nachricht: ${ID}" cp soap_request.xml.org soap_request.xml sed -i s/##NACHRICHT_ID##/${ID}/g soap_request.xml curl \ -H "Content-Type: text/xml; charset=utf-8" \ -H "SOAPAction: removeNachricht" \ -d @soap_request.xml -X POST ${URL} sleep 2 done |