今天用jmeter测试了一下web service遇到了几个问题,不过现在都解决了,感觉还是挺好用的。
第一个问题就是jmeter的lib目录下缺少mail.jar和activation.jar两个文件,测试时报错。
第二个是程序问题,导致接收到的数据都是null。
感觉麻烦的就是用jmeter做测试要写SOAP MESSAGE。这东西我是现从网上找了一段,修改了一下才行的。
我的WEB SERVICE是这么写的。原来没有@WebMethod(operationName = "receiveCode")和@WebParam(name = "readername"),@WebParam(name = "code"),虽然能发布出来,但结果却不能调用。
@WebService
public interface CodeFacade {
@WebMethod(operationName = "receiveCode")
public void receiveCode(@WebParam(name = "readername") String readername,@WebParam(name = "code") String code){
System.out.println(readername + "---" + code);
}
}
用JMETER测试时,要写下面的SOAP MESSAGE,就可以测试了
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope
xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/1999/XMLSchema"
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Body>
<ns1:receiveCode xmlns:ns1="urn:http://localhost:8080/spr/service/codeService?wsdl">
<readername xsi:type="xsd:string">ddd</readername>
<code xsi:type="xsd:string">asdfasdfasdf</code>
</ns1:receiveCode>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
当然了,前提是你正确配置了JMETER后,加载了WSDL,并配置了要测试的方法,然后才是写这个SOAP MESSAGE。