|
问个问题。目前我正在录制silverlight脚本,但是我访问是web模式的,不是你文档中提到的c/s模式。
录制的时候是这样设置的:
silverlight的客户端就是图中的http://172.18.11.22:9997/
录制完脚本后我发现个问题,以登录为例脚本如下:
lr_start_transaction("登录");
lr_think_time(40);
web_add_header("Content-Type", "text/xml; charset=utf-8");
silverlight_soap_request("StepName=Invoke",
"URL=http://172.18.11.22:9997/ChannelService.svc",
"SOAPEnvelope=<?xml version=\"1.0\" encoding=\"GBK\" standalone=\"no\"?"
"><s:Envelope xmlns:s=\"http://schemas.xmlsoap.org/soap/envelope/\"><s"
":Body><Invoke xmlns=\"http://tempuri.org/\"><parameter"
">PE5ldERhdGFQYWNrYWdlIHhtbG5zOmk9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU"
"2NoZW1hLWluc3RhbmNlIiBpOnR5cGU9IlJlZ2lzdGVyU2Vzc2lvbkRhdGFQYWNrYWdlIiB"
"4bWxucz0iaHR0cDovL3NjaGVtYXMuZGF0YWNvbnRyYWN0Lm9yZy8yMDA0LzA3L1h5c01lZ"
"GljYWwuQ29tbW9uIj48T3JnYW5pemF0aW9uSUQ+"
"PC9Pcmdhbml6YXRpb25JRD48UGFzc3dvcmQ+"
"MTIzPC9QYXNzd29yZD48U2VjdXJpdHlLZXk+"
"NjJlMGRiMTUtMzdlZC00ZWY0LWI2MTMtMDkzYzg0ZjY0ZTJkPC9TZWN1cml0eUtleT48U2"
"Vzc2lvbklEPjYyZTBkYjE1LTM3ZWQtNGVmNC1iNjEzLTA5M2M4NGY2NGUyZDwvU2Vzc2lv"
"bklEPjxVc2VySUQ+aHM8L1VzZXJJRD48L05ldERhdGFQYWNrYWdlPg==</parameter></"
"Invoke></s:Body></s:Envelope>",
"Snapshot=t3.inf",
"ResponseParam=response",
LAST);
web_url("XysWPacs.SL.Desktop.xap",
"URL=http://172.18.11.22:9997/ClientBin/XysWPacs.SL.Desktop.xap",
"Resource=1",
"RecContentType=application/x-silverlight-app",
"Referer=http://172.18.11.22:9997/ClientBin/XysMedical.SL.Shell.xap",
LAST);
lr_end_transaction("登录",LR_AUTO);
如脚本所示:</parameter>这个参数中保存着通过soap传输的序列化后的账号密码和动态的请求序列号,开发把这三个数据序列化后传给服务端。。。
为了数据的安全所有的silverlight客户端传给服务端的数据都是这样的一个序列包,无法分别那个是password,那个是password的value
第一个问题:这类数据如何进行参数化和关联。。。貌似服务器返回的也是这个一大坨东西
第二个问题:回放的时候报错
vuser_init.c(65): SOAP 请求 "Invoke" 已启动
vuser_init.c(65): Warning: 服务器已返回 HTTP 状态代码 500
vuser_init.c(65): Error: SOAP 错误的原因为: "The message with Action '' cannot be processed at the receiver, due to a ContractFilter mismatch at the EndpointDispatcher. This may be because of either a contract mismatch (mismatched Actions between sender and receiver) or a binding/security mismatch between the sender and the receiver. Check that sender and receiver have the same contract and the same binding (including security requirements, e.g. Message, Transport, None)."
vuser_init.c(65): Error: SOAP 请求 "Invoke" 执行失败
vuser_init.c(65): 通知: 事务 "登录" 以 "Fail" 状态结束 (持续时间: 0.7848 浪费的时间: 0.0548)。
从操作调用了中止。
请求解答。。。 |
|