WSDL- first方法,不是部署相同的WSDL

本文关键字:WSDL 部署 first 方法 WSDL- | 更新日期: 2023-09-27 17:52:37

这是我的方法(如果我做错了什么,不要犹豫告诉我):

-写XSD文件定义我的对象

) WSCF。根据xsd生成WSDL

) WSCF。生成Web服务代码

—实现存根并公开SVC

到目前为止,我没有遇到任何问题。我可以通过浏览器访问。svc文件。但问题是部署的WSDL与设计的WSDL不一样。

当我尝试以SOAP UI和设计的WSDL作为源测试服务时,由于WSDL不同,测试失败了。当我尝试部署的时候,它工作得很好。

当我试图用设计的WSDL(使用SvcUtil.exe)生成客户端(控制台应用程序)时,结果相同:它以同样的方式失败(EndpointDispatcher异常处的ContractFilter不匹配)。我添加了一个服务引用

我不会开发客户端,但是他们会开发我必须先给他们的WSDL。是否有一种方法可以使用设计好的WSDL,或者我必须给他们部署好的WSDL ?

提前感谢。

请原谅我的英语,我的母语不是英语。

WSDL- first方法,不是部署相同的WSDL

是的,您可以像这样公开自己的wsdl(使用来自wscf的示例数据)。蓝色演练),其中externalMetadataLocation是重要的部分:

  <system.serviceModel>
    <behaviors>
      <serviceBehaviors>
        <behavior name="MyBehavior">
          <serviceMetadata httpGetEnabled="true" externalMetadataLocation="../ContractMetaData/RestaurantService.wsdl"/>
        </behavior>
      </serviceBehaviors>
    </behaviors>
    ...
    <services>
      <service name="RestaurantService.RestaurantService" behaviorConfiguration="MyBehavior">
        ...
      </service>
    </services>
  </system.serviceModel>

但是我没有任何运气使这个工作与"添加服务引用"相结合。VS不断生成与wscf.blue.

生成的web服务不兼容的代码