婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > 利用Ruby的SOAP4R編寫SOAP服務器的教程

利用Ruby的SOAP4R編寫SOAP服務器的教程

熱門標簽:白銀外呼paas系統 湖州u友防封電銷卡 徐州網絡外呼系統哪個好 地圖標注賺錢項目注冊 高德地圖標注客服 滴滴外呼系統 電銷機器人廠商代理 百度地圖標注自定義圖片 常德電銷平臺外呼系統軟件價格

 什么是SOAP ?

簡單對象訪問協議(SOAP)是一個跨平臺和語言無關的,基于XML的RPC協議,通常(但不一定)是HTTP。

它使用XML來編碼信息使遠程過程調用,HTTP在網絡上從客戶機到服務器來傳輸信息,反之亦然。

SOAP有幾個優勢超過其他技術,如COM,CORBA等為例,其相對廉價的部署和調試成本,它的可擴展性和易于使用,存在幾種不同的語言和平臺實現。

請參閱出簡單的教程了解 SOAP

本教程將熟悉SOAP實現Ruby(SOAP4R)。這是一個基本的教程,所以如果需要深入細節,那么需要參考其他資源。
安裝SOAP4R:

SOAP4R是由Hiroshi Nakamura編定,可以直接從網上下載Ruby的開發的SOAP實現:

注意:有可能已經安裝了這個組件。

Download SOAP

如果知道 gem 實用工具,那么可以使用下面的命令安裝SOAP4R和相關包。

$ gem install soap4r --include-dependencies

如果是在Windows上工作,那么需要下載一個壓縮文件,從上面的位置,需要安裝它使用標準的安裝方法運行Ruby的 install.rb.
編寫SOAP4R服務器:

SOAP4R支持兩種不同類型的服務器:

  1.     CGI/FastCGI based (SOAP::RPC::CGIStub)
  2.     Standalone (SOAP::RPC:StandaloneServer)

本教程將詳細編寫一個獨立的服務器。涉及編寫SOAP服務器有以下步驟:
第1步 - 繼承SOAP::RPC::StandaloneServer 類:

要實現自己的獨立服務器,需要編寫一個新類,這將SOAP::StandaloneServer 類的子類,如下:

復制代碼 代碼如下:
class MyServer SOAP::RPC::StandaloneServer
  ...............
end

注意:如果想編寫一個基于FastCGI的服務器,那么需要繼承SOAP::RPC::CGIStub 類, 其余步驟將保持相同。
第2步 - 定義處理程序方法:

第二步是編寫Web服務方法,希望向外界公開。

它們可以寫成簡單的Ruby方法。例如,讓我們寫了兩個兩個兩個數相加,兩個數相除的方法:

class MyServer  SOAP::RPC::StandaloneServer
  ...............

  # Handler methods
  def add(a, b)
   return a + b
  end
  def div(a, b) 
   return a / b 
  end
end

第3步 - 暴露處理程序方法:

下一步是我們定義的方法添加到我們的服務器。 initialize方法用于暴露服務的方法,用以下兩種方法之一:

class MyServer  SOAP::RPC::StandaloneServer
  def initialize(*args)
   add_method(receiver, methodName, *paramArg)
  end
end

下面的參數說明:

 To understand the usage of inout or out parameters, consider the following service method that takes two parameters (inParam and inoutParam), returns one normal return value (retVal) and two further parameters: inoutParam and outParam:

def aMeth(inParam, inoutParam)
  retVal = inParam + inoutParam
  outParam = inParam . inoutParam
  inoutParam = inParam * inoutParam
  return retVal, inoutParam, outParam
end

現在,我們可以公開這個方法如下:

add_method(self, 'aMeth', [
  %w(in inParam),
  %w(inout inoutParam),
  %w(out outParam),
  %w(retval return)
])

第4步 - 啟動服務器:

最后一步是通過實例的派生類的一個實例,并調用start方法來啟動服務器。

myServer = MyServer.new('ServerName',
            'urn:ruby:ServiceName', hostname, port)

myServer.start

這是必需的參數的描述:

  例如:

現在使用上述步驟,讓我們寫一個獨立的服務器:

require "soap/rpc/standaloneserver"

begin
  class MyServer  SOAP::RPC::StandaloneServer

   # Expose our services
   def initialize(*args)
     add_method(self, 'add', 'a', 'b')
     add_method(self, 'div', 'a', 'b')
   end

   # Handler methods
   def add(a, b)
     return a + b
   end
   def div(a, b) 
     return a / b 
   end
 end
 server = MyServer.new("MyServer", 
      'urn:ruby:calculation', 'localhost', 8080)
 trap('INT){
   server.shutdown
 }
 server.start
rescue => err
 puts err.message
end

執行時,服務器應用程序開始一個獨立的SOAP服務在localhost上偵聽8080端口的請求。它暴露了一個服務方法:add 和 div ,這需要兩個參數并返回結果。

現在可以運行這個服務器后臺如下:

$ ruby MyServer.rb

編寫SOAP4R客戶端:

SOAP::RPC::Driver 類用于寫入SOAP客戶端應用程序提供支持。本教程將介紹這個類,顯示其使用的應用程序的基礎。

以下是最低要求的信息,需要調用SOAP服務:

  •     SOAP服務(SOAP端點URL)
  •     service方法(方法命名空間URI)
  •     service方法的名稱及其參數

現在我們將編寫一個SOAP客戶端調用服務定義的方法在上面的例子名稱為add和div。

以下是主要的步驟來創建一個SOAP客戶端:
步驟1 - 創建一個SOAP驅動程序實例:

我們創建一個實例 SOAP::RPC::Driver 通過調用 new 方法如下:

SOAP::RPC::Driver.new(endPoint, nameSpace, soapAction)

這是必需的參數的描述:

 第2步 - 添加服務的方法:

要添加到SOAP SOAP服務方法到 SOAP::RPC::Driver 我們可以調用下面的方法使用 SOAP::RPC::Driver 實例:

driver.add_method(name, *paramArg)

下面的參數說明:

 第3步 - 調用SOAP服務:

最后一步是調用SOAP服務使用 SOAP::RPC::Driver 實例如下:

result = driver.serviceMethod(paramArg...)

這里serviceMethod是實際的Web服務方法和paramArg...是列表參數需要通過在服務方法。
例如:

根據上述步驟,我們將編寫一個SOAP客戶端如下:

#!/usr/bin/ruby -w

require 'soap/rpc/driver'

NAMESPACE = 'urn:ruby:calculation'
URL = 'http://localhost:8080/'

begin
  driver = SOAP::RPC::Driver.new(URL, NAMESPACE)
  
  # Add remote sevice methods
  driver.add_method('add', 'a', 'b')

  # Call remote service methods
  puts driver.add(20, 30)
rescue => err
  puts err.message
end

您可能感興趣的文章:
  • 詳細介紹Ruby中的正則表達式
  • Ruby的面向對象編程的基礎教程
  • 在Ruby程序中連接數據庫的詳細教程

標簽:永州 普洱 三沙 張家界 荊門 公主嶺 梧州 遼寧

巨人網絡通訊聲明:本文標題《利用Ruby的SOAP4R編寫SOAP服務器的教程》,本文關鍵詞  利用,Ruby,的,SOAP4R,編寫,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《利用Ruby的SOAP4R編寫SOAP服務器的教程》相關的同類信息!
  • 本頁收集關于利用Ruby的SOAP4R編寫SOAP服務器的教程的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    久久精品免费观看| 国产综合色产在线精品| 男人的j进女人的j一区| 色哟哟日韩精品| 亚洲免费观看高清完整版在线| 国产精品一卡二卡在线观看| 欧美一区二区播放| 国内精品嫩模私拍在线| 久久综合资源网| 亚洲免费观看高清完整版在线观看 | 日韩欧美中文字幕一区| 精品国产乱码久久久久久久| 日韩激情一区二区| 精品国产1区二区| 免费高清不卡av| 欧美一区二区三区免费| 国产精品69毛片高清亚洲| 欧美国产精品一区二区三区| 91丨porny丨首页| 午夜伊人狠狠久久| 久久综合九色综合97_久久久| 黄色精品一二区| 国产精品理论片| 欧美日产国产精品| 国产伦精品一区二区三区在线观看| 久久综合久色欧美综合狠狠| www.亚洲免费av| 亚欧色一区w666天堂| 日韩一区二区三| av中文字幕在线不卡| 最好看的中文字幕久久| 欧美二区乱c少妇| 成人午夜电影小说| 热久久国产精品| 亚洲天堂成人在线观看| 91精品国产综合久久久蜜臀图片| 蜜乳av一区二区| 亚洲精品高清视频在线观看| 欧美一二三四区在线| 99久久精品免费| 国产一区日韩二区欧美三区| 亚洲日本在线天堂| 精品久久免费看| 欧美日韩一级片在线观看| 国产精品白丝jk白祙喷水网站| 激情丁香综合五月| 国产精品每日更新| 日韩色视频在线观看| aaa亚洲精品| 国产在线一区二区| 国产色产综合色产在线视频| 在线91免费看| 99久久精品免费| 国产成人综合在线观看| 日本美女一区二区三区| 伊人性伊人情综合网| 国产精品久久久久久久第一福利 | 91在线观看视频| 国产一区在线不卡| 另类成人小视频在线| 日韩高清在线观看| 午夜激情一区二区三区| 亚洲一级二级三级在线免费观看| 亚洲国产精品高清| 国产欧美日本一区二区三区| 精品91自产拍在线观看一区| 樱花影视一区二区| 久久国产精品第一页| 国产视频不卡一区| 国产精品资源在线看| 国产乱对白刺激视频不卡| 日本美女一区二区| 九九**精品视频免费播放| 另类人妖一区二区av| 国产一区二区在线观看视频| 国产福利一区二区三区在线视频| 精品系列免费在线观看| 国产精品香蕉一区二区三区| www.激情成人| 在线亚洲高清视频| 欧美一区二区三区免费| 国产亚洲va综合人人澡精品| 欧美v日韩v国产v| 久久精品日产第一区二区三区高清版| 91麻豆文化传媒在线观看| 在线精品观看国产| 日韩一区二区视频| 国产午夜精品福利| 亚洲欧美日韩国产成人精品影院| 亚洲一区二区三区美女| 裸体一区二区三区| 成人性视频网站| 欧美在线一二三四区| 日韩一区二区麻豆国产| 久久久久9999亚洲精品| 一区二区三区在线视频免费| 日本少妇一区二区| 国产成人一级电影| 欧美顶级少妇做爰| 国产精品另类一区| 日本伊人午夜精品| eeuss鲁片一区二区三区在线观看| 欧美日韩一区在线| 国产女主播一区| 日本在线不卡视频| 97久久精品人人做人人爽| 91精品国产综合久久久久久久久久| 久久久不卡影院| 日本不卡在线视频| 色94色欧美sute亚洲线路一ni| 精品国产伦一区二区三区观看方式 | 99视频一区二区三区| 欧美性一级生活| 国产日韩欧美在线一区| 亚洲国产精品视频| 成人免费视频免费观看| 91麻豆精品国产91久久久久| 亚洲三级电影网站| 国产福利精品一区| 91精品国产乱码久久蜜臀| 亚洲免费毛片网站| 成人激情小说乱人伦| 4438x亚洲最大成人网| 一区二区三区在线观看国产| 91美女福利视频| 国产三级欧美三级日产三级99| 亚洲欧美国产毛片在线| 国产·精品毛片| 日韩精品一区二区在线| 久久在线免费观看| 激情深爱一区二区| 91福利视频久久久久| 精品99久久久久久| 亚洲国产视频网站| 欧美日韩一区不卡| 国产精品欧美一区喷水| 免费人成在线不卡| 色婷婷国产精品| 久久99精品国产麻豆婷婷| 精品一区二区三区av| 国产成人亚洲综合a∨婷婷| 色呦呦国产精品| 久久人人爽爽爽人久久久| 亚洲天堂精品视频| 色婷婷精品久久二区二区蜜臀av| 国产精品一区二区视频| 欧美剧情片在线观看| 婷婷中文字幕一区三区| a在线欧美一区| 亚洲精品写真福利| 丁香桃色午夜亚洲一区二区三区| 久久久www成人免费毛片麻豆| 国产精品色呦呦| 91麻豆文化传媒在线观看| 日韩一区在线免费观看| 国产电影一区在线| 亚洲欧洲精品一区二区精品久久久| 精品一区二区三区免费视频| 久久精品人人做人人综合 | 成人黄色国产精品网站大全在线免费观看| 精品欧美黑人一区二区三区| 五月天久久比比资源色| 日韩午夜激情视频| 日韩国产欧美视频| 久久色.com| 日本精品裸体写真集在线观看 | 日韩欧美你懂的| 日本不卡一二三| 久久久久久99精品| 国产福利精品导航| 亚洲成a人v欧美综合天堂下载 | 精品电影一区二区三区| 国产精品乱码一区二三区小蝌蚪| 日韩精品一二区| 欧美日韩国产天堂| 国产欧美综合在线| 91在线国产福利| 麻豆国产精品一区二区三区| 91精品国产入口在线| 懂色av中文一区二区三区| 欧美激情一区二区在线| 欧美久久久久久久久| 成人性生交大合| 国产女主播在线一区二区| 欧美丝袜丝nylons| 麻豆国产精品一区二区三区| 一区二区三区欧美久久| 欧美日韩成人一区| 91老师片黄在线观看| 日本一区二区免费在线| 欧美一级久久久| 国产精品自拍三区| 亚洲精品欧美在线| 国产亚洲欧洲一区高清在线观看| 国产mv日韩mv欧美| 一二三四区精品视频| 精品欧美一区二区久久| 欧美日本在线观看| 成人午夜精品在线| 亚洲高清免费视频|