Webサービス プログラミング総合スレッド
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
NGNGの要素技術・テクニックについて話をしませんか?
・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/
0652デフォルトの名無しさん
2006/09/23(土) 15:31:220653デフォルトの名無しさん
2006/09/23(土) 17:17:33>野良XMLとHTTPを勝手に組み合わせて使う方が圧倒的に盛況だな。
kwsk
0654デフォルトの名無しさん
2006/09/23(土) 18:00:090655デフォルトの名無しさん
2006/09/23(土) 19:08:200656デフォルトの名無しさん
2006/09/23(土) 21:42:12注意しなくてはならないのは、スマートクライアントやClickOneceはXMLWebサービスとセットじゃなくても単体で使えるということ。
イントラネットでわざわざ糞重いXMLWebサービスを使う根拠は他になくてはならない。
以前、この両者が一対でなければ動作しないと勘違いしているコンサルに設計されてエラい目にあった。
日経なんちゃらとか@なんちゃらでセットで説明してた影響らしいが。
0657デフォルトの名無しさん
2006/09/23(土) 22:13:18というか、明かした方が世のため人のためだと思う。
0658648
2006/09/23(土) 23:05:51Web サービスによって、クライアントアプがリサーバーサイドの処理をキックできるって認識でおkなの?
自分の思ってる事があってるのかどうなのか不安。
>イントラネットでわざわざ糞重いXMLWebサービスを使う根拠は他になくてはならない。
どういう意味だろう
0659デフォルトの名無しさん
2006/09/23(土) 23:34:21Java+Axis1で幾つかWebServiceを立ち上げたのだが、
Axis1には「Java5 で動かない」と言う地雷があってなぁ orz
そんで今はREST(HTTP+野良XML)に落ち着いてる。
デバッグは楽だし、Ajaxからも楽に呼び出せる。
JAX-WS2.0が普及して Ajax用のSOAP Clientが広まったら
解らないけど、今はこれで満足だ。
0660デフォルトの名無しさん
2006/09/23(土) 23:43:220661デフォルトの名無しさん
2006/09/24(日) 00:06:32OK
0662605
2006/09/24(日) 00:13:06俺はAXIS出る前だったからApacheSOAPでやったが
パフォーマンスでなかったのでHTTP+独自プロトコルによるRPCにあわてて切り替えた
Javaも1.4出る前だったからXMLまわりの挙動で苦労したよ
いまだとLANでやるんだったらRMIかApacheXML-RPCのどちらかかな
ただJavaEE5のWEBサービスはちといじってみてJAXBベースは非常に簡単だったので多少心が動いてる
XML-RPC楽でいいけど、JavaというかGenericsとかと相性が悪い気がする
0663デフォルトの名無しさん
2006/09/24(日) 00:18:32ずいぶん苦労した感じがするのは気のせいか・・
0664デフォルトの名無しさん
2006/09/24(日) 00:25:36既存のプロトコル規格をどう使うか(拡張するか)は結構大変だよ。
0665デフォルトの名無しさん
2006/09/24(日) 00:38:07一つ言っておくと、(独自だし)せっかく作ったのだから
これからどんどん引き継いでいくんだろうと思う。
0666デフォルトの名無しさん
2006/09/24(日) 00:46:05ありがとう。
そういう認識でよかったんだ。。
後もいっこ質問。
例えばサーバのDBからデータ取ってくるようなビジネスロジックがあるとする。
それをクライアントから呼ぶ場合、webサービスを使って、そのビジネスロジックのDLLを呼び出すのに
ウェブメソッド使う感じなの?
webサービスってそれ自体がクラスなんだよね・・・?
インターフェイスのないただのクラスってことでおk?
じゃあ1つのアプリケーションで沢山のwebサービスを使うってことなのかな。
それとも1つのウェブサービスに、たくさんwebメソッド追加していくような作りになるのかな?
すいません、初心者な質問で・・。
0667デフォルトの名無しさん
2006/09/24(日) 00:52:530668デフォルトの名無しさん
2006/09/24(日) 01:11:04本日のダミアンおめw
っていうか、技術コンサルでも雇えよレベルだな。
0669デフォルトの名無しさん
2006/09/24(日) 15:56:32その発想が地獄の始まりなんだよ。
現実にはある程度は仕方がない面もあるが、
サービスはライブラリなんかのメソッド設計とは、
全く別物として考えるべき。
dllの機能を公開するって考えるんじゃなくて、
必要なインターフェイスをサービスに備えるために、
dllなんかは内部で利用するだけ。
0670デフォルトの名無しさん
2006/09/24(日) 16:00:25勿論必要に応じてWebサービスで公開出来るようには考えとくが。
0671デフォルトの名無しさん
2006/09/24(日) 17:49:34>dllのメソッドをWebサービスで呼び出せる。
>その発想が地獄の始まりなんだよ。
>dllの機能を公開するって考えるんじゃなくて、
>必要なインターフェイスをサービスに備えるために、
>dllなんかは内部で利用するだけ。
kwsk
0672デフォルトの名無しさん
2006/09/25(月) 01:15:14全部dll直叩きをネット経由で許してたら、便利な反面、セキュリティ的に弱いし。
まあローカルアプリケーションでSQL生成して、DBにネット経由でアクセスさせた方が便利だよ。SQLインジェクションされまくりだが。
0673デフォルトの名無しさん
2006/09/25(月) 01:27:40・・・・・・・えええっ?
0674デフォルトの名無しさん
2006/09/25(月) 03:29:39LANでの運用アプリならクライアントサーバー方式とかまったく問題ない。
突っ込むべき場所は「SQLインジェクションされまくり」だと思うが。
プリペアつかってないのかと。
0675デフォルトの名無しさん
2006/09/25(月) 08:36:50データウェアハウス的な機能を付けてくれとか
顧客の無茶な要件聞いてると、
SQL直叩き出きるようなインターフェイス用意したくなる俺ガイル。
両方直してると間に合わないんスヨ
0676デフォルトの名無しさん
2006/09/25(月) 10:58:58ロジックがクライアントに来るならクラサバ方式でいいだろうし
開発人数が1人だとそっちのほうが楽なことは楽
0677デフォルトの名無しさん
2006/09/25(月) 23:09:09>全部dll直叩きをネット経由で許してたら、便利な反面、セキュリティ的に弱いし。
そのセキュリティの部分はサービスとは切り離して、という考え方が
WS-Securityかなと思います。
とはいえ、だからdll直叩きで良いというつもりではないです。
dllのAPIとサービスのインターフェースって、粒度が違うと思いませんか?
0678デフォルトの名無しさん
2006/09/26(火) 01:52:54DLLは実装だし、サービスは概念だろう。
サービスの中からDLLの各機能呼ぶこともあるだろうし、
いろんなサービスを呼び出すDLLを作る人だって居るだろう。
0679デフォルトの名無しさん
2006/10/03(火) 23:00:51dllを参照設定しようとすると、binフォルダにdllがコピーされてしまうのですが
これって何なんでしょう?
0680デフォルトの名無しさん
2006/10/04(水) 00:43:430681デフォルトの名無しさん
2006/10/04(水) 02:14:030682デフォルトの名無しさん
2006/10/06(金) 02:26:01プログラムで使用しようと思っています。
その場合各サービスで共通に参照したいdllが
すべて各サービスにコピーされてしまうのですが、
コピーせずに一箇所にあるdllを参照するようにはできないのでしょうか?
0683デフォルトの名無しさん
2006/10/16(月) 16:38:01ブラウザに表示している内容をそのままメールで送るって
できるんですか?
0684デフォルトの名無しさん
2006/10/16(月) 22:44:520685デフォルトの名無しさん
2006/11/03(金) 13:32:480686デフォルトの名無しさん
2006/11/14(火) 17:00:48UDDIではいかんのですか?
0687デフォルトの名無しさん
2006/11/15(水) 11:55:50で、今回windowsへのログインをそのまま認証とし、
アカウント情報をそのままアプリケーションのユーザ情報として扱おうという事になったのですが、
java側でのwindowsログインアカウント情報の取得方法がわからず困っています。
どなたか知恵をお貸しください・・・
0688デフォルトの名無しさん
2006/11/16(木) 12:32:51JNDIでも使えば良いじゃん。
0689デフォルトの名無しさん
2006/11/20(月) 23:51:34質問があります。
言語はC#, 開発環境はVisual Web Developer 2005 Express Edition
で開発しています。
普通ならソリューションエクスプローラーから「Web 参照の追加」で
サービスを追加すればいいのですが、この作業を
C#のコードで実現するにはどうすればいいかわかりません。
というのも既にjavaで複数のサーバーにサービスが作成されているのですが、
すべてサービスが同じ名前で作成されており、今後もサーバーが増えるごとに
同じ名前のサービスが増えていくのです。
例)
http://servername1/WebServicesSamples/SecureWebService/SecureWebService.asmx?wsdl
http://servername2/WebServicesSamples/SecureWebService/SecureWebService.asmx?wsdl
http://servername3/WebServicesSamples/SecureWebService/SecureWebService.asmx?wsdl
手で参照を追加するのでは無く、コード内で動的に参照を追加するのは可能なのでしょうか?
可能でしたらやり方を教えてください。
0690デフォルトの名無しさん
2006/11/21(火) 02:13:43ただサービス側のメソッドが変更されたらC#側も変更しないかんかも。マァ・ガンガレ。
0692デフォルトの名無しさん
2006/11/28(火) 16:29:30asp .net webサービスを作成しています。
やりたいのは単純にDBのテーブルから
"select * from HOGE"
などの簡単なSELECT文の結果を返したいだけです。
DataSetを返すWebサービスに対してJavaからアクセスするとDataSetはJavaに無いので
エラーになりますよね?
どのような形でデータを渡したらよいかわかりません。
ASP.NET を使用して作成した XML Web サービスによってサポートされるデータ型
ttp://msdn.microsoft.com/library/ja/default.asp?url=/library/ja/cpguide/html/cpconDataTypesSupportedByWebServices.asp
も見てみたのですがよくわからず。
お助けください。
0693デフォルトの名無しさん
2006/11/29(水) 01:46:42Java の側ではどうにかなる。
0695デフォルトの名無しさん
2006/12/23(土) 02:00:19しょーもない問い合わせが減るのはメリットだが、ユーザが本格的に何でもやり始めると開発の仕事の依頼も来なくなる。
0696デフォルトの名無しさん
2006/12/23(土) 02:03:02{;;;;;;ゝ T辷iフ i f'辷jァ !i;;;;; Webサービスは言語依存しない
ヾ;;;ハ ノ .::!lリ;;r゙ そんなふうに考えていた時期が
`Z;i 〈.,_..,. ノ;;;;;;;;> 俺にもありました
,;ぇハ、 、_,.ー-、_',. ,f゙: Y;;f
~''戈ヽ `二´ r'´:::. `!
0697デフォルトの名無しさん
2007/01/15(月) 07:14:470698デフォルトの名無しさん
2007/01/23(火) 02:31:510699デフォルトの名無しさん
2007/01/23(火) 03:06:17SOAP Message with Attachment。
この機能が要らないなら、JavaMailなくても動いたと思う。
0700デフォルトの名無しさん
2007/01/24(水) 02:19:240701デフォルトの名無しさん
2007/02/18(日) 05:45:46つなぎたいんですが、WEBサービスだと、インターフェイスベースの
やり取りってできないんですよね?
ってことはビジネスメソッドごとにWEBサービスをつくらないと
いけないので、不便なこときわまりないですね。
0702デフォルトの名無しさん
2007/02/18(日) 05:55:03みたいなメソッドのやりとりはJava-Javaならできますが、
便利だけど、WEBサービスの場合は実際の実装クラスをいちいち
宣言しなければいけなくなるので、はっきりいって話に
なりませんな。
0703デフォルトの名無しさん
2007/02/18(日) 08:55:05a:ネットワークやシステムの二重化。負担に耐えられる設計
b:デジタル署名。パスワード認証。
c:ネットワークやシステムの二重化。UPS、RAIDなど
e:デジタル署名。メッセージダイジェストによる改ざん防止
f:アクセス制御。パスワード認証。暗号化。入退室管理
どれがどれに当てはまるか教えてくださいエロイ人!
0704デフォルトの名無しさん
2007/02/18(日) 09:08:59そういう用途ならCORBAかDCOMを使えばいい。
0705デフォルトの名無しさん
2007/02/18(日) 09:55:20それは使用してるWebService実装の制限であって
WebServiceの制限でもなんでもないでしょ。
WSDLに従ったサービスを提供できればそれで良しな世界だよ。
Apache Axis なら、同じインターフェースを持つ別クラスであれば
wsdd でクラス名のところ書き換えれば済むだけの話。
クライアントからはWSDLの裏でどんなクラスが動いてるか、
そもそもJavaで実装されてるのかすら分からん。
0706デフォルトの名無しさん
2007/02/18(日) 11:23:070707デフォルトの名無しさん
2007/02/18(日) 18:29:38インターフェイスをまとめたい場合は。
俺はあんまり好きじゃないが。
0708デフォルトの名無しさん
2007/02/18(日) 20:15:55AbstractでXmlIncludeAttributeを使えば○。
0709デフォルトの名無しさん
2007/03/10(土) 21:22:08.net側で公開されているWebサービスではメソッドがオーバロードされていたり、
セッション(EnableSession=true)を使用するように実装されている。
.net側のサービスに手を加えずにJavaクライアントから簡単に利用できるものなんでしょうか?
Java側のWSは全部使ってみた限り、Jax-Wsが一番使い易かったんですが、(NetBeans入れてすぐ使えた)
Axisとかにメリットってあるのでしょうか?
0710デフォルトの名無しさん
2007/03/11(日) 00:19:01Axis、Axis2はJAVA側でWEBサービス立ち上げたい時は使いやすいと思う。
.NETのサービスのクライアントとして使うということだと、Axis2ならXMLのシリアライズ、
デシリアライズのパフォーマンスが良いかも。
StAX技術のAXIOMということで。
ただ、パフォーマンス比較したことはないです。
0711デフォルトの名無しさん
2007/03/11(日) 01:13:49Axisのメリットは、一番メジャーって事に尽きると思うが、Axis2は今のところあまり使われてなさそう。
あと、JAX-WSはJDK6に標準搭載されてるんじゃないっけ?
ちなみに、JAX-WS創ってるのはサンノゼ現地の日本人だったと思う。
0712デフォルトの名無しさん
2007/03/11(日) 02:35:40クライアントに標準で入ってるというのは大きい
サーバー側もRIでいいし
アノテーションは楽だよなー
0713デフォルトの名無しさん
2007/03/11(日) 12:22:00唐突にダウンキャストが発生するっていう設計なんとかならないのかと。
Java系って.Netと比較してこういうこと多くない?
.Netから入ったんではまった。
Hello proxy = new HelloService().getHelloPort();
((BindingProvider)proxy).getRequestContext().put(BindingProvider.SESSION_MAINTAIN_PROPERTY,true);
0714デフォルトの名無しさん
2007/03/12(月) 17:52:34WebServiceに状態持たすなってことじゃないの?
状態を持たせなきゃいかんケースって何があるのだろう。
0715デフォルトの名無しさん
2007/03/12(月) 20:22:370716デフォルトの名無しさん
2007/03/12(月) 22:13:40Webサービスだとクライアントが普通のアプリだからカートはクライアントが持てばいい。
認証系くらいか?
0717デフォルトの名無しさん
2007/03/13(火) 01:12:30っていろいろあるのでは、会員制の何か、チャットとか
0718デフォルトの名無しさん
2007/03/13(火) 01:17:10あとはクライアント側で保持れって感じになるんかな。
どっちに持たせるのが自然なんだろ。
サーバーの方な気がしなくもない。
0719デフォルトの名無しさん
2007/03/13(火) 01:35:10ごく普通の作りだと思っていたけど、違うのかと。
セッショントークンみたいなのをメソッド引数に渡す、見たいなことはやめてほしい
(.NETでセッションを有効にすると普通にCookieにASP.NET SessionIdみたいなのが入ってやり取りされる。)
0720デフォルトの名無しさん
2007/03/13(火) 01:58:00でも、UDPだのRPCだのといったプロトコルレベルではステートレスな通信で
ステートを扱うというのは十分あり。
要はアプリケーション層でステートを管理すればいいわけだから。
WebServiceなら、ステート情報を明示的に引数で渡せばいいわけじゃん。
0721デフォルトの名無しさん
2007/03/13(火) 09:26:040722デフォルトの名無しさん
2007/03/13(火) 14:47:200723デフォルトの名無しさん
2007/03/14(水) 01:25:240724デフォルトの名無しさん
2007/03/14(水) 01:29:13Flex2 アプリだとブラウザが通知してくれなくて
結局エラーの詳細取れないよとか、
現実に即してない仕様がところどころあるね。
0725デフォルトの名無しさん
2007/03/14(水) 01:43:42いやもう既に(ry
0726デフォルトの名無しさん
2007/03/14(水) 02:05:240727デフォルトの名無しさん
2007/03/14(水) 08:34:21何が正しいのかよくわからん。
ttp://yohei-y.blogspot.com/2007/01/s-s.html
0728デフォルトの名無しさん
2007/05/08(火) 23:06:40その結果をブラウザに表示する。
こんなプログラム可能でしょうか?接続数が多いとftpで応答無しになります?
0729デフォルトの名無しさん
2007/05/11(金) 10:40:330730デフォルトの名無しさん
2007/05/11(金) 12:56:51答えるに値しない質問だ
勉強しろ阿呆
0731デフォルトの名無しさん
2007/05/11(金) 20:42:57WEBブラウザから呼び出すサーブレットがFTPクライアントになってFTPサーバと通信、
通信結果を別途DBに書き込み、全体の処理結果をHTMLとしてWEBブラウザに返すのか?
0733デフォルトの名無しさん
2007/05/12(土) 02:11:58FTP通信する時間やリソースがもったいないよ?
もしくはローカルにファイル保存しておくとか.
ところで,Axis2って1.1以降になって凄く使いやすくなったね.
ほとんどPOJOベースでSOAP/Rest通信が組み立てられるし,
通信速度も旧Axisより全然速くなってるし.
個人的にはRESTの決定版フレームワークが出てきて欲しいんだけど,
RESTLetって奴ぁ今ひとつっぽいんだよね.
0734デフォルトの名無しさん
2007/05/12(土) 02:43:16誰か試してみたことあります?
0735デフォルトの名無しさん
2007/05/12(土) 08:50:130736デフォルトの名無しさん
2007/05/12(土) 13:50:39最初からWEBサービス付いてるのにAxis乗せる意味が判らん。
0737デフォルトの名無しさん
2007/05/12(土) 14:48:41WLS9.2のConsumerが動的プロキシ・DIIをサポートしていないトンデモ仕様
っぽいので、どうしたものかなと思いまして・・・。
一応非推奨ながらも8.1のautotypeとかで作ったWebサービスは動作するみたいです。
Axisは今axis.jarとかsaaj.jarとかをwarに突っ込んで動かしてみてるところなんですが、現在苦戦中です。
WLS9.2でAxis使ったProviderってのもWSDL表示させるところまではできたもののConsumerで呼んでみたところエラー・・・。
意外に難しい・・・orz
0738デフォルトの名無しさん
2007/05/12(土) 14:59:41ドンデモ仕様?
仕様と違う動きならそうだけど、定義されてないものをいうのはどうなんだろ。
J2EE4でDIなんて定義されてたっけ?
0739デフォルトの名無しさん
2007/05/12(土) 21:59:07いや、J2EEではなくってJAX-RPCです。
で、WLS9.2のリリースノートにはJAX-RPC1.1サポートと書いてあったりするので・・・。
というか8.1で使えたものをわざわざ9.xでなくしてるのはやっぱりBEA的にはこれからの流行は静的スタブなんですかね。
0740デフォルトの名無しさん
2007/05/12(土) 23:22:22JAX-WSはJavaEE5
商用AP鯖使ってるならBEAにきけば一発でそ
0741デフォルトの名無しさん
2007/05/17(木) 00:16:44いや、だからどうしたって感じなんでしょうが・・・。
0742デフォルトの名無しさん
2007/05/17(木) 00:58:100743デフォルトの名無しさん
2007/05/18(金) 09:37:51野口、乙
0744デフォルトの名無しさん
2007/05/18(金) 11:52:260745デフォルトの名無しさん
2007/05/18(金) 13:28:17動的プロキシやDIIなんて何に使うんだ?
相手のインタフェースがバンバン変わるのか?
インタフェースが変わったらアプリも直さなきゃだろ?
0746デフォルトの名無しさん
2007/05/20(日) 22:10:29あれってさ、style=doc なのになんでRPCみたいな書き方が出来るの?
wsdlも ?wsdlで自動生成だし
0747デフォルトの名無しさん
2007/05/30(水) 06:48:26ブログっぽいシステムを構想中なのですが、
GoogleDesktopのようにttp://localhost:(ポートNO)
という形でブラウザをUIとして使う仕組みを作り、
ローカル環境でCGI(?)を動かすにはどうすればいいでしょうか?
ご教授お願いします!
(書いてる途中に気づいたのですが、Firefoxの
bbs2chreaderもこの仕組み使ってる?)
0748デフォルトの名無しさん
2007/05/30(水) 11:59:11どの様な言語、書籍を勉強すれば宜しいのしょうか?
例えば下記の様なハローワークのサイトをクローリンクしているサイト
みたいなのを作りたいと思っています。
http://kyusaku.jp/
0749デフォルトの名無しさん
2007/05/30(水) 12:35:190750748
2007/05/30(水) 14:30:23なんの言語を使うかも分からないので、
どのスレで聞くべき質問かすらも分からりませんでした。
0751デフォルトの名無しさん
2007/05/31(木) 20:37:03http://pc11.2ch.net/php/
■ このスレッドは過去ログ倉庫に格納されています