2010-03-08

先週iPhoneからExchange Web Serviceを叩くアプリケーションを作成したくて、そのやり方を調べていました。このあたり今までほとんど勉強したことがなくよくわからないことが多かったので学んだことをメモしておきます。正直なところあまり正確で無いとおもいますし、間違いがある気がしますので、そのあたりツッコミいただけると嬉しいです。 そもそも、プログラムからWebサービスを叩く方法 私の今までの認識は「Webサービス=WebサーバーにHTTPでXMLを渡すと、XMLで答えが返ってくる」程度の認識でした。これ自体はまぁ(かなり語弊があるものの)別に間違いではないと今でも思うのですが、「じゃぁ具体的にどうやってそれをプログラムするのか?」ということはわかっていませんでした。 で、調べたところ、ベタにやり取りするのではなくて、HTTPやXMLの部分をプログラマが意識しなくてもすむようなクラス(Webサービスプロキシクラス)を使うのが普通らしいということがわかりました。難しいことはカプセル化されてしまっていて、単なるオブジェクト指向プログラミングをすればよい、と。素晴らしいですね。 XML Web サービス プロキシの作成 Web サービス プロキシの作成 このWebサービスプロキシはWSDLというWebサービス自体を定義したXMLファイルから自動生成させるのが普通の手段らしいです。 @IT:連載 Webサービスのキホン(4) WSDL:Webサービスのインターフェイス情報 Exchange Server 2007以降のWSDLは「EWS」というディレクトリに配置されています。 https:///EWS/Services.wsdl 上記URLにアクセスすると、実際にXMLファイルを参照できました。 iPhone用のWebサービスプロキシの自動生成ツール WSDLファイルは入手できたので、次はこれからWebサービスプロキシを作る必要があります。.NET Frameworkにおいては、wsdl.exeを使うか、Visual StudioからWeb参照を追加することによってWebサービスプロキシを自動生成出来るらしいです。ではiPhone用には何があるのか…?ということで色々探してみました。見つかったのは以下のあたりです。 iPhone Development: Web Services Fun(WSMakeStubs) wsdl2objc - Project Hosting on Google Code SudzC (alpha) clean source code from your web services で、実際にやってみた…のですが、残念ながら正常にソースコードを生成できたのはSudzCのみ、でも、SudzCもきちんとしたソースコードは生成できなかった、というのが私の試した結果です(2010/3/5の段階)。wsdl2objcとSudzCに関しては今後の開発に期待したいところですね。残念。 ちなみにExchange Web ServiceをVisual StudioからWeb参照すると、きちんとWebサービスプロキシクラスが生成されました。このあたりは流石に同じ会社の作った製品だなぁ、とおもいました。(正直なところMSの作るWSDLがスタンダードな物では無いんじゃないのか?という気もしますが…。) 結局どうしたらいいのか じゃぁ、結局どうしたら良いのか?というと、現時点では以下で紹介されているような方法でガリガリやらなくてはいけないっぽいです。私はもう諦めてガリガリ書こうと思ってます。 iPhoneアプリケーションでXML Webサービスを利用する - japan.internet.com デベロッパー ちょっとすでにうんざりしている、というのが正直なところですけどね…。本当に皆こうやってるのかなぁ?

March 8, 2010 · 1 min · 胡田昌彦

[work] Exchane 2007用ロールアップが適用できない

Exchange 2007用のロールアップが適用できないという相談が来てます。ネット上でほぼ情報がなかったのでログを貼り付けておきます。だれかがみつけて答えを教えてくれたらいいなぁ・・・。(夢想 [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 : : : : : : : : : : : : : : : : : : : : : 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 : : : : : : : : : : : : : : : : : : : : : 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 7 8 8 0 0 0 0 0 0 0 0 3 3 4 5 5 5 5 5 5 6 ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] P S S S S S S S S S S S A A A S S S E e e e e e e e e e a a a d d d t t t r S r t t t t t t t t v v v d d d o o o r e f t t t t t t t t i i i i i i p p p o r o i i i i i i i i n n n n n n p p p r v r n n n n n n n n g g g g g g i i i : i m g g g g g g g g n n n c i s s s t t t g g g e n A A C P D M V V e e e o o o C g p s u o e o e e r r r s s s o p s s w s d r n v v v i i i e e e n s l e t e c u s d i i i n n n r r r t e i m o r r l i o c c c s s s v v v r r c b m S i e o r e e e t t t i i i o v a l P h p N n s a a a c c c l i t y S e t a t a s l l l e e e . c i N S l i m t o n t r l l l s s p e o a n l o e o d a e e e e ' s n m a V n M t g d d d f f R 1 c B e p e t 8 i r e i o o e : o a I r t o . c e s r r r r r m n s t n s o 0 r g t t o o o o 2 t e o T i C . o i o r l l l r ' t 0 r y o S : 0 s s y e e e o A e 0 o t M p n e \ . o t ' s s s l d R 8 l o i e t P 0 f r C d e m e c t u r t y : a l l l i g 0 w C r t o p o \ t i i i ' n i 9 i : o o g d D a s s s A T s t s 1 T r a O t t t d o t 0 h P M . a a t C : : : m o r 8 r f i 0 s m a U i l y o o t c k M A C B n s ' 1 p g . r s F E d l r T ' . 8 t r E o i ~ m i i o . : i a x s f l 1 i e d o . 2 o m c o o e \ n n g l . 8 n h f r s e T t e s : s F a t \ x o A h ' 4 : i n . t M a o c e 8 l g E h i d l c a B e e x e c m s e d e s . c r i s f P h E o n s o M a x s \ r i w n c o L e c e g h f O P r r e a t C a o S . n \ A t s h M g E L c o e a e x S h f l n c ~ t l a S h 1 \ . g e a \ E C e r n T x o m v g e c n e e e m h f n r p a i t S \ n g . e S g u P v r t e r o 2 v o a w 4 e p S t e 0 r p e i r ) \ e r o S b d v n h i S e , e n e r l \ r \ V l M v b e . i i i r S c c n s e r e i t o s o u s . n p o x = P f m 8 S t l . S . ' 0 n E . . a x . 0 p c . . I h 0 n a , n g C e u . l P t o u w r e e r = S n h e e u l t l r . a c l o , n f P i u g b u l r i a c t K i e o y n T . o d k l e l n = 3 1 b f 3 8 5 6 a d 3 6 4 e 3 5 なんともかんとも。 それにしても、Exchange2007用のロールアッププログラムには適用プロセスに非常にたくさん問題があるようで。本家のブログも非常に盛り上がっております。 ...

September 8, 2008 · 6 min · 胡田昌彦

2008-01-12

Exchange Server 200xをクラスタで構築する場合にMSDTCは必要なのかどうかというお話。いるとかいらないとか諸説あります。 まず、2000および2003に関してはExchange Team Blogにあるように セットアップ時のみ必要 workflowがあるなら常時必要 というのが本当のところのようです。 You Had Me At EHLO… : The story of the MSDTC resource and Exchange 200x cluster servers 開発チームが言っていることはさすがに信用できます。 さて、問題は最新のExchange Server 2007の場合。必要なくなったといううわさを聞いたのですが、それが本当かどうか。上記blog記事は投稿日が2005年なので、さすがにそのままExchange Server 2007にも適用できるとはおもえないので。 検索してみると以下のページが見つかります。 Re About Exchange 2007 Cluster and MSDTC service - TechNet Forums ここではSCCに関してはExchange Server 2003と同様にMSDTCは必要であると回答されています。しかし以下では逆に必要ないと言われています。 You Had Me At EHLO… : Placement of the File Share Witness (FSW) on a Geographically Dispersed CCR Cluster どちらを信用すべきかは微妙ですが、Exchangeの開発チームの人が言うことをとりあえず信用しておくことにしました。というわけで、Exchange Server 2007のクラスタにはMSDTCは必要ないのではないかと思います。 ただし、警告は出ますが・・・。心配性の人は必要なくてもいいからMSDTCもリソースとして登録しておくと夜ぐっすり眠れるでしょう。 ...

January 12, 2008 · 1 min · 胡田昌彦

2006-10-27

Exchange2007でPowerShellでユーザー、メールボックスを作成してみました。特に難しいことは無かったのですが、ポイントはいかの通り。 コマンドの雛形はGUIで実行したあとに表示されるコマンドを利用できる パスワードはSecureStringなので、平文ではかけない→SecureStringの変数を作成し、それを指定するようにする ここのブログが参考になりました。 http://winzenz.blogspot.com/2006/08/creating-new-mailbox-using-powershell.html いや、Exchange2007、ずいぶん便利になりましたね!

October 27, 2006 · 1 min · 胡田昌彦