2009-04-28 21 views
0

別のWebサービスのコンシューマであるWebサービスを作成しようとしています。ここにレイアウト..Webサービス内からWebサービスを呼び出す方法

私は、Javaクラスを開発し、そこからWebサービスを作成しました。

次に、私はEclipseのツールを使用して、クライアント側のスタブやその他のファイルを生成しました。

これらのファイルをjarファイルにパッケージ化し、別のプロジェクトで使用しました。私は、最初のWebサービスにアクセスできるjarファイルをテストしました。

私は最初にテストしたプロジェクトから別のWebサービスを作成しました。

クライアントを2番目のWebサービスに書き込むと、1番目のWebサービスのスタブが見つからないように見えます。 org.apache.axis2.util.Utils.getInboundFaultFromMessageContextでCOM /猫/患者/ PatientDataStub (Utils.java:512) org.apacheで:

org.apache.axis2.AxisFaultは私に、次のエラーが発生します。 axis2.description.OutInAxisOperationClient.handleResponse(OutInAxisOperation.java:370)org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperationでorg.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:416) で 。 java:228) at org.apache.axis2.client.OperationClient.execute(OperationClient.java:163) (com.esps.patient.aspx) ESPS TestClient.main(ESPSTestClient.java:22)

私はすべてのプロジェクトですべてのjarファイルを用意しています。

ご協力いただければ幸いです。 Adhir

+0

これらのWebサービスは、どちらも同じアプリケーションサーバーインスタンス上に存在しますか?すなわち、同じ戦闘戦争中である。 –

+0

私には分かりません - あなたはクライアントがWebService1に話していて、WebService1はWebService2に話しかけています。 WebService2のスタブを誰が見つけることができませんか?それはWebService1か、それともクライアントでこれを取得していますか? –

+0

Nathan、はい両方のWebサービスが同じTomcat Servcerインスタンス上にありますが、異なるコンテキストの下にあります。 Bhushanでは、クライアントはWS1ではなくWS2用のスタブを見つけることができません。あなたはそれの残りの権利を得た。 – Adhir

答えて

1

例外クライアントを見ると、WS1のスタブが見つかりました。レスポンスを読み込む際に例外フォールトが発生しました。

tcpmonを試して、リクエストとレスポンスを確認してください。 tcpmonの前に、デバッグ情報をいくつか入れてクライアントからの要求を受信したかどうかをWS1で確認できます。

+0

クライアントはWS1と通信し、WS1はWS2と通信します。私はWS2のスタブジャーをクライアントにパックしましたが、まだ行っていません。私はWS1のスタブをクライアントではなくWS1で使用しています。 ありがとうございますが、状況はまだまだ続きます – Adhir

+0

本当に質問をする必要がありますので、混乱を招きました。あなたのコメントをもう一度読むと、クライアントはWS1と話しますが、あなたはWS2のスタブを入れます。 WS1のスタブをクライアントに入れない場合は、どのようにスタブを取得しますか? –

+0

混乱について申し訳ありませんが、私は再び説明しようとします は消費します。 クライアント----------------------> WS1 -----------> ----------------> WS2 はws2を持っていますws2スタブjarsを持っています ws1スタブjars – Adhir

0

春の作業を使用している場合、RestTemplateを使用して別のWebサービスを別のWebサービスから呼び出すことをお勧めします。

関連する問題