【发布时间】:2015-08-12 02:17:42
【问题描述】:
我在泡菜。 我觉得我想要实现的目标有一个简单的解决方案,但我不知道如何去做。
基本上,我正在建立一些模拟 Soap 服务。 我想用传入的内容回显更新调用。
我的请求如下所示:
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Header xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"/>
<soap:Body>
<ns2:setEvents xmlns:ns2="http://example.com/eventingservices" xmlns:ns3="http://example.com/eventing/sdo">
<setEventsRequest>
<SystemCode>ABC</SystemCode>
<Event>
<EventTypeCode>01</EventTypeCode>
</Event>
<Event>
<EventTypeCode>04</EventTypeCode>
</Event>
</setEventsRequest>
</ns2:SetEvents>
</soap:Body>
</soap:Envelope>
然后我想简单地将事件列表转移到响应中。它们与请求具有相同的属性。
典型的响应如下所示:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Header xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"/>
<soapenv:Body>
<qu:setEventsResponse xmlns:qu="http:/example.com/eventingServices">
<setEventsResponse>
<Event>
<EventTypeCode>01</EventTypeCode>
</Event>
<Event>
<EventTypeCode>04</EventTypeCode>
</Event>
</setEventsResponse>
</qu:setEventsResponse>
</soapenv:Body>
</soapenv:Envelope>
我尝试使用以下 Groovy 脚本,将响应中的事件替换为 ${events}:
def groovyUtils = new com.eviware.soapui.support.GroovyUtils(context)
def holder = groovyUtils.getXmlHolder(mockRequest.requestContent)
def events = String.valueOf(holder.getNodeValues("//Event"))
context.setProperty("events", events);
我也试过上面没有做串的。无济于事。
请帮帮我。 如果我能让这该死的东西起作用,我会给你买啤酒!
【问题讨论】:
-
我今天要测试一下......过去几周我一直没有和新生儿一起行动!我会及时通知你的!
-
万岁!胜利!感谢您的输入。我欠你那杯啤酒……
-
恭喜你的新生儿:),很高兴帮助你!