Soumettre la recherche
Mettre en ligne
How to use SOAP interface of debbugs #tokyodebian
•
0 j'aime
•
384 vues
K
kenhys
Suivre
This is a slide for #tokyodebian 2017/05/20.
Lire moins
Lire la suite
Technologie
Affichage du diaporama
Signaler
Partager
Affichage du diaporama
Signaler
Partager
1 sur 46
Télécharger maintenant
Télécharger pour lire hors ligne
Recommandé
Python × Herokuで作る 雑談slack bot
Python × Herokuで作る 雑談slack bot
dcubeio
hubotで快適BOT生活
hubotで快適BOT生活
Kazufumi Otani
執筆中のPythonプロフェッショナルプログラミング第2版でsphinxを使っている話
執筆中のPythonプロフェッショナルプログラミング第2版でsphinxを使っている話
Takayuki Shimizukawa
Hubotを使ってbotをつくろう!
Hubotを使ってbotをつくろう!
Daisuke Kikuchi
hubot-slack v4移行時のハマりどころ #hubot_chatops
hubot-slack v4移行時のハマりどころ #hubot_chatops
knjcode
Introduce for sphinx-users-jp
Introduce for sphinx-users-jp
Go Yamada
素振りのススメ at Python入門者の集い
素振りのススメ at Python入門者の集い
Takayuki Shimizukawa
Sphinx で手軽に作るドキュメント
Sphinx で手軽に作るドキュメント
Go Yamada
Recommandé
Python × Herokuで作る 雑談slack bot
Python × Herokuで作る 雑談slack bot
dcubeio
hubotで快適BOT生活
hubotで快適BOT生活
Kazufumi Otani
執筆中のPythonプロフェッショナルプログラミング第2版でsphinxを使っている話
執筆中のPythonプロフェッショナルプログラミング第2版でsphinxを使っている話
Takayuki Shimizukawa
Hubotを使ってbotをつくろう!
Hubotを使ってbotをつくろう!
Daisuke Kikuchi
hubot-slack v4移行時のハマりどころ #hubot_chatops
hubot-slack v4移行時のハマりどころ #hubot_chatops
knjcode
Introduce for sphinx-users-jp
Introduce for sphinx-users-jp
Go Yamada
素振りのススメ at Python入門者の集い
素振りのススメ at Python入門者の集い
Takayuki Shimizukawa
Sphinx で手軽に作るドキュメント
Sphinx で手軽に作るドキュメント
Go Yamada
Hubotをはじめる
Hubotをはじめる
nasa9084
「Python言語」はじめの一歩 / First step of Python
「Python言語」はじめの一歩 / First step of Python
Takanori Suzuki
Docker meetup tokyo_public_r001
Docker meetup tokyo_public_r001
cyberblack28 Ichikawa
tse - Pythonによるテキスト整形ユーティリティ
tse - Pythonによるテキスト整形ユーティリティ
Atsuo Ishimoto
Chat opsをはじめよう!
Chat opsをはじめよう!
dcubeio
3分でサーバオペレーションコマンドを作る技術
3分でサーバオペレーションコマンドを作る技術
Kei IWASAKI
Slack + Hubot でお前の一番好きな二次元嫁キャラと一緒に仕事をする
Slack + Hubot でお前の一番好きな二次元嫁キャラと一緒に仕事をする
sairoutine
あいぽん落としたと聞いたので!
あいぽん落としたと聞いたので!
Kouhei Maeda
Goで学ぶDApp(aizu.go#2)
Goで学ぶDApp(aizu.go#2)
Koki Natsume
今年使ってみて良かった、Pythonモジュール、パッケージ、ツール
今年使ってみて良かった、Pythonモジュール、パッケージ、ツール
aoshiman
どっかのしたのほう
どっかのしたのほう
_norin_
もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜
もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜
Takashi Uemura
Python3 プログラミング勉強会
Python3 プログラミング勉強会
Tetsuya Morimoto
勉強会 Cvml python基礎
勉強会 Cvml python基礎
真哉 杉野
DockerでJupyter使おうぜ
DockerでJupyter使おうぜ
Satoshi Yazawa
LibreOfficeコミュニティに不具合修正パッチを送ってみた
LibreOfficeコミュニティに不具合修正パッチを送ってみた
Tomofumi Yagi
PyQtではじめるGUIプログラミング
PyQtではじめるGUIプログラミング
Ransui Iso
Docker向けOSとか[LT] @ #techgirl 2015/01
Docker向けOSとか[LT] @ #techgirl 2015/01
Emma Haruka Iwao
LibreOfficeをビルドしてみよう(Windows)
LibreOfficeをビルドしてみよう(Windows)
Masataka Kondo
俺のGentooがこんなに可愛いわけがない
俺のGentooがこんなに可愛いわけがない
Takuto Matsuu
2012 0623-x-road-tokyo-xoops-x(ten)
2012 0623-x-road-tokyo-xoops-x(ten)
Naoki Okino
GMO プライベート DMP 開発で 取り組んできた DevOps と今後の展望
GMO プライベート DMP 開発で 取り組んできた DevOps と今後の展望
Tetsuo Yamabe
Contenu connexe
Tendances
Hubotをはじめる
Hubotをはじめる
nasa9084
「Python言語」はじめの一歩 / First step of Python
「Python言語」はじめの一歩 / First step of Python
Takanori Suzuki
Docker meetup tokyo_public_r001
Docker meetup tokyo_public_r001
cyberblack28 Ichikawa
tse - Pythonによるテキスト整形ユーティリティ
tse - Pythonによるテキスト整形ユーティリティ
Atsuo Ishimoto
Chat opsをはじめよう!
Chat opsをはじめよう!
dcubeio
3分でサーバオペレーションコマンドを作る技術
3分でサーバオペレーションコマンドを作る技術
Kei IWASAKI
Slack + Hubot でお前の一番好きな二次元嫁キャラと一緒に仕事をする
Slack + Hubot でお前の一番好きな二次元嫁キャラと一緒に仕事をする
sairoutine
あいぽん落としたと聞いたので!
あいぽん落としたと聞いたので!
Kouhei Maeda
Goで学ぶDApp(aizu.go#2)
Goで学ぶDApp(aizu.go#2)
Koki Natsume
今年使ってみて良かった、Pythonモジュール、パッケージ、ツール
今年使ってみて良かった、Pythonモジュール、パッケージ、ツール
aoshiman
どっかのしたのほう
どっかのしたのほう
_norin_
もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜
もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜
Takashi Uemura
Python3 プログラミング勉強会
Python3 プログラミング勉強会
Tetsuya Morimoto
勉強会 Cvml python基礎
勉強会 Cvml python基礎
真哉 杉野
DockerでJupyter使おうぜ
DockerでJupyter使おうぜ
Satoshi Yazawa
LibreOfficeコミュニティに不具合修正パッチを送ってみた
LibreOfficeコミュニティに不具合修正パッチを送ってみた
Tomofumi Yagi
PyQtではじめるGUIプログラミング
PyQtではじめるGUIプログラミング
Ransui Iso
Docker向けOSとか[LT] @ #techgirl 2015/01
Docker向けOSとか[LT] @ #techgirl 2015/01
Emma Haruka Iwao
LibreOfficeをビルドしてみよう(Windows)
LibreOfficeをビルドしてみよう(Windows)
Masataka Kondo
俺のGentooがこんなに可愛いわけがない
俺のGentooがこんなに可愛いわけがない
Takuto Matsuu
Tendances
(20)
Hubotをはじめる
Hubotをはじめる
「Python言語」はじめの一歩 / First step of Python
「Python言語」はじめの一歩 / First step of Python
Docker meetup tokyo_public_r001
Docker meetup tokyo_public_r001
tse - Pythonによるテキスト整形ユーティリティ
tse - Pythonによるテキスト整形ユーティリティ
Chat opsをはじめよう!
Chat opsをはじめよう!
3分でサーバオペレーションコマンドを作る技術
3分でサーバオペレーションコマンドを作る技術
Slack + Hubot でお前の一番好きな二次元嫁キャラと一緒に仕事をする
Slack + Hubot でお前の一番好きな二次元嫁キャラと一緒に仕事をする
あいぽん落としたと聞いたので!
あいぽん落としたと聞いたので!
Goで学ぶDApp(aizu.go#2)
Goで学ぶDApp(aizu.go#2)
今年使ってみて良かった、Pythonモジュール、パッケージ、ツール
今年使ってみて良かった、Pythonモジュール、パッケージ、ツール
どっかのしたのほう
どっかのしたのほう
もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜
もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜
Python3 プログラミング勉強会
Python3 プログラミング勉強会
勉強会 Cvml python基礎
勉強会 Cvml python基礎
DockerでJupyter使おうぜ
DockerでJupyter使おうぜ
LibreOfficeコミュニティに不具合修正パッチを送ってみた
LibreOfficeコミュニティに不具合修正パッチを送ってみた
PyQtではじめるGUIプログラミング
PyQtではじめるGUIプログラミング
Docker向けOSとか[LT] @ #techgirl 2015/01
Docker向けOSとか[LT] @ #techgirl 2015/01
LibreOfficeをビルドしてみよう(Windows)
LibreOfficeをビルドしてみよう(Windows)
俺のGentooがこんなに可愛いわけがない
俺のGentooがこんなに可愛いわけがない
Similaire à How to use SOAP interface of debbugs #tokyodebian
2012 0623-x-road-tokyo-xoops-x(ten)
2012 0623-x-road-tokyo-xoops-x(ten)
Naoki Okino
GMO プライベート DMP 開発で 取り組んできた DevOps と今後の展望
GMO プライベート DMP 開発で 取り組んできた DevOps と今後の展望
Tetsuo Yamabe
捕鯨!詳解docker
捕鯨!詳解docker
雄哉 吉田
Osc2008 Opensuse Moonlinx
Osc2008 Opensuse Moonlinx
Kazuhisa Hara
Linuxのユーザーランドをinitから全てまるごとgolangで書く
Linuxのユーザーランドをinitから全てまるごとgolangで書く
Tetsuyuki Kobayashi
Hashicorpツールズ
Hashicorpツールズ
Uchio Kondo
Goodby Hatena, hello Sphinx
Goodby Hatena, hello Sphinx
Kouhei Maeda
Metahub for github
Metahub for github
Suguru Oho
コミュニティのある風景
コミュニティのある風景
Ryunosuke SATO
開発ツール、なに使ってますか?
開発ツール、なに使ってますか?
Hitoshi Kuroyanagi
SnapDishの事例
SnapDishの事例
Fumikazu Kiyota
MUGT02 - vamp demo
MUGT02 - vamp demo
Tetsuya Sodo
20090828 Webconlocal
20090828 Webconlocal
Kentaro Matsui
"Continuous Publication" with Python: Another Approach
"Continuous Publication" with Python: Another Approach
Daisuke Miyakawa
Morioka As 0x06 Usagi Koyomirya
Morioka As 0x06 Usagi Koyomirya
兎 伊藤
Debug Hacks - 第4回つくらぐ勉強会
Debug Hacks - 第4回つくらぐ勉強会
University of Tsukuba Linux User Group
Firefox Add-on SDK 入門
Firefox Add-on SDK 入門
Shoot Morii
今時のオンプレなgithubクローン環境構築
今時のオンプレなgithubクローン環境構築
You&I
Couch DB in 15minutes
Couch DB in 15minutes
Yohei Sasaki
ZeroFormatter/MagicOnion - Fastest C# Serializer/gRPC based C# RPC
ZeroFormatter/MagicOnion - Fastest C# Serializer/gRPC based C# RPC
Yoshifumi Kawai
Similaire à How to use SOAP interface of debbugs #tokyodebian
(20)
2012 0623-x-road-tokyo-xoops-x(ten)
2012 0623-x-road-tokyo-xoops-x(ten)
GMO プライベート DMP 開発で 取り組んできた DevOps と今後の展望
GMO プライベート DMP 開発で 取り組んできた DevOps と今後の展望
捕鯨!詳解docker
捕鯨!詳解docker
Osc2008 Opensuse Moonlinx
Osc2008 Opensuse Moonlinx
Linuxのユーザーランドをinitから全てまるごとgolangで書く
Linuxのユーザーランドをinitから全てまるごとgolangで書く
Hashicorpツールズ
Hashicorpツールズ
Goodby Hatena, hello Sphinx
Goodby Hatena, hello Sphinx
Metahub for github
Metahub for github
コミュニティのある風景
コミュニティのある風景
開発ツール、なに使ってますか?
開発ツール、なに使ってますか?
SnapDishの事例
SnapDishの事例
MUGT02 - vamp demo
MUGT02 - vamp demo
20090828 Webconlocal
20090828 Webconlocal
"Continuous Publication" with Python: Another Approach
"Continuous Publication" with Python: Another Approach
Morioka As 0x06 Usagi Koyomirya
Morioka As 0x06 Usagi Koyomirya
Debug Hacks - 第4回つくらぐ勉強会
Debug Hacks - 第4回つくらぐ勉強会
Firefox Add-on SDK 入門
Firefox Add-on SDK 入門
今時のオンプレなgithubクローン環境構築
今時のオンプレなgithubクローン環境構築
Couch DB in 15minutes
Couch DB in 15minutes
ZeroFormatter/MagicOnion - Fastest C# Serializer/gRPC based C# RPC
ZeroFormatter/MagicOnion - Fastest C# Serializer/gRPC based C# RPC
Plus de kenhys
DebianでFirefoxをカスタマイズするには
DebianでFirefoxをカスタマイズするには
kenhys
debexpo(mentors.d.n)をハックするには
debexpo(mentors.d.n)をハックするには
kenhys
Debianのインフラを借りるには
Debianのインフラを借りるには
kenhys
DebianとFedoraでパッケージをリリースするまでの話
DebianとFedoraでパッケージをリリースするまでの話
kenhys
Mroonga Meetup 2014/06/29
Mroonga Meetup 2014/06/29
kenhys
Groonga Meetup 2014/04/29
Groonga Meetup 2014/04/29
kenhys
Groongaを支える取り組み
Groongaを支える取り組み
kenhys
# groonga開発チームの紹介
# groonga開発チームの紹介
kenhys
Shibuyalisp6lt
Shibuyalisp6lt
kenhys
Plus de kenhys
(9)
DebianでFirefoxをカスタマイズするには
DebianでFirefoxをカスタマイズするには
debexpo(mentors.d.n)をハックするには
debexpo(mentors.d.n)をハックするには
Debianのインフラを借りるには
Debianのインフラを借りるには
DebianとFedoraでパッケージをリリースするまでの話
DebianとFedoraでパッケージをリリースするまでの話
Mroonga Meetup 2014/06/29
Mroonga Meetup 2014/06/29
Groonga Meetup 2014/04/29
Groonga Meetup 2014/04/29
Groongaを支える取り組み
Groongaを支える取り組み
# groonga開発チームの紹介
# groonga開発チームの紹介
Shibuyalisp6lt
Shibuyalisp6lt
Dernier
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Hiroshi Tomioka
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
Toru Tamaki
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
WSO2
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
CRI Japan, Inc.
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
atsushi061452
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
CRI Japan, Inc.
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NTT DATA Technology & Innovation
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
sn679259
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
Toru Tamaki
Dernier
(12)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
How to use SOAP interface of debbugs #tokyodebian
1.
Debbugsとの つきあいかた Debbugsとの つきあいかた SOAP編 Kentaro Hayashi ClearCode Inc. 東京エリアDebian勉強会 2017-05-20
2.
自己紹介(1) Twitter/GitHub: @kenhys 所属: トラックポイント・ソフトドーム派
3.
自己紹介(2) トラックポイント・ソフトドーム派
4.
参考画像の出典 http://www.irasutoya.com/
5.
パッケージ関連の活動 groonga (全文検索エンジン) groonga-normalizer-mysql libhinawa fcitx-imlist hal-flash (Flashを延命させるアレ) growl-for-linux
6.
閑話休題 そろそろ本題に
7.
本日の話題 Debbugsとのつきあいかた:SOAP編
8.
本日の話題 Debbugsとのつきあいかた:SOAP編
9.
話さないこと Debbugsのふつうの使い方
10.
Debbugsとは?
11.
Debbugsとは? 1994年 Ian Jackson氏が開発を始めた Issueトラッキングシステム GNOMEやKDEもかつて採用していた →Bugzillaへ移行した
12.
ふつうの人のバグ報告(1) Reportbug!
13.
ふつうの人のバグ報告(2) Reportbug-NG!
14.
Debbugsのよいところ メールで気軽にバグ報告 報告にログインとか不要 一見さんをカジュアルに殺せる初見殺し機能搭載
15.
Debbugsの見方 [重要度|タグ|状態]
16.
Debbugsの重要度 m: minor w: wishlist n:
normal S: serious G: grave
17.
Debbugsのタグ +: patch ☹: wontfix M:
moreinfo P: pending
18.
Debbugsの状態 ♔: blocks ☣: affects ☺:
fixed
19.
なぜDebbugsに興味を? 社内のグループチャットがZulip https://zulip.org/ Zulipのbotにdebbugsをサポートさせたい https://github.com/okkez/pragmatic-bot バグ報告のURLを貼り付けたらbotに処理させたい
20.
botに処理させるには? bugs.d.oをスクレイピング? もっといいやりかたはない?
21.
SOAP! https://wiki.debian.org/ DebbugsSoapInterface
22.
サンプルコードもあるよ require 'soap/rpc/driver' host =
"bugs.debian.org" port = 80 server="http://#{host}:#{port}/cgi-bin/soap.cgi" ns = 'Debbugs/SOAP/' drv = SOAP::RPC::Driver.new(server, ns) drv.wiredump_dev = STDOUT if $DEBUG drv.add_method('get_status','bugnumber') drv.add_method('get_bugs','keyparam') p drv.get_status(drv.get_bugs(['package', 'pbuilder', 'severity', 'wishlist'])) Ruby 1.8 or 修正済みsoap4rじゃないと動かな い
23.
Rubyの事情 soap4rはもともとRuby 1.8にバンドル Ruby 1.9ではバンドルされなくなった soap4rはメンテされなくなった 雨後の筍
soap4r
24.
雨後の筍 soap4r soap4r-ng (2.0.3) soap4r-r19
(1.5.9) Ruby1.9対応版 soap4r-ruby1.9 (2.0.5) Ruby1.9対応版 soap4r-ruby19 (1.5.9) Ruby1.9対応版
25.
soapXr soap2r (1.5.8) soap4rの後にリリース soap5r
(2.0.3)
26.
upstream on Debian ruby-soap4r https://github.com/noeticpenguin/soap4r- noeticpenguin
27.
混沌とした世界 あまり踏み込まないほうがよい予感
28.
SOAPを使うには ポイント:WSDL
29.
WSDL Web Services Description
Language Webサービス記述言語 XMLでインターフェースを定義する WSDLを元にSOAPで通信
30.
DebbugsのWSDL https://wiki.debian.org/ DebbugsSoapInterface 一切言及はない どうなってるの?
31.
WSDLを探せ Emacs使いはdebbugs.el https://elpa.gnu.org/packages/debbugs.html
32.
Debbugs.wsdl Debbugs用のWSDL debian.orgとgnu.orgのdebbugsで使える
33.
WSDLの構造 <wsdl:definitions>の子要素として定義 <wsdl:types> <wsdl:message> <wsdl:portType> <wsdl:binding> <wsdl:service>
34.
<wsdl:types> <complexType name="ArrayOfBugNumber"> <complexContent> <restriction base="soapenc:Array"> <attribute
ref="soapenc:arrayType" wsdl:arrayType="xsd:int[]"/> </restriction> </complexContent> </complexType> データ型の定義をする 例:バグ番号の配列を定義
35.
<wsdl:message> <wsdl:message name="get_statusRequest"> <wsdl:part name="bugs"
type="types:ArrayOfBugNumber"/> </wsdl:message> <wsdl:message name="get_statusResponse"> <wsdl:part name="s-gensym3" type="apachens:Map"/> </wsdl:message> データの抽象的な定義 例:ステータス取得時にやりとりするデータの定義
36.
<wsdl:portType> 操作の定義 <wsl:operation>を含む <wsdl:portType name="Debbugs/SOAP"> <wsdl:operation
name="get_status" parameterOrder="bugs"> ... </wsdl:operation> <wsdl:operation name="get_bug_log" parameterOrder="bugnumber"> ... </wsdl:operation> </wsdl:portType>
37.
<wsdl:operation> <wsdl:operation name="get_status" parameterOrder="bugs"> <wsdl:input
message="tns:get_statusRequest"> <soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="urn:Debbugs/SOAP" use="encoded"/> </wsdl:input> <wsdl:output message="tns:get_statusResponse"> <soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="urn:Debbugs/SOAP" use="encoded"/> </wsdl:output> </wsdl:operation> 操作の入出力を定義 例:ステータス取得時の入出力を定義
38.
<wsdl:binding> portTypeで定義した操作のプロトコルを指定 <wsdl:binding name="Debbugs/SOAP/BINDING" type="tns:Debbugs/SOAP"> <soap:binding
style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/> <wsdl:operation name="get_status"> ... </wsdl:operation> </wsdl:binding>
39.
<wsdl:service> 通信先を定義 <wsdl:service name="Debbugs/SOAP/SERVICE"> <wsdl:port binding="tns:Debbugs/SOAP/BINDING"
name="gnu.org"> <wsdlsoap:address location="http://debbugs.gnu.org/cgi/soap.cgi"/> </wsdl:port> <wsdl:port binding="tns:Debbugs/SOAP/BINDING" name="debian.org"> <wsdlsoap:address location="http://bugs.debian.org/cgi-bin/soap.cgi"/> </wsdl:port> </wsdl:service>
40.
実践:debbugs 実際にSOAPでやりとりしてみるには
41.
何を使う? savon http://savonrb.com/ RubyのSOAP clientライブラリー
42.
savonの使い方 require "savon" WSDLからクライアントのインスタンス作成 callでdebbugsのメソッドを呼ぶ レスポンスを表示する
43.
savonクライアント client = Savon.client(wsdl:
"(WSDLのURL)", endpoint: "http://bugs.debian.org/cgi-bin/soap.cgi", namespace: "Debbugs/SOAP") クライアント作成
44.
メソッドを呼ぶ # fetch status
of pbuilder specific bugs response = client.call(:get_status) do message(bugs: ["807406", "837812"]) end 例: get_statusメソッドを呼ぶ
45.
レスポンスを表示する bugs = response.body[:get_status_response][:s_gensym3][:item] bugs.each
do |bug| item = bug[:value] puts "#{bug[:key]}:#{item[:pending]}:#{item[:subject]}" end #=> 807406:pending:pbuilder: drop all the 'xenial' (...) 837812:pending:[pbuilder] New hook improving dpkgi
46.
まとめ debbugsにはSOAPインターフェースがある Debbug.wsdlはdebbugs.el方面から入手せよ Rubyから使うならsoap4r(修正版) or savonを使 え
Télécharger maintenant