我是WCF的新手,并且对Web服务的编码经验有限。
在工作中,它被指示使用WCF来实现面向网络服务的一切。我需要做的工作包括使用Netscape证书服务器和相关基础架构查询非WCF Web服务(显然是用Java构建)(该服务不在我们的控制之下)。我有Web服务的WSDL。
WCF是否为此作业添加任何值?
针对非WCF服务构建WCF客户端是合理,正常还是最佳做法?
有人可以提供任何建议吗?
感谢!!!
答案 0 :(得分:4)
是的,WCF客户端可以使用其他技术或平台创建的Web服务。这很常见。使用Visual Studio,可以从WSDL为您生成客户端代理代码,并且可以像调用本地代码一样调用远程服务。
不要使用无耻的插件,这是一个WCF client calling the Amazon S3 web service的示例,当然不是用.NET构建的。该示例演示了创建WCF客户端时的典型工作流程:
通过将Visual Studio指向WSDL URL,将服务引用添加到Web服务。您不必在此步骤中编写任何代码。
从您的代码中调用Web服务。在下面的代码中,AmazonS3Client类是由Visual Studio在上面的步骤1中创建的。键入client.ListAllMyBuckets以获取该服务时,您将获得完整的智能感知。
static void Main(string[] args) {
DateTime now = LocalNow();
// create the web service client object
AmazonS3Client client = new AmazonS3Client();
// invoke the web service
var result = client.ListAllMyBuckets(
accessKeyId,
now,
SignRequest(secretAccessKey, "ListAllMyBuckets", now));
// show the results returned from the web service
foreach (var bucket in result.Buckets) {
Console.WriteLine(bucket.Name);
}
}
答案 1 :(得分:0)
请参阅http://justcompiled.blogspot.com/2010/10/building-web-service-client-with-wcf.html上发布的文章,主题为使用WCF构建Web服务客户端