我正在嘗試我的第一個WCF程序,並使用SoapUI模仿第三方的主機。我有一個根本性的問題以及一個編程問題,假設我對我的第一個問題的假設是正確的。使用SoapUI進行WCF編程
基本問題這個第三方給了我他們的.wsdl我能夠加載到SoapUI中。我的假設是,在SoapUI中使用他們的Web服務定義語言 - SoapUI正在嘲笑他們實際的服務,而這些服務將在稍後發佈。 所以我應該使用我的Windows服務作爲'客戶'發送消息到SoapUI,對不對?
背景信息:我的Windows服務最終需要能夠發送肥皂消息到這個坐在不同服務器上的主機服務。我還需要託管自己的WCF服務,以便第三方服務可以在需要時向我發送消息。 - 但我會處理一旦我完成了客戶端部分
另一個問題:我在MSDN上看到的所有示例都使用WCF庫。還有WCF服務應用程序項目類型。 哪一個適合我想要做的?
過程我在我的解決方案中有一個Windows服務。然後我添加了一個WCF服務應用程序,並在我的Windows服務中引用了我的新Web服務中添加了一個服務引用。 我甚至需要爲SoapUI實際發送消息做到這一點嗎?我想我只需要爲我從他們的(第三方)服務接收消息而託管這個WCF服務。
如果我對此正確,我只需要製作一個WCF客戶端。 但是,在MSDN上的示例中。他們的解決方案有一個客戶端/主機/和WCF庫。並且在客戶端中有對WCF Lib的引用。然後,它實例化「圖書館的客戶端」
Sub Main()
' Step 1: Create an instance of the WCF proxy
Dim Client As New CalculatorClient()
'Step 2: Call the service operations.
'Call the Add service operation.
Console.WriteLine("******** This is the Client **********")
Console.WriteLine("Enter a Double")
Dim value1 As Double = Console.ReadLine()
Console.WriteLine("Enter another Double")
Dim value2 As Double = Console.ReadLine()
Dim result As Double = Client.Add(value1, value2)
Console.WriteLine("Add({0},{1}) = {2}", value1, value2, result)
'Call the Subtract service operation.
result = Client.Subtract(value1, value2)
Console.WriteLine("Subtract({0},{1}) = {2}", value1, value2, result)
'Call the Multiply service operation.
result = Client.Multiply(value1, value2)
Console.WriteLine("Multiply({0},{1}) = {2}", value1, value2, result)
'Call the Divide service operation.
result = Client.Divide(value1, value2)
Console.WriteLine("Divide({0},{1}) = {2}", value1, value2, result)
' Step 3: Closing the client gracefully closes the connection and cleans up resources.
Client.Close()
Console.WriteLine()
Console.WriteLine("Press <ENTER> to terminate client.")
Console.ReadLine()
End Sub
所以這讓我相信,即使我不是從第三方服務接收消息規劃的新實例,我仍然需要到主機一個WCF服務,所以我可以添加服務引用到我的Windows服務,所以我可以實例化一個客戶端併發送消息到第三方服務,這是否正確?