wcf开发的服务,如何自动生成客户端代码?
wcf开发的一个服务,在开发期间,能使用引用web服务,输入http://localhost:9088/Services/MyServices.mvc地址,能自动生成客户端所需的代码文件与配置文件。
但是当我把它布署到服务器使用正式的域名后,用vs.net引用web服务,
则不能生成客户端代码,直是郁闷,不知道是不是哪里配置的问题,或用什么其他方法?
使用 svcutil.exe http://www.MyDomain.com/Services/MyServices.svc?wsdl 也不能生成代码
提示:
WS-Metadata Exchange 错误
URI: http://www.MyDomain.com/Services/MyServices.svc?wsdl
元数据包含无法解析的引用:“http://www.MyDomain.com/Services/MyServices.svc?w
sdl”。
服务 http://www.MyDomain.com/Services/MyServices.svc?wsdl 不支持内容类型 app
lication/soap+xml; charset=utf-8。客户端和服务绑定可能不匹配。
远程服务器返回错误: (415) Cannot process the message because the content typ
e 'application/soap+xml; charset=utf-8' was not the expected type 'text/xml; cha
rset=utf-8'.。
HTTP GET Error
URI: http://www.MyDomain.com/Services/MyServices.svc?wsdl
理解了文档内容,但无法进行处理。
- WSDL 文档包含无法解析的链接。
- 此 XML 文档中禁用 DTD。
如果希望获取更多帮助,请键入“svcutil /?”
[解决办法]
在vs2008命令提示符下,输入svcutil /d:<YourClientPath> /o:proxy.cs /config:app.config<YourClientPath>\*.wsdl <YourClientPath>\*.xsd
这样就会在客户端生成一个proxy.cs和app.config文件,将这两个文件添加到客户端项目中
[解决办法]
'application/soap+xml; charset=utf-8' 是 soap 1.2
text/xml 是soap 1.1
如果你用传统的 webserver 要修改 soap 消息的 版本, 如果你用的为 wcf 则要修改相应的binding
[解决办法]
svcutil.exe http://www.MyDomain.com/Services/MyServices.svc?wsdl 也不能生成代码
可能你的配置有问题