looking at the response, you're hitting IIS running ASP.NET. the soap webservice sampler has been tested against .NET 1.0 and 1.1. I'm pretty confident it should work.
peter On 3/28/06, Richard Gaywood <[EMAIL PROTECTED]> wrote: > > Hi list. Just when I thought I was getting to grips with JMeter, a client > threw me a curveball :o( > > I'm trying to load test a third-party SOAP web service to confirm it can > cope that the traffic we're going to be putting down it. I have, from one > of > the developers, a precise XML conversion with three samples -- and initial > request and two extra information requests -- which works fine in a telnet > session to port 80 on the server. So, my first instinct was to feed it > into > a SOAP Sampler and go home earlier. Unfortunately, JMeter's SOAP parsing > is > mangling the request on the way through and I think the third-party server > doesn't like it. It's some sort of XML namespace problem but I'm rather > new > at this bit and I can't see what's wrong. > > Here's what the developer gave me: > ================================================== > POST /foo.asmx HTTP/1.1 > Connection: Close > User-Agent: HostDriver26/2.6.1 > Content-Type: text/xml > SOAPAction: http://foo.soap.action > Content-Length: 842 > Host: foo > > <Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi=" > http://www.w3.org/2001/XMLSchema-instance" xmlns=" > http://schemas.xmlsoap.org/soap/envelope/"><Body><foo xmlns=" > http://foo.soap.action" /></Body></Envelope> > ================================================== > (I've had to "foo" some bits out because it's commercially sensitive, but > hopefully you see the gist. The Content-Length is right in the original > :o) > > Note that this has some problems, like no XML declaration tag. I suspect > the > fact the developers and clients are all Microsoft programmers is the root > of > my problem. Anyway, I've cut and pasted this snippet, as appropriate, into > a > Webservice(SOAP) Request sampler. I didn't configure through the WSDL but > manually input server name, path, SOAPAction and data. I've also turned > off > Memory Cache and turned on Read SOAP response. The Data part of the > Sampler > is the whole body of the request above (i.e. <Envelope > ...>...</Envelope>). > > Now here is what Jmeter sends, grabbed through an outgoing recording HTTP > proxy: > ================================================== > POST /foo.asmx HTTP/1.0 > Host: foo:80 > Content-Type: text/xml; charset=utf-8 > Content-Length: 917 > SOAPAction: "http://foo.soap.action" > > <?xml version='1.0' encoding='UTF-8'?> > <xmlns:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > xmlns:xmlns="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd=" > http://www.w3.org/2001/XMLSchema"> > <xmlns:Body> > <foo xmlns="http://foo.soap.action" /> > </xmlns:Body> > </xmlns:Envelope> > ================================================== > JMeter has changed the xmlns declarations, and the server doesn't like it. > This is what I get back: > ================================================== > HTTP/1.1 500 Internal Server Error. > Connection: close > Date: Tue, 28 Mar 2006 11:33:11 GMT > Server: Microsoft-IIS/6.0 > X-Powered-By: ASP.NET > X-AspNet-Version: 1.1.4322 > Cache-Control: private > Content-Type: text/xml; charset=utf-8 > Content-Length: 485 > > <?xml version="1.0" encoding="utf-8"?> > <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd=" > http://www.w3.org/2001/XMLSchema"> > <soap:Body> > <soap:Fault> > <faultcode>soap:Server</faultcode> > <faultstring>Server was unable to process request. --> This is a > reserved namespace. Line 2, position 71.</faultstring> > <detail /> > </soap:Fault> > </soap:Body> > </soap:Envelope> > ================================================== > Is there anyway to get the SOAP sampler working? Does anyone more > clueful/experienced than I have a suggestion? > > Failing that, I thought I'd try the TCP sampler out. I wrote three TCP > Sampler requests to open port 80 on my client's server and push the raw > text > the developer gave me down the port. That works fine... for one Sampler at > a > time. As soon as more than one Sampler is in the Thread Group, the second > and all subsequent ones fail instantly (0 milliseconds sample time). > > Looking at the debug log, it's failing because my SOAP call is closing the > HTTP connection after the invocation but the TCP Sampler is trying to > reuse > the connection in the second Sampler call. The docs suggest that changing > the case of the server name will prevent this behaviour, but it doesn't; > the > docs also suggest that this should cause a new connection to be reopened, > but that doesn't seem to work either. Is there anything else I can try > before I crack the source code out? > >

