historiesこの広告は、90日以上更新していないブログに表示しています。nasne私がアニメ録画に愛用しているnasneですが、これはUPnPプロトコルで通信するためSOAPでAPIが呼び出せます。Axis2で録画一覧の情報を取得してみました。Document)にSOAPアクションが記載されていますが、フォーマットは結構異なります。ちなみにnasneの予約関連は以下に定義されています。http://(nasneのIPアドレス):64230/XSRS.xml今回はSCPDを見ながらEclipseのエディタでWSDLを作成しています。グラフィカルに編集できるので意外と楽でした。</wsdl:service></wsdl:definitions>そしてAxis2同梱のWSDL2Javaツールを使って、クライアントスタブを生成します。私はWindowsなのでこんな感じです。(出力先ディレクトリ)あとはこのスタブを呼び出すだけ...のはずでしたが、意外にもハマってしまいました。</soap:Header>の除去Axis2で生成したスタブが送信したリクエストを見ると、空のヘッダー要素である</soap:Header>が含まれていました。nasneはこれを含むリクエストをエラーとして処理してしまいます。自動生成されたスタブのコードには手を加えず、リクエスト送信前に除去するモジュールを作成して対処します。src/headerremover/RemovingModule.javaインターフェースを実装していますが中身はありません。}}src/headerremover/RemoveHandler.javaこちらに実際の処理である、ヘッダー要素を取り除く処理を書きます。}}META-INF/module.xmlモジュール名称、それに紐づくクラス、実行タイミングを定義します。このモジュールでは"OperationOutPhase"を指定したので、処理はリクエスト送信前に実行されます。</OutFlow></module>以上を含むjarを作成して、拡張子を.marに変更します。これをクラスパスに配置すると使用可能なモジュールとして読み込まれます。レスポンスをJAXBでマッピングレスポンスはXML形式なので、JAXBでオブジェクトにマッピングすると扱いやすくなります。TrangでレスポンスからXMLスキーマを生成し、少し手を加えたものがこちらです。</xs:element></xs:schema>そして作成したXMLスキーマから、JDK付属のxjcコマンドで対応するJavaクラスを生成します。(出力先ディレクトリ)サンプル上記で作成したクラスを使って、nasneから録画タイトルの一覧を取得してみます。}}実行するとコンソールに一覧が出力されるはずです。ゴシックなどARIB外字を含むフォントがおすすめです。Projectsリクエストを試すのに便利でした。JEITA規格・AV電子機器部門(その他)CPR-1206の59ページ以降にX_SRSの詳細が載っています。(1)参加グループプログラミングリンクGitHubTwitterはてなブログをはじめよう!old_horizonさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。