2014-05-13 60 views
10

在SSIS中,我已經有一個使用WSDL發送SMS的Web服務任務。我確實能夠使用此任務發送短信。爲Web服務任務創建複雜類型變量

欲供給的值從數據庫中,如手機號碼,郵件正文,用戶ID等。此任務

如何創建可作爲輸入被傳遞到一個複雜的類型的用戶變量Web服務任務?

+0

是的。找到一個可以幫你做到這一點的Web服務,獲取它的WSDL並進行操作。當你有問題發回。 –

+0

使用wsdl它爲我工作,但是,我想給值的屬性作爲SSIS變量! –

+0

發佈您到目前爲止所嘗試的內容。你應該能夠在運行時使用表達式來改變各種事物,但是一些組件不能很好地支持這一點。您可能需要改用腳本任務。 –

回答

0

看起來唯一的答案是將Web服務更改爲僅接受簡單類型作爲參數。我瀏覽了網頁,似乎沒有辦法通過Web服務任務中的輸入值動態創建用於消費的複雜類型。

0

更簡單的方法是使用腳本組件繞過變量到Web服務。檢查http://amolpandey.com/2016/09/26/ssis-script-task-to-obtain-geo-cordinates-from-address-text-via-google-api/ & http://www.sqlmusings.com/2011/03/25/geocode-locations-using-google-maps-v3-api-and-ssis/。 測試和工作。使用此任務可以繞過SSIS變量/參數。 示例:使用執行SQL任務從表中獲取ID,addreess,zipcode,city,country。更改結果集:常規選項卡上的完整結果集。然後在結果集選項卡上添加Result_Name:0 & Variable_Name:User :: YourObject。然後下一個任務將是一個Forlooptask編輯器(Foreach ADO Enumerator,Collection選項卡 - Ado對象源變量:User :: YourObject,枚舉模式:第一個表中的行,變量Mapping選項卡 - 變量User :: Id,0 |地址, 1等)。在Forlooptask編輯器中添加一個數據流任務,該任務的源將是一個腳本組件。如果您對自己的邏輯更具體,我們可能會爲您提供更多幫助。