SOAPUI MockService:参数的WSDL验证?

时间:2014-07-16 13:55:19

标签: php soapui

我可以在网上找到我的问题的答案,所以我会问你们。

我使用此WSDL定义的副本(http://www.webservicex.com/globalweather.asmx?WSDL)为SoapUI 5.0配置了一个MockService。

我不能用PHP SoapClient测试MockService就好了:

        ini_set("soap.wsdl_cache_enabled", 0);
        $client = new \SoapClient("http://172.20.1.52:8088/mockGlobalWeatherSoap?WSDL", array('trace' => 1));
        $response = $client->__soapCall('GetCitiesByCountry', array());

但是,我开始使用定义来确保某些方法的强制参数。

例如,我想确保CountryName是GetCitiesByCountry()方法的必需参数:

  <s:element name="GetCitiesByCountry">
    <s:complexType>
      <s:sequence>
        <s:element minOccurs="1" maxOccurs="1" name="CountryName" type="s:string" />
      </s:sequence>
    </s:complexType>
  </s:element>

但是,无论我在SoapUI上投掷什么,我的MockService总会向我发送正确的回复,指示是否已提供参数。

有人可以解释一下,如何确保SoapUi中WSDL文件中描述的基本验证?

我已经花了几个小时在互联网上找不到任何相关的答案。

非常感谢,亲切的问候,

R上。

PS:我在SoapUI中尝试了同样的事情,发送了一个缺少参数的虚拟肥皂请求,但SoapUI并不关心并向我发回回复。

1 个答案:

答案 0 :(得分:0)

SoapUI模拟模拟WSDL中的内容。它只会模拟一个响应。您必须配置SoapUI以模拟所需的特定响应。

您是否尝试过SoapUI文档? http://www.soapui.org/Service-Mocking/simulating-complex-behaviour.html