|
我刚开始使用LoadRunner,测试WebService性能,就碰到了一个问题,现将问题描述一下,希望大家帮我找一下原因。
我使用LoadRunner的测试WebService向导,自动产生测试脚本,脚本为:
vuser_init()
{
web_service_call( "StepName=DeletePatBloodCapacity_101",
"SOAPMethod=IHDWSBlood.IHDWSBloodSoap.DeletePatBloodCapacity",
"ResponseParam=response",
"WSDL=http://192.168.66.5/IHDClinic/IHDBlood.asmx?WSDL",
"Snapshot=t1159344284.inf",
BEGIN_ARGUMENTS,
"strApplyNum=auto string",
END_ARGUMENTS,
BEGIN_RESULT,
END_RESULT,
LAST);
lr_think_time(3);
return 0;
}
运行的时候出现错误:
vuser_init.c(4): web headers not matching emulated client removed.
vuser_init.c(4): Error: server returned an incorrectly formatted SOAP response
vuser_init.c(4): Error: web_service_call "DeletePatBloodCapacity_101" execution failed
Abort was called from an action.
然后我打开日志开关,看到日志中有这样的信息:
...
vuser_init.c(4): Notify: Saving Parameter "response = <?xml version="1.0" encoding="zh_cn"?><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><DeletePatBloodCapacityResponse xmlns="http://tempuri.org/"><DeletePatBloodCapacityResult>0</DeletePatBloodCapacityResult></DeletePatBloodCapacityResponse></soap:Body></soap:Envelope>"
...
WebService一般都使用UTF-8编码的,我的也是,可为什么系统在保存参数值的时候,会将编码改为“zh_cn"?我试着吧这段文字复制出来成为一个文件,发现根本没有"zh_cn"这个编码格式。我不知道系统怎么会改过来的?
对于这个问题,网上提的人也很多,但是说法都不一样,有的说是Soap_header的原因,需要添加一个,有的说是Runtim Setting中设置一下,有的说是调用Soap的参数顺序出现问题,还有的说是8。0的一个Bug,需要一个补丁……
希望碰到这方面问题的高手能给我解答一下,小弟这个急啊 |
|