11

我有一个支持 Silverlight 的 WCF 服务的网站。该服务运行良好,我可以毫无问题地在浏览器中浏览到 WSDL 页面。

现在,我正在尝试在 DLL 中创建客户端。不过,我需要以编程方式创建整个客户端,因为它是在 DLL 中调用的,无论出于何种原因(通过设计?),它都不会从自己的配置文件中读取 ServiceModel 部分。

所以这是我的代码:

Dim endp As EndpointAddress = New EndpointAddress("http://www.mydomain.com/licensing/lic.svc")
Dim bind As WSHttpBinding = New WSHttpBinding()
Dim svc = New lnt.licClient(bind, endp)
Dim rsp = svc.CheckIt(key)

但是当我调用 svc.CheckIt 方法时,出现以下错误:

Content Type application/soap+xml; charset=utf-8 was not supported by service http://www.mydomain.com/licensing/lic.svc. 
The client and service bindings may be mismatched.
{"The remote server returned an error: (415) Cannot process the message because the content type 'application/soap+xml; charset=utf-8' was not the expected type 'application/soap+msbin1'.."}

如何正确创建我的客户,以便这些正确“匹配”?
提前致谢!!!

4

3 回答 3

11

啊——找到了。网站中的ServiceModel部分web.config设置为customBinding。对其进行了更改,使其与客户端发送的内容相匹配,现在它运行良好。

于 2009-10-30T16:52:00.300 回答
3

我遇到了同样的问题。更具体地说,我的修复是更新我正在使用的绑定类型。我正在使用wsHttpBindings而不是basicHttpBindings. 这导致失败,因为在使用 SOAP 1.1 时使用wsHttpBindingsSOAP 1.2,而basicHttpBindings我使用的服务需要 SOAP 1.1

于 2011-12-08T18:37:36.267 回答
0

我有同样的错误。服务正在编译,客户端应用程序也在编译。客户端应用程序中的服务引用已成功更新引用。我已经尝试再次删除和添加参考,但没有帮助。问题出在 Web 服务中已删除的接口中。

于 2013-01-06T17:50:40.473 回答