【发布时间】:2023-03-29 02:24:01
【问题描述】:
背景:我继承了两个由同一个承包商开发的 Web 服务项目。
问题:项目的 WSDL 文件之一加载到 SoapUI 以生成测试套件,但另一个没有。我认为第二个没有,因为它在没有引用“soap:operation”的情况下指定了它的操作。
以下是导入到 SoapUI 的 WSDL 中的 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:{port}/SERVICE_NAME.svc?wsdl 下载的
有谁知道为什么这些方法有如此不同的声明?
更新 我注意到元素(这是我需要看到的)在工作 WSDL 文件的元素中:在有问题的文件中,这个元素丢失了。我已更新问题标题以反映这一点。
【问题讨论】:
标签: visual-studio wcf soap wsdl