2011-10-19 22 views
0

Webサービスでは全く新しい蜂です。JavaでWebサービスクライアントを作成してWSDL(w.Eclipse)のメソッドにアクセスします

私のようにURLを持っています:

http://abc.xyz.com/straw/api/?wsdl 

と方法:

$result= $client->call($session, "catalog_product.list"); 

これは私がしようとしたものです:

  1. は、Eclipseウィザードから新しいJavaプロジェクトを作成しました。

  2. rプロジェクトをクリックすると、Webサービス - > Webサービスクライアントに移動します。

  3. するサービス定義を与えるhttp://abc.xyz.com/straw/api/?wsdl構成で

    • (a)は、サーバ・ランタイム:TomcatのV7.0サーバ
    • (b)は、Webサービスランタイム:Apacheの軸
  4. スライダからテストクライアントを選択してください(私はまた、 nfuse、私は多くのクライアントを作成する必要があるので、かなり混乱した

  5. 終了をクリックします。

結果として、いくつかの方法、入力と結果でWebサービステストクライアントブラウザが見つかりました。 はまた、私は自分のリソースフォルダ内のいくつかのJAVAファイルを得た:

Mage_Api_Model_Server_HandlerBindingStub 
Mage_Api_Model_Server_HandlerPortType 
Mage_Api_Model_Server_HandlerPortTypeProxy 
MagentoService 
MagentoServiceLocator 

は、これらのソースファイルはクライアントによって作成されていますか?上記のJAVAファイルのいずれかで

私はメソッドの名前を見つけることができないのです...

$result= $client->call($session, "catalog_product.list"); 

...。

ウェブサービスクライアントを作成するにはどうすればよいですか?

配送先として私から期待されるもの(ソースフォルダ内のこれらのJAVAファイルです)。

のための私の成果は何

「言及したアクセス方法にWebサービスクライアントを作成します。

それとも、私は、Webサービスのメソッド

$result= $client->call($session, "catalog_product.list"); 

ようthisチュートリアルにアクセスするためのJavaプロジェクトを記述する必要がありません以下のwsdlの。

私の愚かさのために申し訳ありませんが、私は出力/配信可能なものについてもわかりません。

ガイダンスはありますか?ありがとう!

答えて

1

はい、あなたが実際に行ったことは、JavaからWebサービスへのクライアント呼び出しを行うことができるように、必要なすべてのクラスを作成したいということです。 Eclipseを生成するのと同じことをやってみましたが、あなたが与えたwsdlアドレスは不幸にも(少なくとも私にとっては)うまくいきません。私はそれを別のwsdlで試してみましたが、Eclipseで生成された同様のファイルがいくつかあります。

は、基本的にはEclipseは何があります:

  • それはあなたが生成されたクライアントを使用してWebサービスへの呼び出しを行う際に、クライアントとサーバーの間で渡される(XML)データを表すモデルクラスを作成します。これらのクラスは、あなたの場合、単純なJava Beanであるものです(このコンテキストでは、基本的な名前があり、 "_HanddlerXXX"や "Service"などの接尾辞はありません)サービスは非常に簡単で、String、IntegerなどのモデルクラスとしてJDKクラスを使用します)
  • WSDLで宣言されているWebサービス操作のエンドポイントを表すJavaインターフェイスも作成します。これは、 "MagentoService "は、web-serviec操作のエンドポイントに対応するメソッドを持っています(エンドポイントを表すオブジェクトを返します)。
  • 最後に、" Mage_Api_Model_Server_HandlerPortType "はWebサービスのエンドポイントを表し、エンドポイントの操作に対応するメソッドを提供します。必要なロジックを実装し、その実装を実際に使用する必要がありますあなたのウェブサービスへの最後のリクエスト

ここでは、JavaのWebサービス、すなわちAxisを扱うかなり複雑なフレームワークはもちろん、WebサービスとSOAP専門用語がたくさんあります。私recommandationsが本当に次の書籍(から少なくとも第2章)読むことです:

http://www.amazon.fr/Developing-Web-Services-Apache-Axis2/dp/0557254329/ref=sr_1_1?ie=UTF8&qid=1319032081&sr=8-1

それはからの偉大な例があり、石鹸、残りのWebサービスの基本的な概念とあなたをsartingための優れたですCXFとAxis2を使ってJavaでそれらの概念を実装する方法の基本と、Eclipseを使用してこれを行う方法については、ここでやっていることのための素晴らしい初心者の本です。

+0

回答と明確化のためにありがとうが、これらとどう対処していただきありがとうございます。本当に私は一日中不満を抱いていましたが、これらのrawファイルを生成することしかできませんでした.....それらと何をするのですか...どのようにして、catalogProductList();という名前のサービスメソッドにアクセスするためにJavaクラスを作成しますか? – Alok

+0

それで、私はその本を読むことをお勧めします。軸のフレームワーク、クライアントの実装方法、クライアントの展開方法、実行方法などについて説明するには時間がかかりすぎます(実際には本の説明ほど良くはありません)。正直なところ、私が必要なステップを詳しく説明した3000語の答えを書いたとしても、それはあなたに多くの助けを与えるとは思わない。次回同様のものにつまずくと同じことを尋ねる(再)。本を読んで、あなたはそれをかなり簡単に得ることができます。そして、もしあなたがそれに1午後を捧げるなら、あなたはウルの答えを持っていることを約束します。 –

+0

助けてもらってくれてありがとう、問題は解決されていない、私はオンラインのチュートリアルをしようとしている。 – Alok

関連する問題