ライブラリのダウンロード
Apache Axis2 サイトから axis2-1.6.1-bin をダウンロードする。
スタブを使用して Web サービス実行
ダウンロードしたライブラリには bin/wsdl2java.bat, bin/wsdl2java.sh が同梱されているため、
java コマンドを直接叩く必要がない。
uri のみ指定するとデータバインディングクラスを全てサブクラスに持つ1クラスが巨大な Stub が作成されるので、
u オプションをつけてバインディングクラスを別に生成したほうがいい。
接続先には前回のエントリで作成したものを使用する。
wsdl2java.bat -uri http://localhost:49175/WS/ZaneliWS.asmx?WSDL -u
Web サービスを用意する(ASP.NET)
今回は Java のライブラリである Apache Axis を利用してクライアントを作成するため、
せっかくなので繋ぎ先は Java 以外で。
Visual Studio 2010 で[新しいプロジェクト] -> [ASP.NET Web アプリケーション]を作成し、
ソリューション エクスプローラーで適当なディレクトリを作成し右クリック -> [追加] -> [新しい項目] -> [Web サービス]を選択。
文字列と数値を受け取って文字列を返すWebサービスを作成。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services;

namespace WebServices.WS
{
 [WebService(Namespace = "http://www.zaneli.com/")]
 [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
 [System.ComponentModel.ToolboxItem(false)]
 public class ZaneliWS : System.Web.Services.WebService
 {
  [WebMethod(Description="テスト用Webサービスオペレーション")]
  public string GetMessage(String text, int num)
  {
   return "text=" + text + ", num=" + num;
  }
 }
}
アプリケーションの登録
My Appsの[Create an App]を押下する。
「App Name」と「Description」を入力し、Access level を選択する。
「App filder」と「Full Dropbox」があるので今回は Full を選択した。
アプリのインフォメーション画面に遷移するので、App key と App secret を控えておこう。
SDK の入手
Development Kits and Documentationからダウンロードする。
iOS, Android, Python, Ruby, Java があるけれど、Java のチュートリアルはあるようで無い。
(Tutorial のリンクは Android のそれに遷移する)
仕方がないので Javadoc 片手に試行錯誤してみよう。
ひょんなことからエンコードを指定して Syslog にログ出力をしたいと思い立ったものの、
どうも log4j では対応していないらしく、OS デフォルトエンコードでしか出力できないらしい。
変更個所は少ないのでちょこっと書き換えてみた。
rsyslog の設定
CentOS 6.0 を使って検証してみようとしたところ、デフォでインストールされているのは rsyslog だった。
rsyslog を扱うのは初めてだったので以下設定メモ。
まずは設定ファイル /etc/rsyslog.conf を編集。
デフォルトでは外部からのログを受け付けていないので、以下のコメントアウトされている箇所を外す。
# provides UDP syslog reception
$ModLoad imudp
$UDPServerRun 514
適当にファシリティとテンプレートを追加。
$template testtemplate,"%timegenerated%,%msg%\n"
local0.* /var/log/local0.log;testtemplate
設定ファイルを編集したのでservice rsyslog reloadでリロードする。
logger -p local0.info "test"のようにテストしてみる。
/var/log/local0.log に「test」と出力されていることを確認。設定はできているようだ。
ちょこちょこ調べたことの備忘。
Consumer Key, Consumer Secretの入手
http://www.evernote.com/about/developer/api/にアクセスし、
「Request an API Key」フォームに必要事項記入の上送信。
しばらくすると(1~2日かかる様子)記入したメールアドレスにキーの組み合わせが送信されてくる。
このキーはサンドボックス用らしく、これでは本物の Evernote へアクセスすることはできない。
まずお試しでサンドボックスでAPIを使ってみて、その後再度申請すれば本サービスへアクセスできるキーがもらえる、
という流れらしい。

Copyright© 2011-2021 Shunsuke Otani All Right Reserved .