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

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

Share Point Server上にフォルダを作成するサンプル

Share Point Server上の指定したサイト以下にフォルダを作成するサンプルです。例によってWebサービスを利用しています。

  • WSSクラスは別ファイルに分離しました。
    • 基本的には昨日の実装と同じですが、「XSD:: Charset.encoding="UTF8"」の設定を追加しています。
      • 指定しない場合、リクエストやレスポンスに日本語が含まれていた場合、よくわからないエラーになります。
  • 作成するフォルダは、「サイト」からの相対URL(例:"Shared Documents/テストフォルダ")で指定します。
    • 「共有ドキュメント」は内部的には「Shared Documents」となっているようなので注意。
require 'wss'

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

result = dws.createFolder( {
  "url"=>"Shared Documents/テストフォルダ"
})
p result.createFolderResult

wss.rbは以下です。

require 'rubygems'
require 'httpclient'
require 'soap/wsdlDriver'

XSD:: Charset.encoding="UTF8"

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"] << ["http://#{@host}:#{@port}",@user,@pass]
    return driver
  end
end