Category Archives: Web Services

Run SSIS Services From Client Machine How to use SSIS WCF Services Part I—在客戶端中使用SSIS Services 怎樣使用SSIS WCF Services Part I

今日想在這裡和大家分享怎樣發佈 這個SSIS WCF Services
大家可以到CodePlex Download 這個Zip 檔案

http://ssisservices.codeplex.com/releases
Download 完成後我們可以把檔案解壓縮到一個地方儲存..
以備一會兒使用

以下這個例子是用Windows 7中的IIS 7.5 來做的
使用這個SSIS WCF Services 的 系統一定要已安裝 SSIS Services
因為我們需要通過這部電腦的 來執行SSIS Package

首先我們要在設定好IIS…
1) 我們可以 以”Start” -> “Control Panel” ->”Administrative Tools” ->”Internet Information Services (IIS) Manager”  我的這個例子是使用Windows 7 中的 IIS 7.5

2) 在” Default Web Site” 中 按右鍵 -> 選擇 ->”Add Application…/加入應用程式

3) 在”Add Application” 視窗 填入適當的資料 , “Physical Path…” 中選擇之前 “SSISServices.zip” Download 完成後解壓縮到的地方, 之後按 “OK/確定

4) 之後你便可以看到剛剛建立的”Web Application“, 按一下”Content View” 分頁

5) 選擇 “SSISServices.svc” 檔案後, 用右鍵 按一下 “Browse/瀏覽

6) 之後電腦便會在”瀏覽器“中把開這個SSIS WCF web services

7) 按一下WSDL 連結後便會看到 WSDL 的內容了

之後你便可以把 這個SSIS WCF Services 加進到你的 Project上使用了

Hope you find it useful

SSIS WCF Services on CodePlex — Execute SSIS Package Via Web Services

今日終於在CodePlex 上和大家分享了我第二個Project了
這個Project 是一個WCF Service, 如果執行 SQL Server Integration Services [SSIS] 的…
在大概一年多前才剛剛在朋友身上學會了使用 Data Transformation Services [DTS]
一個在SQL Server 2000 或之前版本的 SQL 功能
令我們可以寫一些DTS Package 之後在自己寫的.Net Application 上執行..
最好的地方是可以在客戶端執行..
又不需要客戶端的電腦上安全 SQL Server 2000 有關DTS 的元件
當然要在你的 Project 上的安裝包上做一些動作
令到 用戶在安裝程式時 把適當的 DLL 複製到客戶的系統中…
而我對DTS 的認識不多…
所以當公司升級了SQL ServerSQL Server 2008 之後我便開始使用 SSIS
誰不知…當我把 之前寫的DTS Package 轉成了SSIS
當我在客戶的電腦了執行這功能時便出現錯誤信息…
嘗試了很多方法也解決不了…
到最後有朋友說要在客戶的電腦上安裝 SSIS Service 才可以執行SSIS Package
又說不可以在客戶的電腦上安裝SSIS Service 因為版權問題 …ETC
Please correct me if my concept is wrong
所以最後便想到用WCF 的做法…
做一個服務端來解決 SSIS 的問題了..
如果大家遇到差不多的問題 可以嘗試用這個SSIS WCF Services 看看能不能解決你的問題
或者如果你有更好的解決方案..希望你能夠和我們分享
SSIS Service
ShareChiWaiLib
當我有空的時候會在程式碼中加入註解
和寫多一些文章關於怎樣使用這個 SSISServicesShareChiWaiLib
希望大家可以給我一點Feedback 令到這個2個Projects 更完美
Happy coding =)

The request channel timed out while waiting for a reply after 00:00:57.6118634. Increase the timeout value passed to the call to Request or increase the SendTimeout value on the Binding. The time allotted to this operation may have been a portion of a longer timeout.

I am working on a application, which need to consume a web-service which is provided by another company. When I try to make a Web-service request/RPC call, I have received a timeout exception from my application.
The request channel timed out while waiting for a reply after 00:00:57.6118634. Increase the timeout value passed to the call to Request or increase the Timeout value on the Binding. The time allotted to this operation may have been a portion of a longer timeout.

I guess, it is something to do with their web-service, E.g. the web service did not work properly and it used to work in Visual Studio 2005 [I am using Visual Studio 2008 for this application]. When I check the application config file. I have found something interesting, which is related with timeout. Then I have figured out what is causing the timeout exception. =).


Here it is my solution:
To resolve the timeout exception, you can simply increase the timeout value to a appropriate time, which will not affect the performance of your application. E.g. If you set the timeout value too high, when the web-service do gone down, your application will waste lots of time, because it think the web-service is doing something.

For my application, I have updated the timeout value to 3 minutes which is 00:03:00. [hh:mm:ss].

Hope you find it useful. =)

.Net Post XML via HTTPS Notes 1 [Convert XSD to .Net Class]

最近公司有一個project是要用另外一間公司的 XML Interface 既Webservice 去做exchange data.
其實只要這間公司提供WSDL 既Address 給我們
這個project 便很容易完成…
很可惜這間公司不願提供WDSL file
所以最後便要自己學怎樣在VB.Net 入面post XML 去HTTP 了

便這了這篇筆記了

還記得之前用WSDL時
當我Add 了Service Reference Visual Studio 便會自動產生了和這 Web service 有關的 .NET Object 和Connection End Point
一切都十分方便…

現在所有事都要自己Handle 感到有點煩惱…
等一個STEP 便是要找 方法把
Developer Guide 入面的XSD 轉做 .Net Object
或者你要自己寫一些CLASSES 出來
去做一些 function 可以return 到XML OUTPUT 可以Match 到
Developer Guide 入面你需要POST的 XML Rule.

以下是我的做法

首先你要找到這個XSD.EXE file
在我的電腦入面是在以下的directory
C:Program FilesMicrosoft SDKsWindowsv6.0ABin

或者你可以試試 SEARCH
xsd.exe” 之後copy 這個檔案去另一個location
或到”xsd.exe“後便用Command Prompt
[我將這個.EXE copy 到 裝有 xsd 檔案的 directory 入面 (這樣可以方便自己打小一些path)]

之後開啓command prompt
Start“-> “Run“-> Type “cmd” ->Press “Enter
在command prompt 入面
進入有 “xsd.exe” 的 directory 入面
之後打以下的Command 你便可以create 一個 class base on 這個xsd 檔案了
MyXMLObjNameSpace 是我想這個Class 用的namespace.
XMLToExampleCLass.xsd 是我轉的xsd file.
我用的 language 是 VB.NET

VB
xsd.exe –cl:vbn:MyXMLObjNameSpace XMLToExampleCLass.xsd

C#
xsd.exe -c -l:c# -n:MyXMLObjNameSpace XMLToExampleCLass.xsd

xsd.exe -c[-c mean general Class] -l:[Language Name e.g. c#/vb] -n:[Namespace] [XSD file name]

如果你的XSD 檔案不是 proper define command prompt 便會出示一些error message 說出那裡出現問題就好像下面一樣

這樣你便要看清楚你的XSD 檔案是否Well define 了

如果你的xsd 檔案是沒有問題
他便會出現…
Writing file “C:pathXMLToExampleCLass.vb”

當你完成之後只要COPY 這個VB 檔案到你的VB project
之後imports 這個namespace 你便可以使用這個class 了

E.G.
VB
Imports MyProgram.MyXMLObjNameSpace
C#
using MyProgram.MyXMLObjNameSpace;

Hope you find it useful.
如果你有更好的方法, 歡迎大家一齊來研究研究