WCF无法导入WSDL

时间:2015-01-02 19:35:16

标签: wcf serialization wsdl

我正在尝试使用WCF“添加服务引用”到以下wsdl:https://se-face-webservice.redsara.es/sspp?wsdl

visual studio不提供任何警告,但reference.cs为空,没有进行序列化。

我已经尝试删除“在指定的引用程序集中重用类型”,但是序列化仍然会失败。

如果我尝试使用WcfTestClient添加服务,则会出现错误,指出:“http://schemas.xmlsoap.org/soap/encoding/Array”未定义。

最后,当我通过“添加Web引用”添加wsdl时,会发生序列化。我猜这个服务可能正在使用“未知”绑定到WCF。

这种情况有解决方法吗?

PS:如果我使用SoapUI生成客户端,一切正常。

2 个答案:

答案 0 :(得分:0)

您的WSDL有问题。它定义前缀soap-enc,但不定义定义它的模式。 WSDL假设自动定义了http://schemas.xmlsoap.org/soap/encoding/模式。

也许这项服务是建立在旧版本的Axis之上的?我已经看到该版本假设消费者也是建立在Axis上的。

答案 1 :(得分:0)

我已经尝试使用旧的wsdl.exe来生成使用System.Web.Services的Web服务引用,并且似乎工作 - 至少生成和编译: - )

你可以查一下吗?链接到bitbucket上的项目。只是简单的控制台应用程序,包含引用和生成的程序集。

https://bitbucket.org/polacekpavel/servicestack_27747564/src

有趣的一个 - 生成代理类https://bitbucket.org/polacekpavel/servicestack_27747564/src/c43b90221fae7ceb2e234552b9f57034551b3cbf/SSPPWebServiceProxyService.cs?at=master