If it works in Telnet, you might be able to use the TCP Sampler, but obviously it would be better to fix any problems in the SOAP samplers if there are any.
Check jmeter.properties for details of properties you need to set for the TCP sampler (or I think this is explained better in the current nightly build documentation). On 28/03/06, Peter Lin <[EMAIL PROTECTED]> wrote: > are you using soap/xml sampler or the soap webservice sampler? > > 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? > > > > > > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]

