- PR -

WSDLから始めるWebサービス開発

投稿者投稿内容
mikan
ベテラン
会議室デビュー日: 2002/08/19
投稿数: 58
投稿日時: 2008-05-22 16:11
こんにちわ。

現在、Visula Studio 2008でWebサービスを作成しようとしています。
(開発環境はWindows XP Proです)

解説やサンプルを検索すると
・新しいWebサービス(asmx)を作成する
・〜.asmx?WSDLからWSDLを取得してプロキシを作成する

という手順がよく紹介されていますが、
今やりたいことは、
・WSDLは与えられている
・それに準拠したWebサービスとクライアントを作成したい

です。

このようにWSDLから始める.NET Webサービスの解説やサンプルなどを
探してみたのですが見つけることができませんでした。
(Javaっぽいのはあったんですが。)

なにか情報があれば教えていただけないでしょうか。

よろしくお願いします。
pitfall
会議室デビュー日: 2007/12/05
投稿数: 14
お住まい・勤務地: 東京都
投稿日時: 2008-05-22 16:47
pitfallです。

wsdl.exeというものがありますので調べてみてください。

wsdlからプロキシクラスを生成してくれる便利なexeです。
Access
ぬし
会議室デビュー日: 2002/04/08
投稿数: 829
投稿日時: 2008-05-23 05:41
*.WSDLファイルをApp_Codeフォルダに保存すると
自動的にプロキシクラスを生成してくれるはずです。
_________________
ASP.NET+Ajaxサンプル集 | JavaScript+Ajaxサンプル集
mikan
ベテラン
会議室デビュー日: 2002/08/19
投稿数: 58
投稿日時: 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を作ってみましたが、特に何も起こりませんでした。


引き続き情報を探しています。
よろしくお願いします。
pitfall
会議室デビュー日: 2007/12/05
投稿数: 14
お住まい・勤務地: 東京都
投稿日時: 2008-05-23 12:29
pitfallです。

引用:

WSDLからasmxを作る手順を探しています。



asmxを作るってことはサービスの中身のロジックもwsdlから
自動作成したいということですか?

WSDLはWEBサービスのインターフェースを記述したものなので
その実装(=asmx)までは作れないかと思います。

mikan
ベテラン
会議室デビュー日: 2002/08/19
投稿数: 58
投稿日時: 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サービス開発ツール」に
引用:
トップダウンWebサービス開発は、WSDLから開始します。 JDeveloperを使用すると、WSDLを作成して、必要なすべてのJavaアーチファクト、デプロイメント・ディスクリプタおよび実装Javaファイルを生成できます。 通常、トップダウン・アプローチは、相互運用性を確保するための最適な方法です。これは、XML標準を使用して様々なメッセージ書式と操作を記述したサービスから開発を開始することで、作成されたWebサービスがプラットフォームにとらわれないためです。



とあります。

また「5.2.6 トップダウンWebサービスの作成方法」にその手順が記されています。

このようなことをVisual Studioでできないかな?ということを考えています。

よろしくお願いします。
かめたろ
ぬし
会議室デビュー日: 2003/03/20
投稿数: 255
投稿日時: 2008-05-24 23:23
引用:

ロジックまで期待するわけじゃなくて、スケルトン(という表現でいいかな)
ができればいいと思っています。


wsdl.exeにサーバー側コードを生成するオプションがあるはずです。
/serverInterface? /server?
ちと忘れましたので、msdnライブラリをもう1度読んで試してみてください。
かめたろ
ぬし
会議室デビュー日: 2003/03/20
投稿数: 255
投稿日時: 2008-05-26 16:16
時間ができたんで、ちと確認してみました。
/serverInterface と /server のどちらのオプションでもサーバー側コードを生成できました。
それぞれのオプションでの生成したコードを見比べてみると、パッと見で異なるところは、wsdl:service部分だけのようです。
/serverInterface … Interfaceになる
/server … MustInherit Classになる(昔はこっちのオプションしか無かったです)

コマンドプロンプトでwsdl.exeのヘルプを参照すると、/serverではなく/serverInterfaceを使うようにと書いてあります。

なお、生成されるファイルはコードファイル(この表現でいい?)のみです。
自分でasmxを追加して、そのコードビハインドでImplementsする必要があります。

スキルアップ/キャリアアップ(JOB@IT)