在我看來,web服務是一種在一些應用程序之間創建鏈接的服務。我想要做的是將安裝在服務器上的C++程序調用到web服務中。在web服務中調用C++
但是我發現如何在C++程序中調用web服務,但這不是我正在尋找的。
你如何調用一個web服務的C++代碼(我正在使用VS2013順便說一句),是否與此相關。
在我看來,web服務是一種在一些應用程序之間創建鏈接的服務。我想要做的是將安裝在服務器上的C++程序調用到web服務中。在web服務中調用C++
但是我發現如何在C++程序中調用web服務,但這不是我正在尋找的。
你如何調用一個web服務的C++代碼(我正在使用VS2013順便說一句),是否與此相關。
所以我的問題是:你如何調用一個web服務的C++代碼(我使用VS2013順便說一句),這是相關的做到這一點。
Web服務是一種遠程訪問的服務,它可以發佈幾個「端點」。
每個端點都對應一個函數調用(可能用C++實現)。
要調用Web服務端點,必須以Web服務接受的格式(實際上這通常意味着生成包含參數值的SOAP/XML文檔)對端點的輸入參數進行序列化,然後將序列化的文檔發送到服務器。然後,服務器對參數進行反序列化,調用函數,序列化結果,並將其作爲響應發送。
Webservices通過另一個XML標準(稱爲WSDL)發佈其終結點(它們的可訪問/可調用的API),而公共Web服務通常列在公共目錄中。
爲此,您需要一個可在C++中使用的網絡庫(請參閱gSoap),或者在網絡庫頂部使用您自己的實現(請參閱boost :: asio)。
這取決於您的網絡服務使用哪種語言編碼。
如果是PHP,請參閱函數system來運行另一個程序,您可以使用任何您想要的語言(包括C++)來編寫代碼。
如果是Linux上的C/C++,請參閱函數fork/exec's以創建新進程並在該進程中運行另一個程序。
如果是C#,請參閱此tutorial on Process.Start。
如果是Python,請參閱標準庫中的subprocess package。無論如何,如果您的Web服務是使用C++編寫的,並且您要執行的代碼位於同一個程序中,那麼您可以在Web服務的方法中執行函數調用。
您必須通過Web套接字與該Web服務進行通信(並且同意協議)或通過其他Web服務/協議 –