- - PR -
WSDLから始めるWebサービス開発
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2008-05-22 16:11
こんにちわ。
現在、Visula Studio 2008でWebサービスを作成しようとしています。 (開発環境はWindows XP Proです) 解説やサンプルを検索すると ・新しいWebサービス(asmx)を作成する ・〜.asmx?WSDLからWSDLを取得してプロキシを作成する という手順がよく紹介されていますが、 今やりたいことは、 ・WSDLは与えられている ・それに準拠したWebサービスとクライアントを作成したい です。 このようにWSDLから始める.NET Webサービスの解説やサンプルなどを 探してみたのですが見つけることができませんでした。 (Javaっぽいのはあったんですが。) なにか情報があれば教えていただけないでしょうか。 よろしくお願いします。 | ||||
|
投稿日時: 2008-05-22 16:47
pitfallです。
wsdl.exeというものがありますので調べてみてください。 wsdlからプロキシクラスを生成してくれる便利なexeです。 | ||||
|
投稿日時: 2008-05-23 05:41
*.WSDLファイルをApp_Codeフォルダに保存すると
自動的にプロキシクラスを生成してくれるはずです。 _________________ ASP.NET+Ajaxサンプル集 | JavaScript+Ajaxサンプル集 | ||||
|
投稿日時: 2008-05-23 10:06
pitfallさん
wsdl.exeはWSDLからプロキシクラスを作るために使うとは思いますが、 WSDLからasmxを作る手順を探しています。 Accessさん プロジェクトの種類が「ASP.NET Web サービス アプリケーション」のためか ASP.NETフォルダの追加に、App_Codeは出てこないようです。 また「ASP.NET Web アプリケーション」を作成してApp_Codeのなかに WSDLを作ってみましたが、特に何も起こりませんでした。 引き続き情報を探しています。 よろしくお願いします。 | ||||
|
投稿日時: 2008-05-23 12:29
pitfallです。
asmxを作るってことはサービスの中身のロジックもwsdlから 自動作成したいということですか? WSDLはWEBサービスのインターフェースを記述したものなので その実装(=asmx)までは作れないかと思います。 | ||||
|
投稿日時: 2008-05-23 19:16
pitfallさん。
言葉足らずですみません。 ロジックまで期待するわけじゃなくて、スケルトン(という表現でいいかな) ができればいいと思っています。 たとえば、与えられたWSDLをみながら、そのインターフェース を実装したasmxを自分で書いたとします。 (ロジックは含まず、シグネチャまで定義するとします) そのasmxを、〜.asmx?WSDLで呼び出したときに得られるWSDLが 与えられたWSDLと完全に一致すれば私の目的は果たせます。 ただ、WSDLが与えられていてそれに準じたWebサービスを作ること (トップダウン開発というらしいですが)は、本当にそんな労力を 払わないといけないのかな?何か支援ツールはないのかな? ということを考えています。 うまく伝えれてるかどうか自信がないので、例をあげると、 http://otndnld.oracle.co.jp/document/products/as10g/101320/doc_cd/core.1013/B31839-01/web_services002.htm には 「5.2.2 JDeveloperのWebサービス開発ツール」に
とあります。 また「5.2.6 トップダウンWebサービスの作成方法」にその手順が記されています。 このようなことをVisual Studioでできないかな?ということを考えています。 よろしくお願いします。 | ||||
|
投稿日時: 2008-05-24 23:23
wsdl.exeにサーバー側コードを生成するオプションがあるはずです。 /serverInterface? /server? ちと忘れましたので、msdnライブラリをもう1度読んで試してみてください。 | ||||
|
投稿日時: 2008-05-26 16:16
時間ができたんで、ちと確認してみました。
/serverInterface と /server のどちらのオプションでもサーバー側コードを生成できました。 それぞれのオプションでの生成したコードを見比べてみると、パッと見で異なるところは、wsdl:service部分だけのようです。 /serverInterface … Interfaceになる /server … MustInherit Classになる(昔はこっちのオプションしか無かったです) コマンドプロンプトでwsdl.exeのヘルプを参照すると、/serverではなく/serverInterfaceを使うようにと書いてあります。 なお、生成されるファイルはコードファイル(この表現でいい?)のみです。 自分でasmxを追加して、そのコードビハインドでImplementsする必要があります。 |