SOAP Web Service Tutorials - Herong's Tutorial Examples - Version 5.01, by Dr. Herong Yang
SOAP 1.1 Request - Content-Length Too Small
This section provides a tutorial example of SOAP 1.1 request to use the GetSpeech Web service provided at xmlme.com. A 'Bad Request' error is received, if Content-Length is not enough to cover the entire XML message in the request.
Now let's use my Perl socket test program to send a SOAP 1.1 request to a public Web service provided at xmlme.com.
xmlme.com provides a public Web service called GetSpeech with SOAP 1.1. GetSpeech reads a phrase from one of Shakespeare's plays from the request and returns speech, speaker, and play in the response. According to the instructions given at http://www.xmlme.com/WSShakespeare.asmx?op=GetSpeech, I prepared by first request sample, soap_1_1_GetSpeech.req:
POST /WSShakespeare.asmx HTTP/1.1 Host: www.xmlme.com Content-Type: text/xml; charset=utf-8 Content-Length: 100 SOAPAction: "http://xmlme.com/WebServices/GetSpeech" <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <GetSpeech xmlns="http://xmlme.com/WebServices"> <Request>To be, or not to be</Request> </GetSpeech> </soap:Body> </soap:Envelope>
Here is the response I got from my first test:
\herong>SocketRequestResponse.pl www.xmlme.com 80 soap_1_1_GetSpeech.req soap_1_1.res \herong>type soap_1_1.res HTTP/1.1 400 Bad Request Connection: close Date: ... 2009 Server: Microsoft-IIS/6.0 X-Powered-By: ASP.NET X-AspNet-Version: 2.0.50727 Cache-Control: private Content-Length: 0
The "Bad Request" error was expected, because I put 100 as the "Content-Length" in the request. Here is my guess on what happened to this example:
Now I learned that HTTP servers do pay attention to the "Content-Length" header line in the request. I will provide a better value for "Content-Length" and try again in the next tutorial.
Last update: 2009.
Table of Contents