51Testing软件测试论坛
标题:
LR 如何发送xml 格式的数据到 severlet。
[打印本页]
作者:
mars
时间:
2012-4-17 11:28
标题:
LR 如何发送xml 格式的数据到 severlet。
以前都是用Jmeter的xml-rpc request 方式做性能测试,最近想用LR来做做,查到网上说使用web_custom_request来发送请求,照着写了一下代码如下:
char c_myxml[2000];
char myxml[]="";
strcat(myxml," <soap11:Envelope xmlns=\"http://www.derbysoft.com/dswitch/ari\" xmlns:soap11=\"http://schemas.xmlsoap.org/soap/envelope/\">");
strcat(myxml,"<soap11:Body>");
strcat(myxml,"<GetChangeRequest Token=\" \">");
strcat(myxml,"<Contract ChannelCode=\"Bookingcom\" SupplierCode=\"IHG\"/>");
strcat(myxml,"<RetrieveChangeCriterion>");
strcat(myxml,"<RetrieveChangeCriteria HotelCode=\"DSIHG109802\" Since=\"2012-04-11T00:00:00\" Type=\"Change\">");
strcat(myxml,"<DateSpan Start=\"2012-03-01\" End=\"2012-06-01\"/>");
strcat(myxml,"</RetrieveChangeCriteria>");
strcat(myxml,"</RetrieveChangeCriterion>");
strcat(myxml,"</GetChangeRequest>");
strcat(myxml,"</soap11:Body>");
strcat(myxml,"</soap11:Envelope>");
web_custom_request("ihgplugin",
"Method=POST",
"RecContentType=text/xml",
"EncType=text/xml; charset=utf-8",
"url=http://IP/test/retrieve",
myxml,
LAST);
复制代码
在运行时总是提示如下错误:
Action.c(16): Error -27226: The
"<soap11:Envelope xmlns="
http://www.derbysoft.com/dswitch/ari
" xmlns:soap11="
http://schemas.xmlsoap.org/soap/envelope/"><soap11:Body><GetChangeRequest
Token="ec24db7b-474d-4467-afc8-88e8273be4dc"><Contract ChannelCode="Bookingcom" SupplierCode="IHG"/><RetrieveChangeCriterion><RetrieveChangeCriteria HotelCode="DSIHG109802" Since="2012-04-11T00:00:00" Type="Change"><DateSpan Start="2012-03-01" End="2012-06-01"/></RetrieveChangeCriteria></RetrieveChangeCriterion></GetChangeRequest></soap11:Body></soap11:Envelope>"
argument (number 6) is unrecognized or misplaced [MsgId: MERR-27226]
如果吧myxml 换成如下填写
"Body=<soap11:Envelope xmlns=\"
http://www.derbysoft.com/dswitch/ari\
" xmlns:soap11=\"
http://schemas.xmlsoap.org/soap/envelope/\
">"
"<soap11:Body>"
"<GetChangeRequest Token=\"ec24db7b-474d-4467-afc8-88e8273be4dc\">"
"<Contract ChannelCode=\"Bookingcom\" SupplierCode=\"IHG\"/>"
"<RetrieveChangeCriterion>"
"<RetrieveChangeCriteria HotelCode=\"DSIHG109802\" Since=\"2012-04-11T00:00:00\" Type=\"Change\">"
"<DateSpan Start=\"2012-03-01\" End=\"2012-06-01\"/>"
"</RetrieveChangeCriteria>"
"</RetrieveChangeCriterion>"
"</GetChangeRequest>"
"</soap11:Body>"
"</soap11:Envelope>"
是能正常工作的,但是我希望把请求的数据放在外面,这样可以重复利用,便于管理。
请问我最上面的写法哪里不对导致的[MsgId: MERR-27226] 错误,该怎么修改,谢谢。
作者:
云层
时间:
2012-4-17 12:28
首先你应该把xml字符串放在参数里面,然后你可以参考lr_xml_系列函数来更新
作者:
mars
时间:
2012-4-17 17:22
云层,这个不可行。有可用的例子一贴便可,除非是你写的书的镇书之宝,要花钱。
作者:
云层
时间:
2012-4-17 17:33
认真看了一下你开始myxml 就拼错了,先要有body=开始的,而且注意引号
作者:
mars
时间:
2012-4-17 17:46
对了。我还想过这个Body是不是少了,但看了看网上别人的例子,好像没有写body,不过是人家写了,我没看到。浪费我1天时间鼓捣这玩意儿。鄙视自己。
谢谢,云层。
作者:
mars
时间:
2012-4-17 17:48
对了。我还想过这个Body是不是少了,但看了看网上别人的例子,好像没有写body,不过是人家写了,我没看到。浪费我1天时间鼓捣这玩意儿。鄙视自己。
谢谢,云层。
作者:
mars
时间:
2012-4-18 09:43
咋给分呢?没找到按钮呀
作者:
云层
时间:
2012-4-18 12:36
不用给分了,这东西没啥用
作者:
lsekfe
时间:
2012-4-19 09:28
回复
8#
云层
分多的人就这样说了!
作者:
mars
时间:
2012-4-19 11:06
回复
9#
lsekfe
你也很多铭牌呀
作者:
edisonzhang
时间:
2012-4-20 10:57
有没有个 可以测试的实例啊,我也想学习下
欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/)
Powered by Discuz! X3.2