- - PR -
SQL SERVERとWEBサービスについて
1
投稿者 | 投稿内容 | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2007-03-22 17:02
(新システム)
開発言語:C# 2005 DB :SQL SERVER 2005 WEB :ASP.NET 2.0 (旧システム) 開発言語:C# 2002 DB :SQL SERVER 2000 WEB :ASP.NET 1.0 いつもお世話になっております、るぷ犬です。 現在、旧システムの開発環境、実行環境の変更、機能追加というシステムの調査、 開発を行っています。 そのシステムのソリューションのあるひとつのプロジェクト内に Web Referencesというフォルダがあります。 WEBサービスだと思うのですが、そこにひとつのフォルダがあり、 WSDLファイルとmapファイルがぶら下がっています。 最初は他のソリューション(オンラインなど)か、もしくはフォルダの プロパティーの『Web 参照 URL』にあるのかと思っていたのですが、 WEBサービスのフォルダ名を探してもありませんでした。 ずっと(1ヶ月ぐらい。。。汗)、探しているうちにSQL SERVER 2000で、 既存のストプロをWEBサービス化できるということが分かりました。 なせ、そういう方向で探していたかというと、WSDLファイルの中にストプロと 同じ名称が入っていたからです。 ただ単に、合わせていたというだけかもしれませんが、あわせるには何か意味が あるはずだと思うのです。 ここで質問なのですが、SQL SERVER 2000のストプロをWEBサービス化 されているかを確認するにはどうしたらいいのでしょうか。 ご存知の方、どうぞ、よろしくお願いします。 (XML & SOA会議室と迷いましたが、.NETということで、こちらに投稿致します) | ||||||||||||||||
|
投稿日時: 2007-03-22 19:37
お世話になってます。がんふぃーるどです。
SQLXMLはほとんど使ったことが無いので、細かいところはお答えすることができないかもしれませんが、どのストアドがWebサービスとして公開されているかは次の手順で確認できるはずです。
多分これでいけると思います。 | ||||||||||||||||
|
投稿日時: 2007-03-23 09:33
がんふぃーるどさん、ありがとうございます。
2000の方は本番マシンで、かつ、すでに運用されているものなので すぐには確認ができません。(保守サーバーもあてにならないという状況。。。汗) ところで、この『SQLXMLのIISサポート構成』というのは、全てのプログラムの SQL SERVER 2000から、選択できるツールですよね? これは、SQL SERVER 2005にはないように思えるのですが、 どこにいったのでしょうか。 また、2000と2005ではストプロのWEBサービス化の方法というのは 異なるものなのでしょうか。 2005ではクリエイトエンドポイントいうT-SQLを使うようですが。。。 さらに、質問となりますが、よろしくお願いします。 | ||||||||||||||||
|
投稿日時: 2007-03-23 12:21
この辺を説明していなかったのですが、SQL Server 2000でストアド等をWebサービスとして公開するには次のツールキットをインストールする必要があります。 SqlXml 3.0 Service Pack 3 これをインストールすると、[SQLXML 3.0]というフォルダがプログラムの中に追加され、そのフォルダの中に[IISサポート構成]というのがあります。 注:SQLXML 3.0 SP2 以前を使用している場合、SOAP ToolKitというものをインストールするように強要されるかもしれません。ただ、SOAP Toolkit は Windows Server 2003 上で正常に動作しません。 Support for SOAP Toolkit Versions 2.0 and 3.0 on Windows Server 2003 ↑日本語訳がめちゃくちゃなので英語版を見た方が良いと思います。英語版ではSOAP Toolkit 2.0 は Windows Server 2003 でサポートされていません。代わりに.NET Frameworkを使用しましょうと書かれています。尚、SQLXML 3.0 SP3 では SOAP Toolkit との依存関係は切れているので、こちらを使用しましょう。 また、SQL Server 2005 は SQLXML 4.0 の機能を取り込んでいて、SQL Server 2005 をインストールすると SQLXML 4.0 が自動的にインストールされます。が、SQLXML 4.0 とSQLXML 3.0は別物と考えた方が良いです。
ええっと、少しややこしいのですが、SQL Server 2000 でも SQL Server 2005 でも SQLXML 3.0 SP3 を使用してストアドをWebサービスとして公開することができます。ただし、SQL Server 2005 ではCREATE ENDPOINTを使用してストアドをWebサービスとして公開することもできます。 マイグレーションということであれば、無理にCREATE ENDPOINTを使用する必要は無いと思いますが、この辺は工数と相談といったとこでしょうか… [ メッセージ編集済み 編集者: がんふぃーるど 編集日時 2007-03-23 12:24 ] | ||||||||||||||||
|
投稿日時: 2007-03-23 21:45
またまた、ありがとうございます。
とりあえず、自分が受け取って感じたことをまとめてみました。 (おかしなこと言っていれば、ご指摘お願いします) SOAP Toolkit バージョンに関係なく、もう古いものなので、できるだけ.NET Frameworkを使用しましょう。 SQLXML 3.0 SP3以上であるならば、さらに使用する機会はありません。 SQL Server 2000 ストプロのWEBサービス化の方法はSQLXML 3.0 SP3を使用して実施します。 SQL Server 2005 ストプロのWEBサービス化の方法はSQLXML 4.0を使用して実施します。 これはSQL Server 2005 をインストールする時に自動的にインストールします。 しかし、新規で開発を行う時などはCREATE ENDPOINTを使用してもいいです。 ここで、また質問なのですが、 SQL Server 2005 上でのCREATE ENDPOINTかSQLXML 4.0を使ってのWEBサービス化というのは どういう違いがあるのでしょうか。 SQLXML 4.0も3.0の時のように、ツールでWEBサービス化させるのでしょうか? | ||||||||||||||||
|
投稿日時: 2007-03-24 10:45
そうです。
その通りです。
前に説明しましたが、SQL Server 2005 でストアドをWebサービス化するにはSQLXML 3.0 SP3 を使用するか、CREATE ENDPOINT(ネイティブ XML Webサービス) を使用するかのどちらかです。SQLXML 4.0 は CREATE ENDPOINT(ネイティブ XML Webサービス) を使用してストアドをWebサービス化するときにSQL Server 2005が使用しています。この辺は次のURLを参考にすればある程度わかると思います。 Microsoft SQL Server 2005 での XML サポート
まず、SQLXML 4.0 には SQLXML 3.0 みたいなIISサポート構成ツールはありません。これは SQL Server 2005 自体がHTTP/SOAPをホストするようになった為、要らなくなったのでしょう。 CREATE ENDPOIT(ネイティブ XML Webサービス)と SQLXML 3.0 の違いについては、次のURLを参照。 ネイティブ XML Web サービスの概要 この他として、SQLXMLにはGUIがあるというぐらいでしょうか。 [ メッセージ編集済み 編集者: がんふぃーるど 編集日時 2007-03-24 10:50 ] | ||||||||||||||||
|
投稿日時: 2007-03-26 09:23
ご丁寧なお返事ありがとうございます。
とりあえず、『CREATE ENDPOIT(ネイティブ XML Webサービス)と SQLXML 3.0 の違い』については、 記載していただいた、URLで勉強し、どちら(既存のままか、ネイティブかXMLか)でいくか 決めたいと思います。 今日、お客様の本番サーバーを見に行く機会ができましたので、 それを見てから、再度、判断したいと思います。 本当に、いろいろとありがとうございました。 また、お尋ねするかと思いますが、よろしくお願いします。 | ||||||||||||||||
|
投稿日時: 2007-03-30 11:59
お客様の本番サーバーを見に行きました。
すると、上記のようなツールのインストールや設定などが 見つからず、途方にくれておりました。 とりあえず、手順書に書かれているバッチ(中ではsoapsudl.exeを実行している)し、 イントラ(WEBページ)からのリモート処理を実行させたところ、サーバーアプリを 動かせました。 てっきり、ソリューションの中にWEBサービスなどが入っていましたので、 ストアドのWEBサービス化を調べる方向に進んでおりました。 となると、ただ単にイントラ(WEBページ)から、 サーバーアプリの機能をキックしただけ、 (後の全ての処理(DB更新など)は、サーバーアプリが行っている) となります(はず)。 結局の所、soapsudl.exeが何をして、何ができるものなのかというところが 分からなかったということになり、それについては今後、調べていこうと思います。 がんふぃーるどさん、今までありがとうございました。 |
1