背景:我继承了两个网络服务项目,这两个项目由同一个承包商开发。我继承了两个Web服务项目,它们是由同一个承包商开发的。
问题:其中一个项目的WSDL文件可以加载到SoapUI中生成测试套件,但另一个项目却不能。我认为第二个项目不能生成测试套件是因为它在指定操作时没有引用 "soap:operation"。
这里是WSDL中导入SoapUI的API方法的声明。
<wsdl:operation name="getDutyPreferences">
<soap:operation soapAction="http://tempuri.org/IRT2015WS_Web/getDutyPreferences" style="document"/>
<wsdl:input>
<soap:body use="literal"/>
</wsdl:input>
<wsdl:output>
<soap:body use="literal"/>
</wsdl:output>
</wsdl:operation>
而这里是WDSL的声明,它不能导入SoapUI。
<wsdl:operation name="Login">
<wsdl:input wsaw:Action="http://tempuri.org/IRT2015WS_Web/Login" message="tns:IRT2015WS_Web_Login_InputMessage"/>
<wsdl:output wsaw:Action="http://tempuri.org/IRT2015WS_Web/LoginResponse" message="tns:IRT2015WS_Web_Login_OutputMessage"/>
</wsdl:operation>
这两个WSDL都是从以下网站下载的 http:/localhost:{端口}SERVICE_NAME.svc?wsdl
有谁知道为什么这些方法有如此不同的声明?
更新我注意到,在工作的 WSDL 文件中,元素(我需要看到的)在元素中:在有问题的文件中,这个元素不见了。 我已经更新了问题标题以反映这一点。