トップページ⇒tech
984コメント338KB

Webサービス プログラミング総合スレッド

レス数が900を超えています。1000を超えると表示できなくなるよ。
0001デフォルトの名無しさんNGNG
.NET/J2EEプラットフォームを問わず、Webサービス(WebServices)関連
の要素技術・テクニックについて話をしませんか?

・SOAP/WSDL/UDDI規格および実装API
・ApacheSOAP/Axis実装または.NET実装
についての話題。
(あえてWebProg板ではなくプログラム板にしました)

関連スレ:
「XML Webサービスってビジネス的にどう?」
http://pc3.2ch.net/test/read.cgi/tech/1019326946/
「Jakarta Project」
http://pc3.2ch.net/test/read.cgi/tech/1019996589/
「GoogleAPIってどう?」
http://pc.2ch.net/test/read.cgi/php/1018614427/

ApacheSOAP:http://xml.apache.org/soap/index.html
Axis:http://xml.apache.org/axis/index.html
UDDI4J:http://www-124.ibm.com/developerworks/oss/uddi4j/
WSDL4J:http://www-124.ibm.com/developerworks/projects/wsdl4j/
08098072008/02/16(土) 07:42:31
>>808
ありがとう。
レスが超遅くてごめんなさい。
探してみます。
0810デフォルトの名無しさん2008/02/19(火) 14:36:35
WebServiceで使う設定をweb.xmlのコンテキストパラメータに入れて、
そこから取ってくる方法が無いということでハマッています。
普通、いろんな設定情報はどこにセットして、どうやって取得してますか?
0811デフォルトの名無しさん2008/02/19(火) 15:14:27
よーわからんが所詮ファイルだからファイル読み込めばいいんじゃね
0812デフォルトの名無しさん2008/02/19(火) 20:52:07
Javaの話?
0813デフォルトの名無しさん2008/02/19(火) 22:25:02
ここを例に挙げるのは単に最初に目にしたからだけどWebService実行するのも
Servletなんだから同じようなやり方で取れるんじゃないの?
ttp://www.javaroad.jp/servletjsp/sj_servlet5.htm
0814デフォルトの名無しさん2008/02/19(火) 23:57:03
Webサービス自体はservletとしてのバックグラウンドを隠蔽されちゃってるから見えないですよね。
ファイルで読み書きするだけなら、なにもわざわざweb.xmlに入れなくてもっていう所だし。
DBの設定はJNDIで取得するのに、それ以外の設定ができないっていうのもおかしいとは思うけど。
0815デフォルトの名無しさん2008/02/20(水) 01:11:39
例えばAxisであればこういう方法の事ですか?
ttp://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=41803&forum=9&5

使っているWebServiceのServerとして何を使っているかで取り方が違うと思うので
調べてみたらどうでしょう。
0816デフォルトの名無しさん2008/02/20(水) 01:14:44
あぁ、変な日本語だ。
0817デフォルトの名無しさん2008/02/20(水) 14:46:35
お前にしちゃ十分だよ
0818デフォルトの名無しさん2008/02/21(木) 00:29:09
どういう意味だよ?
0819デフォルトの名無しさん2008/02/23(土) 12:07:00
すみません、こちらで質問していいのか不安なのですが、

google AJAX Feed APIを利用して、天気予報のRSSをWeb上にfeedしたいと思っています。

具体的には、
http://weather.livedoor.com/forecast/rss/9.xmlのRSS から、
大分のタイトルのFeedだけ表示したいです。

現状では、googleのサンプル通りにすると、下記のように九州のすべての県が表示されてしまいます。

[PR ] ブログで福岡県のお天気を簡単ゲット!
[ 今日の天気 ] 福岡 - 曇時々晴 - 最高気温10℃ - 2月23日(土)
[ 今日の天気 ] 大分 - 晴のち曇 - 最高気温12℃ - 2月23日(土)
[ 今日の天気 ] 長崎 - 曇時々晴 - 最高気温10℃ - 2月23日(土)
[ 今日の天気 ] 佐賀 - 晴のち曇 - 最高気温10℃ - 2月23日(土)
[ 今日の天気 ] 熊本 - 晴のち曇 - 最高気温11℃ - 2月23日(土)
[ 今日の天気 ] 宮崎 - 晴れ - 最高気温15℃ - 2月23日(土)
[ 今日の天気 ] 鹿児島 - 晴れ - 最高気温14℃ - 2月23日(土)

この中から大分のタイトルだけ取り出すには、どうしたら良いでしょうか?
昨日から一日中、ネットで検索していますが、どうもいい情報が見つかりません。
良いサンプル等のサイト教えて頂ければうれしいです。

プログラミングとか、初心者なもので、宜しければ教えてください。
0820デフォルトの名無しさん2008/02/24(日) 07:06:01
>>819
RSSはXMLだから
XMLパーサで、ほしい県だけとりだせばいいんでないの?
0821デフォルトの名無しさん2008/02/24(日) 12:18:40
>>820
レスありがとうございます。
早速XMLパーサで検索して見たのですが、XMLの構造を解析するソフトのようなもの・・みたいな検索結果でした。
今回、自分のやりたいことは、htmlに記述する形式で、正規表現で「大分」のみをピックアップするみたいなイメージを思い浮かべています。
勉強不足で申し訳ありませんが、このXMLパーサとはhtmlに記述できるようなものでしょうか?

0822デフォルトの名無しさん2008/02/24(日) 13:02:19
Webで検索すれば見つかるけどRSSをXSLTでhtmlに加工するのは?
0823デフォルトの名無しさん2008/02/24(日) 23:13:18
>>822
レスありがとうございます。
XSLTで変換するという方法は、初めて知りました。
検索してみたら、自分が考えていた方法とは、また違うやり方みたいで、参考になりました。
今、いろいろ調べていますが、なにせ初心者なものでまだXSLTについてよく理解できません。
これから、じっくり調べてみます。
ありがとうございました。また、頭の中が整理できたら質問させて下さい。

0824デフォルトの名無しさん2008/02/26(火) 23:46:24
>>819
このAPIの詳細知らんけど、ここまで取れてんなら
単純に該当文字列が入った行抜くだけでいんでないの?
正規表現も何も無い気がするけど

つーか・・・
>勉強不足で申し訳ありませんが、このXMLパーサとはhtmlに記述できるようなものでしょうか?
なんでこの手の人たちって
初心者だとか免罪符みたいに使うのかね。
このぐらい自分で調べられないならどうせ何か作るのも続かないよ。
0825デフォルトの名無しさん2008/02/27(水) 14:09:27
>>819
Web板逝った方が良い
0826デフォルトの名無しさん2008/02/27(水) 20:38:20
>>825
ありがとうございます。
いまだ、答えは見つかっていません。
Web板の方で聞いてみることにします。ども。
0827デフォルトの名無しさん2008/02/27(水) 21:18:24
http://weather.livedoor.com/forecast/rss/44/114.xml
0828デフォルトの名無しさん2008/02/27(水) 21:31:36
ちょっwww
0829デフォルトの名無しさん2008/02/27(水) 21:37:39
できちゃってるじゃん。
0830デフォルトの名無しさん2008/02/27(水) 21:39:26
>>820-825
は馬鹿だったと
0831デフォルトの名無しさん2008/02/27(水) 21:52:29
アー!
0832デフォルトの名無しさん2008/02/27(水) 22:11:13
スレが伸びたのも久しぶりだったし、実は壮大な釣りだった気がする。
0833デフォルトの名無しさん2008/02/27(水) 22:19:57
アッー!
0834デフォルトの名無しさん2008/02/27(水) 23:46:13
>>827
ありがとうございます。
こんなに簡単な回答があるとは思いませんでした。
ちなみに44とか114はどうやって見つけたのでしょうか?
いままで調べた苦労はなんだったのかと。
0835デフォルトの名無しさん2008/02/28(木) 04:54:09
つか、普通にリンクが張ってあるんだけど…。
http://weather.livedoor.com/weather_hacks/rss_feed_list.html
0836デフォルトの名無しさん2008/02/28(木) 14:29:05
アッー!
0837デフォルトの名無しさん2008/03/02(日) 15:09:18
質問させてください。

今WSDLを使用してのSOAP連携を考えているのですが(AXIS2で)
binding要素のRPCかdocumentの部分がいまいちわかりません。
下記2つ質問させてください。

質問1
以下の順序で行った際、RPCかdocumentを設定する箇所が存在しないのに
document(/literal)に勝手になっているのはなんでなんでしょうか?
�@エクリプスプラグインのblancoSOAPを使用
�AWSDLを生成するための電文定義書を記入
�B作成した電文定義書からWSDL生成
�CWSDLを見るとstyle="document" use="literal"となっている。

質問2
また、RPCで行っているWSDLと、document/literalで行っているWSDLを
実際に見せてもらったのですが両方ともstyle="document" use="literal"
になっていました。
ここで知りたいのは実は両方ともdocument/literalのか、
それともWSDLだけでなく他の部分で設定する箇所があるのかです。


また探したのですが見つからなかった為、上記で参考になるHP
などありましたら教えてください。

宜しく御願いします。
0838デフォルトの名無しさん2008/03/02(日) 15:30:59
(質問1)
blancoSOAPが何か良く知らんが、Axis2でWSDLを生成したならAxis2のdefaultが
document/literalのはずだからWSDLもdocment/literalになるのでは?
JAX-WSを使っているならannotationでrpc/encodedを指定できるがblancoSOAPで
どう書くのかは知らん。

(質問2)
document/literalとrpc/encodedではそもそもXMLとしてのschemaが違うし
両者のそれを比べて同じなら、RPCと思っていたのも実はdocument/literalだったという落ちでは?
多分どちらもdoc/literalだと思う。
08398372008/03/02(日) 17:42:27
>838
ご回答ありがとうございます。

>blancoSOAPが何か良く知らんが、Axis2でWSDLを生成したならAxis2のdefaultが
>document/literalのはずだからWSDLもdocment/literalになるのでは?
blancoSOAPはあくまで決められたフォーマットからWSDLを生成するだけなので
AXISはなくてもできるんです。なのでblancoSOAPのデフォルトがdocment/literal
になっているのかな。。

>document/literalとrpc/encodedではそもそもXMLとしてのschemaが違うし
両者のそれを比べて同じなら、RPCと思っていたのも実はdocument/literalだったという落ちでは?
多分どちらもdoc/literalだと思う。

やっぱそうですよね・・・。
でも大手システム企業がそういってやっているものなので
確証得られるHPとかあればなと思ったんです。。
0840デフォルトの名無しさん2008/03/02(日) 17:55:24
サーバ側でWebServiceのサーバとして何を使っているかでWSDLが何になるか推測できるのでは?
Axis1.xなら多分rpc/encodedだし、最近のAxis2.xやApache CXFならdocument/literalでしょ。
blancoSOAPがAxis1.x世代以降の最近のツールなら生成するのはdocument/literal、多分。

仕事で事情があるんだろうが、Axis自体がWSDLを生成するツールを持っていると思うから、
blancoSOAPに頼らずAxisにWSDLの生成を任せれば良いと思うが。
08418372008/03/02(日) 18:09:10
>Axis1.xなら多分rpc/encodedだし、最近のAxis2.xやApache CXFならdocument/literalでしょ。
>blancoSOAPがAxis1.x世代以降の最近のツールなら生成するのはdocument/literal、多分。
これははじめて知りました、ありがとうございます。
確かにAxis1.4にはいっている、java2WSDLで生成されたWSDLはrpc/encodedでした。

AXISに入っているTOOL(java2WSDL)から生成すると結局JAVAを書かなきゃいけないんで
IFの設計書から作成するほうが楽なんです。

どちらにしろWSDLを見ればrpc/encodedかdocument/literalは
わかりますよね?
そうすると質問�AはやっぱRPCと思っていたのも実はdocument/literal
てことかなー。
08428372008/03/02(日) 18:51:35
追記です

>サーバ側でWebServiceのサーバとして何を使っているかでWSDLが何になるか推測できるのでは?
質問�Aのサーバ側はAXIS1.4を使っていてrpc/encodedと言っています。

AXIS1.4ならばrpc/encodedじゃないか?ってことだと思うんですが
上記のようなblancoSOAPみたいなTOOLを使っていればdocument/literalに
なったりしますよね?
だからWebServiceのサーバとして何を使っているかでは判断できないような
気がします。



0843デフォルトの名無しさん2008/03/02(日) 21:09:54
確かにblancoSOAPのWSDLのサンプルを見るとstyle="document"となっていて、かつblancoSOAP仕様に
「blancoSOAPが生成したWSDLおよびxsdファイルは下記の環境で動作が確認されています。」
ttp://www.igapyon.jp/blanco/blancosoap.html

* Apache Axis
* Microsoft Visual Studio .NET 2003
* Curl (Webサービス・クライアントのみ)

という事らしいのでAxis1.4でWSDLはdoc/litを使っている可能性はありそうですが、その辺りは当然
外野にわかる話ではないのでAxis1.4単独で使っているのかblancoSOAP等を介しているのか
その大手システム企業さんに聞いてみるという事ではないですか?

あくまでWSDLはrpc/encodedだというなら、クライアント側の実装次第ではbloncoSOAP生成の
WSDLではなく、こんな感じで確認できるAxisの生成するWSDLを使っている可能性もありそうですから。
ttp://localhost:8080/axis/services/echo?wsdl

現状Axis1.4のシステムをblancoSOAPが生成するdoc/litのWSDLを使う事でAxis2にスムーズに移行
させる事を狙っているなら、それについての技術面での検証も必要でしょうし。
08448372008/03/02(日) 21:31:10
ご回答ありがとうございます。

>Axis1.4単独で使っているのかblancoSOAP等を介しているのか
>その大手システム企業さんに聞いてみるという事ではないですか?
独自開発のExcelのマクロツールを使用しています。
そのツールを実際に使用したのですがdoc/litのWSDLが生成されました。

どちらにしろ相手方に確認したほうがよさそうですね。。。


とりあえず下記が確認できてよかったです。
AXIS1.4のWSDL生成TOOLで生成されるWSDL⇒rpc/encoded
AXIS2のWSDL生成TOOLで生成されるWSDL⇒doc/lit
blancoSOAPのWSDL生成TOOLで生成されるWSDL⇒doc/lit

ありがとうございました。
0845デフォルトの名無しさん2008/03/02(日) 21:51:42
> 独自開発のExcelのマクロツールを使用しています。
> そのツールを実際に使用したのですがdoc/litのWSDLが生成されました。

そう確認を是非。「質問�Aのサーバ側はAXIS1.4を使っていてrpc/encodedと言っています。」と矛盾するので。

> AXIS1.4のWSDL生成TOOLで生成されるWSDL⇒rpc/encoded
> AXIS2のWSDL生成TOOLで生成されるWSDL⇒doc/lit

これはあくまでdefaultの場合なので、パラメータの指定によっては例えばAxis1.4でstyle="document"の
WSDLを生成する事もできるとは思います。でも可能性は低いと思います。

> blancoSOAPのWSDL生成TOOLで生成されるWSDL⇒doc/lit

同様にパラメータ指定等でrpc/encodedのWSDLを生成する機能があるかもしれませんが考えたくないです。
08468372008/03/02(日) 21:59:21
>そう確認を是非。「質問�Aのサーバ側はAXIS1.4を使っていてrpc/encodedと言っています。」と矛盾するので。
ですね。

>これはあくまでdefaultの場合なので、パラメータの指定によっては例えばAxis1.4でstyle="document"の
>WSDLを生成する事もできるとは思います。でも可能性は低いと思います。
>同様にパラメータ指定等でrpc/encodedのWSDLを生成する機能があるかもしれませんが考えたくないです

はい、その辺は意識あっています。

確認してみます。
0847デフォルトの名無しさん2008/03/03(月) 23:58:30
Webサービスじゃないのでスレ違いかもしれませんが、
IISホスティングの.NET Remotingでクライアント証明書を
使ったSSL通信ってできますか?

SSLはIISの設定と接続URLをhttps://でいけそうなんだけど、
X509クライアント認証の情報がなくて困ってます。

.netは2.0です。
よろしくです。
0848デフォルトの名無しさん2008/03/07(金) 15:54:32
すみませんかなり検索したのですがどうしても解決できなかったので
お教え下さい。

今、POJO で Axis2 にサービスを追加しているのですが、例外を
投げるサービスの定義の仕方が分かりません…。

調べてみると単純に Exception を投げるサービスを定義すれば
いいみたいな事が書いてあったのですが、その通りに実装すると
wsdl を参照する時に下記の例外が発生してしまいます。

そもそも、例外を投げるサービスというのはどう定義するのでしょうか?

org.apache.axis2.AxisFault
at org.apache.axis2.AxisFault.makeFault(AxisFault.java:417)
at org.apache.axis2.description.AxisService.getWSDL(AxisService.java:1148)
at org.apache.axis2.description.AxisService.printWSDL(AxisService.java:1077)
at org.apache.axis2.transport.http.ListingAgent.processListService(ListingAgent.java:280)
at org.apache.axis2.transport.http.AxisServlet.doGet(AxisServlet.java:229)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
.....
08498482008/03/08(土) 01:17:30
すいません解決しました。

問題は例外の定義じゃなくて、void 型のサービスを定義した時に
@Oneway のアノテーションを記述していなかった事みたいです。
これを書いたら解決しました。
0850デフォルトの名無しさん2008/03/08(土) 03:34:06
質問させてください。

現在、VB2005 + asp.net で Web アプリ作ってます。

ドキュメントルート外のディレクトリに保存している画像ファイルを画面に表示させたいのですが、
img タグの src 属性にはドキュメントルート内の相対パスしか指定できませんし・・・。

ドキュメントルート内のディレクトリにファイルをコピーするとか、
そんなことせずに直接、画像の保存場所から読み込んで表示させる何かよい方法ってないもんでしょうか?
0851デフォルトの名無しさん2008/03/13(木) 15:48:09
またまた質問ですが…すみません

POJO でデプロイしたサービスで、うまくセッションを処理できないのですが
POJO でデプロイしたサービスではセッションは扱えないのでしょうか?
0852デフォルトの名無しさん2008/03/13(木) 17:16:36
セッション周りの扱いはサーバ製品毎に違うんじゃないかな?
POJOだから扱えないという事はないと思う。マニュアルとか調べてみたらいいよ。
0853デフォルトの名無しさん2008/03/13(木) 22:54:26
お騒がせしました、できました。

というかちょっと意味が違っていた様で、アノテーションを使ってデプロイするのが
POJO と呼ぶと思っていたのですが、services.xml を使ってデプロイするのも POJO
の一種なんですね。

services.xml の scope を transportsession にしたら、セッション繋がりました。
ありがとうございました。
0854デフォルトの名無しさん2008/03/19(水) 09:29:49
サービスとして、与えられたIPからスタブを自動生成し動的に管理する機能を組みたいのですが、
アドバイスをお願いします。
任意のサーバから不特定多数のサーバのきまった機能の呼び出し時の、
スタブ生成の自動化を想定しています。


具体的にはまずスタブを組み込むサービスを構築しておき、
スタブの置き換えもしくは他のサービスから管理できる構造にしておく。
WSDLのテンプレートをあらかじめ用意して、
入力された情報からIPやサービスポートの値を変更してスタブを作成する。
作成したスタブを以前のスタブと置き換えていき、
不特定多数のサーバの機能を呼び出だしていく。

この置き換えるタイミングなのですが、
スタブを置き換えるといつサービスに反映されるのか把握しづらく、
何か教本や事例のようなものはありませんか?
クライアントならタイミングを任意に設定できるのですが
サービスとして配置したときはどのようにタイミングをとっていいものか悩んでいます。
0855デフォルトの名無しさん2008/03/19(水) 23:37:35
つうか、それ以前に、スタブを自動生成しても、アプリのインタフェースはどうするんだ?
インタフェース固定で単にサーバのホストやポートだけ色々あるっつーんなら、
普通、スタブはそのままでそこだけ変更して呼び出しできるAPIあるだろ。
0856デフォルトの名無しさん2008/03/20(木) 04:31:46
>>855
まさにその様な機能をさがしていたんです。
ずっと探していたのですが、
WSの書籍を探しても初心者用の基本的なモノしかなく
現在の実装について詳しく載っている書籍をみつけられませんでした。
みなさんはどこで詳しい情報を入手しているのでしょうか?
出版物で何かお勧めがありましたらお願いします。
0857デフォルトの名無しさん2008/03/20(木) 23:33:23
JAX-RPCなら、Stub#_setProperty(Stub.ENDPOINT_ADDRESS_PROPERTY, hostUrl)
http://java.sun.com/webservices/docs/1.6/api/javax/xml/rpc/Stub.html

JAX-WSなら…、……ないね、ワロタ。実装依存では何かありそうだけど。
0858デフォルトの名無しさん2008/03/21(金) 15:08:20
とおもったけど、やっぱJAXWSにもあったわ。さすがにあるわな。
http://java.sun.com/javase/ja/6/docs/ja/api/javax/xml/ws/BindingProvider.html#ENDPOINT_ADDRESS_PROPERTY
0859デフォルトの名無しさん2008/03/22(土) 01:22:34
Webサービスってどういうときに使ってるの?
0860デフォルトの名無しさん2008/03/22(土) 03:27:48
俺の知る案件では、やっぱB2Bだね。いまさらCORBAでもないし、Internet越しだしって感じで。
実際の所、RESTでも構わなそうだったりするけど、
金とか絡んでスキーマベースでかっちりやりたいようなのが、Webサービスでやってる。
Webサービスって言うと広く一般公開ってイメージが強いけど、
実際はもともと取引があるグループ内とかそんなのが多い。
0861デフォルトの名無しさん2008/03/22(土) 10:21:30
Webサービスは普通のWebアプリと何が違うのですか?
URLのパラメータで検索条件を渡すと該当するデータがXML形式で返ってくるというイメージしかないのですが
実際のところWebアプリとの違いって何ですか?
0862デフォルトの名無しさん2008/03/22(土) 11:28:15
webアプリは人間が使うもの
webサービスは他のプログラムから呼び出されるもの
0863デフォルトの名無しさん2008/03/22(土) 14:27:52
>>861
それはREST。このスレはSOAP中心かと。
0864デフォルトの名無しさん2008/03/22(土) 15:22:34
SOAPは重いしマジうんこ。
規格に乗っ取って公開するくらいしか能がない。
ま、それが重要かもしれんが。
0865デフォルトの名無しさん2008/03/22(土) 15:29:43
よく言われるけど、重いって何が?
またマスゴミの洗脳に乗ってるの?
0866デフォルトの名無しさん2008/03/22(土) 15:31:53
RESTでいいじゃん。
0867デフォルトの名無しさん2008/03/22(土) 15:35:33
だから、RESTじゃなくてSOAPだと何が重いの?
0868デフォルトの名無しさん2008/03/22(土) 15:38:20
作るのが難しいってことじゃないの?
0869デフォルトの名無しさん2008/03/22(土) 15:45:18
SOAPなら通常、普通にXML意識なしにサーバクラス作るだけだし、
クライアントも、コマンド一発でスタブを作って、それをXML意識成しに単なるクラスとして呼び出すだけ。

RESTの方こそ、ばらばらの野良仕様だから、サービス毎に、
サーバもクライアントも両方で、XMLレベルの処理から全部作らないといけない。

どう考えても、SOAPの方が楽だろ。


マスゴミの洗脳力は恐ろしいな。
0870デフォルトの名無しさん2008/03/22(土) 15:52:07
マスコミがどうのこうのは良くわからんが
XMLの仕様を決めておいて、条件に該当するデータを
XMLで出力するというのがRESTと言われているものなら、
その方が簡単じゃないの?
0871デフォルトの名無しさん2008/03/22(土) 16:31:53
>>870
おまえは、サービスでもクライアントでも作ったことあって言ってるの?
XML流して終わりの訳ないだろ。その中身が重要なんだろうが。
その中身だけ気にしてればいいSOAPと、XMLから全部自分で面倒見るREST。
それで、SOAPが大変でRESTが楽というなら、それを示せよ。
0872デフォルトの名無しさん2008/03/22(土) 16:34:39
ボキ両方やってるけどソープランドの方が楽だぉ。

休憩は規格考えるの自体がめんどいぉ(^ω^)
0873デフォルトの名無しさん2008/03/22(土) 17:02:10
SOAPの参考書でオススメのものって何?
0874デフォルトの名無しさん2008/03/22(土) 17:25:12
>>871
あなたとは以前一緒に仕事したことあるが、本当に皆から頼りにされるエンジニアだよね。
有名な会社で働き部下もいて収入も多いし、俺達とはえらい違いだ。
0875デフォルトの名無しさん2008/03/22(土) 19:40:56
SOAPのほうが作るのは楽だな。

重い=CPUの消費が大きいってことじゃねーの。
0876デフォルトの名無しさん2008/03/22(土) 20:48:22
SOAPは流行ってるの?参考書が全然無いけど。
0877デフォルトの名無しさん2008/03/22(土) 22:24:42
http://weather.livedoor.com/forecast/webservice/rest/v1?city={0}&day=today
これはlivedoorの天気サービスですが、v1ってのはどうやって開発してるんですかねぇ。

aspやaspとかcgiとかでも作れる
0878デフォルトの名無しさん2008/03/22(土) 22:26:45
http://weather.livedoor.com/forecast/webservice/rest/v1?city={0}&day=today
これはlivedoorの天気サービスですが、v1ってのはどうやって開発してるんですかねぇ。

aspやaspとかcgiとかでも作れるんでしょうか?
0879デフォルトの名無しさん2008/03/23(日) 12:18:38
SOAP が重いって言ってる奴は Hibernate とかの ORマッパ を使うときに
forループ内で find(id) 呼びまくっておきながら遅いと言っている奴に通じるものを感じるな。

何事も問題の背景と、解決策の特性を知った上で適切なコーディングをする。
これに尽きると思うんだがなぁ。
0880デフォルトの名無しさん2008/03/23(日) 20:00:40
送受信するデータ量がたいしたことないならSOAPでいいと思うけど
俺の担当しているシステム(某金融系)だと
データ量が滅茶苦茶多いのでとてもそのまま使えたものじゃない。
でかそうなデータの場合、別出しでなんとかしないといけないかと思っている。
(正直WEBサービスいらんと思うけど、
俺があれこれ言うレベルじゃないところでもう決まっているから)

あとここで皆がRESTって言ってるのってRESTfulじゃない方だよね?
(オライリーの本とか読んだけど、イマイチ意義が理解できていない)
POX over HTTPとかどっかで書かれていたけど
非SOAPなXMLをHTTP越しでやり取りする方式を
大雑把にRESTと呼んでいると俺は思っている。
0881デフォルトの名無しさん2008/03/23(日) 21:50:54
AJaxもXML形式でデータを返すから、あれもいわゆるRESTってやつなの?
うちの社内システムはaspで作られてるのが多いんだけど、
ソース見たらResponse.WriteでXML形式になるようにデータを出力してた。
これがREST?
0882デフォルトの名無しさん2008/03/23(日) 23:12:21
違う
0883デフォルトの名無しさん2008/03/23(日) 23:55:49
>>882
何で違うの?
XMLを出力すればRESTなんでしょ?
0884デフォルトの名無しさん2008/03/24(月) 01:32:59
>>880-883
本来の「REST」はWebサービスの用語でなく、Webi一般の正しいあり方を指した言葉だが、
Webサービスで、「REST」と言ったときは、通常、
SOAPじゃなくて、人間相手ではなく、HTTPで提供されてるサービス一般を「適当」にそう呼ばれる。


>>881
Ajaxといったら、人間相手のUIを前提にしてるから、Webサービスとは言わない。
ただ、AjaxのUIで、Webサービスを呼び出して利用するような形は有り得る。
0885デフォルトの名無しさん2008/03/24(月) 06:51:42
SOAPでもRESTでもない謎のXML over HTTPが大流行中らしいが、
SOAPに比べて優れた点がまったくないような気がする。

ああ、ゴリゴリとコーディングしていけば作れるってところが
嬉しいのかな?
0886デフォルトの名無しさん2008/03/24(月) 22:32:25
.NETでWebサービスを作りたいのですがサンプルが載ってるサイトってありますか?
まずは試しにデータベースに適当にデータを入れて、それを検索するようなものを作りたい。
勉強していきたいので教えてください。
0887デフォルトの名無しさん2008/03/24(月) 22:34:07
ありますよ
0888デフォルトの名無しさん2008/03/24(月) 22:34:52
URLを教えてさいい
0889デフォルトの名無しさん2008/03/25(火) 23:24:20
別に言語は関係ない。
rubyでもaspでもaspxでも構わないがとにかくxmlを返せばWebサービスです。
そのように覚えた方が良い。
SOAPが敬遠されるのはめんどくさい印象があるから。
利用側もちゃんと仕様に沿ったXMLを投げないといけない。
HTTPを投げればXMLが返ってくる方が使うほうは楽なので流行ってるようです。
0890デフォルトの名無しさん2008/03/26(水) 00:19:33
>>889
.NETとJavaではSOAPが一番ラクだけどな。
XMLを意識することさえない。
ていうかこの世で一番ラクなRPC。
0891デフォルトの名無しさん2008/03/26(水) 00:33:26
>>886
http://www.microsoft.com/japan/msdn/thisweek/10lines/aspnet_webservicedev_cs.aspx
0892デフォルトの名無しさん2008/03/26(水) 08:42:43
SORPはサービスを使うのがめんどいのでは?
エンベロープとか意味わからないし。
0893デフォルトの名無しさん2008/03/26(水) 12:56:02
>>892
>>864->>875
0894デフォルトの名無しさん2008/03/26(水) 14:44:18
Webサービスを作るのはSORPの方が楽。
Webサービスを利用するのはRESTの方が楽。
こういう事かな?

RESTの場合ブラウザでURLをたたけばXMLが表示されるから分かりやすいよね。
こういうデータが返ってくるんだって。
SORPの場合は?
0895デフォルトの名無しさん2008/03/26(水) 15:51:41
>>894
あくまで.NETとJava限定の話だが、クライアントを作るのも
SOAPがラク。
特にVisual Studioの「Web参照」はマジ神。
URLを入力するより圧倒的にラク。URLを入力するには
クエリ文字列を延々と打ち込まなきゃいけないからな。
0896デフォルトの名無しさん2008/03/26(水) 19:39:18
XMLを出力するのって何でやってる?
GridViewのようにデータテーブルぶっこむと
テーブルタグを生成してくれるみたいな
オブジェクトってない?
0897デフォルトの名無しさん2008/03/26(水) 21:45:58
SOAPライブラリの使い方を調べるのが面倒だから、
むしろSOAPライブラリ相当の低レベル処理まで自分で実装するよ、
ってのがRESTが楽、という人達なんだろう。
0898デフォルトの名無しさん2008/03/26(水) 22:35:42
WebAPIはRESTでの利用が7割くらいという記事を見たことがある。
やっぱりAPIを利用するのはHTTPで利用するのが楽ということでしょ。
HTTPで利用する=RESTと呼ばれているものかは知らんが。
GoogleMapAPIって色んな会社、個人で使ってるけどHTMLに組み込むだけだしね。
そういう事をSOAPより楽じゃんって言ってるのでは?
0899デフォルトの名無しさん2008/03/27(木) 10:36:17
>>898
Google Mapを貼りこむのはWebサービスじゃないだろさすがに。

IDE支援がない場合は、SOAPはライブラリを調べるのが面倒。
いかすIDEのないLL(笑)の奴らがマスゴミを使って「SOAPはダメ」と
アジってるんだろ。
0900デフォルトの名無しさん2008/03/27(木) 14:38:27
Webサービスを作る事と使うことでは意味が違う。
使うのはRESTの方が楽。
0901デフォルトの名無しさん2008/03/27(木) 15:35:09
>>900
だから.NETとJavaでは使うにもSOAPのほうがラクなんだが…
0902デフォルトの名無しさん2008/03/27(木) 20:51:35
でもREST版のサービスの方が使われてるね。
それは.NETやJAVAを使う人が少ないから?
0903デフォルトの名無しさん2008/03/27(木) 22:08:31
マスゴミにだまされるアフォが多いから。
自分の手を動かして確かめようとしない奴が多いから。
0904デフォルトの名無しさん2008/03/28(金) 21:34:08
いや普通に確かめた結果 SOAP 楽www

クソみたいに楽でワロタw
0905デフォルトの名無しさん2008/03/28(金) 21:55:28
楽なのに普及しないのは
SOAPがオタ臭いイメージがあるからだな。
マスコミをマスゴミとか言っちゃう奴が何言ってんだか。
0906デフォルトの名無しさん2008/04/01(火) 08:38:08
結局JavaScriptあるいはプログラムすらせずに貼り付けてWebサービス利用する奴が
大半だってことなんだろうな
まぁJavaや.Netから呼び出す場合でも最近はライブラリが増えてきたからRESTであろうと
SOAPであろうとそれほど手間は変わらないみたいだが
0907デフォルトの名無しさん2008/04/01(火) 12:57:53
そのうちポータルサイトやブログサイトまで
「Webサービス」って呼ばれそうな勢いだな。
0908デフォルトの名無しさん2008/04/10(木) 08:12:05
>>907
プログラム処理可能な構造化された情報が取れるんなら間違いなく
「Webサービス」だろ。microformatsでやるとかXML namespaceで
やるとか妥当な方法もすでにあることだし。

人間向けと機械向けの情報を一体化して連携させれば超強力な
情報システムになると考えてやろうとしてるのがSemWebな人なわけで。
レス数が900を超えています。1000を超えると表示できなくなるよ。