読者です 読者をやめる 読者になる 読者になる
無料で使えるシステムトレードフレームワーク「Jiji」 をリリースしました!

・OANDA Trade APIを利用した、オープンソースのシステムトレードフレームワークです。
・自分だけの取引アルゴリズムで、誰でも、いますぐ、かんたんに、自動取引を開始できます。

Share Point Server上のコレクション一覧を取得するサンプル

Webサービス経由でShare Point Serverにアクセスし、指定したサイト(sites/foo)以下のコレクションの一覧を取得するサンプルです。

  • Rubyに添付されているSOAPライブラリを使ってさくっと実装。
  • SOAPライブラリ添付のデフォルトのHTTPアクセスクライアントはbasic認証をサポートしていないようなので「httpclient」を使用しています。
require 'rubygems'
require 'httpclient'
require 'soap/wsdlDriver'

class WSS
  def initialize( host, port, user, pass )
    @host = host
    @port = port
    @user = user
    @pass = pass
  end
  def service( name, target )
    wsdl = "http://#{@host}:#{@port}/#{target}/_vti_bin/#{name}.asmx?WSDL"
    driver = SOAP::WSDLDriverFactory.new(wsdl).create_rpc_driver
    driver.options["protocol.http.basic_auth"] << [wsdl,@user,@pass]
    return driver
  end
end

home = WSS.new( "SharePointServerのホスト名", ポート, "<ユーザー名>", "<パスワード>" )
list_service = home.service(:Lists, "sites/foo")

# コレクションの一覧を取得
result = list_service.getListCollection({})
result.getListCollectionResult.lists.list.each {|l|
  puts "#{l.xmlattr_title} : #{l.xmlattr_iD}"
}

実行結果です。

Web パーツ ギャラリー : {5483BD98-4D39-4813-8B09-07DF8F1A0129}
お知らせ : {4978E0AD-F6AD-496A-B2FC-2B2904C5E4BD}
サイト テンプレート ギャラリー : {9F824B55-DA1F-4B17-817E-DDF7807CCC8B}
タスク : {FA79038A-FDD9-420C-AB89-8961EFA22998}
チーム ディスカッション : {CE2204DF-FE5D-49B6-A475-82130EE76D93}
マスタ ページ ギャラリー : {85527DAE-16E9-46FE-9B80-4D5A21314A45}
ユーザー情報リスト : {32FD0DAC-FAC0-4DB1-8C59-63788D6313DF}
リスト テンプレート ギャラリー : {5A0061C8-4ACE-4A6A-A5DE-223E0D3723B6}
リンク : {50819F35-9CAF-40F1-A980-8DF9CF494BF4}
レポート テンプレート : {B529EB58-3CE2-45F7-8229-6E11D897D9E6}
レポート メタデータ : {F084581E-DB02-4E0B-820D-466A5E21AEFB}
共有ドキュメント : {BC445538-FFC8-4BD4-AA52-8C138DFD21C1}
予定表 : {3F168910-55D6-4105-A9D6-B610371E7AA6}