2009-08-08 94 views
4

我是WCF品牌的新成員,對Web服務的編碼經驗有限。是WCF用於構建使用非WCF Web服務的客戶端嗎?

在工作中,已經決定使用WCF處理所有面向網絡服務的事務。我需要做的工作涉及使用Netscape證書服務器和相關基礎結構(該服務不在我們的控制範圍內)查詢顯然建立在Java中的非WCF Web服務。我有Web服務的WSDL。

  1. WCF是否將任何值添加到此作業?

  2. 針對非WCF服務構建WCF客戶端是否合理,正常或最佳做法?

  3. 任何人都可以提供任何建議嗎?

謝謝!

回答

4

是的,WCF客戶端可以針對使用其他技術或平臺創建的Web服務。這很常見。使用Visual Studio,可以從WSDL爲您生成客戶端代理代碼,並且可以像調用本地代碼一樣調用遠程服務。

不拉一個無恥的插件,這是一個WCF client calling the Amazon S3 web service的樣本,這當然不是用.NET構建的。

  1. 添加服務引用到web服務,通​​過在WSDL URL指向的Visual Studio:創建一個WCF客戶端時的示例演示了一個典型的工作流程。您無需在此步驟中編寫任何代碼。

  2. 從您的代碼中調用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); 
    } 
} 
+0

1:在一個無恥的插頭沒有羞恥:漂亮的企鵝 2 - ) 3:非常感謝您的幫助,這看起來像我需要去的方向 – Jay 2009-08-09 04:34:19