soap request

Hi
I’m trying to run a soap request with gatling but it doesn’t work.

Indeed when loaded the project into soapUi it correctky works with soapUI :

here the project :

<soap:Envelope xmlns:soap=“http://www.w3.org/2003/05/soap-envelope” xmlns:ws=“https://sddqsdqs”>
soap:Header/
soap:Body
ws:azertyuiop_001

ws:001Request
ws:AAA

ws:BBB20131105</ws:DAT>
</ws:AAA>

</ws:Request>
</ws:azertyuiop_001>
</soap:Body>
</soap:Envelope>

And when trying to intercep the request using the recorder this one doesn’t see anything.

thanks

Hi,

Could you share your simulation, please?
Regarding the recorder, did you properly set it up as a proxy in SoapUi?

Yes in soapUi, the proxy is correctly set up
and in the gatling recorder log i’m getting this error :

nov. 14, 2013 4:13:20 PM org.jboss.netty.channel.SimpleChannelHandler
WARNING: EXCEPTION, please implement com.excilys.ebi.gatling.recorder.http.handler.ServerHttpResponseHandler.exceptionCaught() for proper handling.
java.lang.IllegalArgumentException: invalid version format:
at org.jboss.netty.handler.codec.http.HttpVersion.(HttpVersion.java:102)
at org.jboss.netty.handler.codec.http.HttpVersion.valueOf(HttpVersion.java:62)
at org.jboss.netty.handler.codec.http.HttpResponseDecoder.createMessage(HttpResponseDecoder.java:104)
at org.jboss.netty.handler.codec.http.HttpMessageDecoder.decode(HttpMessageDecoder.java:189)
at org.jboss.netty.handler.codec.http.HttpClientCodec$Decoder.decode(HttpClientCodec.java:143)
at org.jboss.netty.handler.codec.http.HttpClientCodec$Decoder.decode(HttpClientCodec.java:127)
at org.jboss.netty.handler.codec.replay.ReplayingDecoder.callDecode(ReplayingDecoder.java:500)
at org.jboss.netty.handler.codec.replay.ReplayingDecoder.cleanup(ReplayingDecoder.java:554)
at org.jboss.netty.handler.codec.frame.FrameDecoder.channelDisconnected(FrameDecoder.java:365)
at org.jboss.netty.handler.codec.http.HttpClientCodec.handleUpstream(HttpClientCodec.java:92)
at org.jboss.netty.channel.Channels.fireChannelDisconnected(Channels.java:396)
at org.jboss.netty.channel.socket.nio.AbstractNioWorker.close(AbstractNioWorker.java:361)
at org.jboss.netty.channel.socket.nio.NioWorker.read(NioWorker.java:93)
at org.jboss.netty.channel.socket.nio.AbstractNioWorker.process(AbstractNioWorker.java:109)
at org.jboss.netty.channel.socket.nio.AbstractNioSelector.run(AbstractNioSelector.java:312)
at org.jboss.netty.channel.socket.nio.AbstractNioWorker.run(AbstractNioWorker.java:90)
at org.jboss.netty.channel.socket.nio.NioWorker.run(NioWorker.java:178)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:722)

What does the accept and content-type headers look like?

Accept-Encoding: gzip,deflate
Content-Type: application/soap+xml;charset=UTF-8;action=“https://sqsdqsdqsd

Hi,

I’ve tested current Gatling 2 snapshot against this free SOAP webservice: http://www.webservicex.net/CurrencyConvertor.asmx?WSDL

Both recording from SoapUi 4.6.1 and replaying from Gatling work fine.

Do you use special WS features such as WS-Security?

Could you provide more information about your service and what you’re doing exactly?
Could you give Gatling 2 snapshot a try, please? https://github.com/excilys/gatling/wiki/Continuous-Integration

Cheers,

Stéphane

Hey,

I had the same problem trying to record the SoapUI tests with the recorder using release 2.0.0-M3a. Using the current snapshot version, as Stephane suggested, solved my problem!

My raw request looks like this:

POST http://msl-fac-vip.nl.rsg/MSL/3/FactuurService HTTP/1.1
Accept-Encoding: gzip,deflate
Content-Type: text/xml;charset=UTF-8
SOAPAction: “leesFactuur”
Content-Length: 376
Host: msl-fac-vip.nl.rsg
Proxy-Connection: Keep-Alive
User-Agent: Apache-HttpClient/4.1.1 (java 1.5)
<soapenv:Envelope xmlns:soapenv=“http://schemas.xmlsoap.org/soap/envelope/” xmlns:fac=“http://xml.ibridge.nl/nl/rsg/msl/3/factuurservice”>
soapenv:Header/
soapenv:Body
fac:leesFactuurRequest
fac:factuurNummer21202409</fac:factuurNummer>
fac:afnemerKIM</fac:afnemer>
</fac:leesFactuurRequest>
</soapenv:Body>
</soapenv:Envelope>

Cheers!

If I were you, I’d stop using the recorder, and just use template files that support expressions instead. Just copy paste request bodies from let’s say soap ui into the data folder and POST them.