我是.NET世界的新手,但必须使用VStudio C#2010(.NET 4.0)来生成以SOAP Xml方式从Web服务请求数据的客户端.我在这里寻找答案,但更加困惑. MSDN表示“构建
XML Web服务客户端”是.NET 4.0的遗产,即WSDL是遗留的.他们说,使用“WCF”.
在WCF我迷路了 – 太多太模糊了.它必须更简单……
我可以在网上找到所有的例子 – 他们都使用WSDL,“遗产”.
在WCF我迷路了 – 太多太模糊了.它必须更简单……
我可以在网上找到所有的例子 – 他们都使用WSDL,“遗产”.
以下是为了从Web服务获取数据而需要使用的服务的定义:
请求:
POST /catalog.asmx HTTP/1.1 Host: www.somewebsite.com Content-Type: text/xml; charset=utf-8 Content-Length: length SOAPAction: "https://www.somewebsite.com/Keywordsearch" <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <Keywordsearch xmlns="https://www.somewebsite.com/"> <searchTerm>string</searchTerm> <resultsReturned>int</resultsReturned> </Keywordsearch> </soap:Body> </soap:Envelope>
响应:
HTTP/1.1 200 OK Content-Type: text/xml; charset=utf-8 Content-Length: length <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> ...some stuff... </soap:Body> </soap:Envelope>
那么,构建这个简单客户端的正确方法,或者至少是最合理的方式是什么?您会向新手建议哪些工具/库/方法(假设是VS 2010 C#,.NET 4.0环境)?
如果您有一个WSDL / XSD来描述该服务,或者您可以导航到URL来获取该元数据,那么使用basicHttpBinding的WCF可能是您最好的选择. WSDL绝对不是“遗留” – 如果有任何遗产,那么它就是ASP.NET / ASMX webservices.
给定一个WSDL / XSD或您可以连接到的URL,只需从Visual Studio中执行添加服务引用,您就应该立即启动并运行调用您的WCF服务 – 相信我!您不需要知道所有WCF只是为了调用一个简单的SOAP Web服务….而且,使用WCF 4.0,许多东西 – 特别是配置 – 已经大大改进和简化.
至于资源:MSDN WCF Developer Center有从初学者的教程到文章和示例代码的所有内容.
另外,请查看screen cast library up on MSDN,了解一些非常有用的10-15分钟信息块,其中包含与您可能感兴趣的WCF相关的任何主题.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。