iT邦幫忙

DAY 7
4

鐵之 Just Do Lotus Notes系列 第 7

使用Web Service取得即時匯率

一般比較大跟金融或貿易有關的公司都需要有匯率資訊,但是如果要手動去抓取不但讓費時間及人力而且有KEY 錯的問題,以下範例就可以抓取當天的即時匯率.
一般比較大跟金融或貿易有關的公司都需要有匯率資訊,但是如果要手動去抓取不但讓費時間及人力而且有KEY 錯的問題,以下範例就可以抓取當天的即時匯率.
Web Service目前已在個應用系統中慢慢的被應用了我們這次的範例也是使用Web Service來撰寫,這次我們使用Agent當成Web Service Requester(也可直接用Notes Client不連接Notes Server即可是用)設定成每五分鐘定時觸發取得當時的匯率資訊,此次技術是直接使用SOAP Toolkit 3.0來達成的.

步驟01:到網站下載SOAP Toolkit 3.0工具來安裝.

下載 SOAP Toolkit 3.0頁面 並安裝 或 直接下載 SOAP Toolkit 3.0
步驟02:安裝SOAP Toolkit 3.0





步驟03:尋找提供匯率轉換的Web service 網站的WSDL 如

http://www.webservicex.net/CurrencyConvertor.asmx?WSDL

步驟04:撰寫取得匯率程式

%REM 
    Agent GetQuote 
    Created 2011/9/9 by KAKASHI 
    Description: 使用Web Service取得即時匯率 
%END REM   
Option Public  
Option Declare  
Sub Initialize  
      
	    Dim Client As Variant  
	    Dim sWSDL As String,result As String,ListName As String  
	    Dim session As New NotesSession  
	    Dim db As NotesDatabase  
	    Dim doc As NotesDocument  
	    Set db = session.CurrentDatabase  
	    Set doc = db.CreateDocument  
	    sWSDL ="http://www.webservicex.net/CurrencyConvertor.asmx?WSDL"  
	      
	    Set Client =CreateObject("MSSOAP.SoapClient30")  
	    Call Client.mssoapinit (sWSDL)  
	      
	    doc.Form="Rate"  
	    doc.FromCode="USD"  
	    doc.ToCode="TWD"  
	    ListName="USD->TWD"  
	             
	    result  = Client.conversionRate(doc.FromCode(0),doc.ToCode(0))  
	    doc.Rate=result  
	    doc.Time=Now()  
	    Call doc.Save(True,False)  
	      
	    Print ("查詢 結果: " +ListName & " "& result)       
	          
	    Set Client=Nothing  
	End Sub  

步驟05:執行程式結果畫面.


上一篇
小組件工具列安裝方式以Teamstudio為例
下一篇
Using JavaScript to get the path
系列文
鐵之 Just Do Lotus Notes41

1 則留言

0
jay101
iT邦新手 5 級 ‧ 2012-10-02 08:38:36

請問一下,如果使用這個tool和LotusNotes內建的"WebService 使用者" 會有什麼差異嗎?

jay101

先跟您簡單回答一下 LotusNotes內建的"WebService 使用者"
是後來才有的所以不是較新的版本就不能使用,還是需使用本文章的方式
另外次文章的方式在各系統都可應用撰寫資源較多方法也容易.
內建的"WebService 使用者" 有機會再寫文章跟大家分享.
希望您也可以一起跟大家分享囉.
有空也可以留個聯絡方式以後 多多交流.

我要留言

立即登入留言