2011-08-04 23 views
1

こんにちは、私は安らかなプロジェクトを持っており、私はクライアント側から電話をかけます。しかし、私はサーバー側から安らかな呼び出しを行う必要があります。どうやってやるの?サーバーから安心して電話をかけるには?

+0

別のサーバーへの呼び出しを意味しますか?クライアントにではなく、私は願っています。 – Jonas

+0

はい別のサーバーへの呼び出し –

答えて

0

JAX/RSクライアントライブラリは、サーバーコードで使用できます。

私のblogには詳細がありますが、ここに関連コードがあります。私はApache Winkを使用しています。

Resource editionResource = libraryClient.resource( 
       "http://localhost:9085/LibraryWink/library/editions” 
       ); 

BookEdition theEdition = new BookEdition( 
      /* title, isbn etc */ 
     ); 

ClientResponse response = editionResource 
    .contentType(MediaType.APPLICATION_JSON) 
    .accept(MediaType.APPLICATION_JSON)      
    .post(theEdition); 
0

@ Jonasが述べたように、HttpClientを使用します。実際には、この場合にクライアントとサーバーの間に違いはありません。あなたのサーバーは別のサーバーのクライアントです。

しかし、注意してください:

は、Java EE環境である場合には(少なくとも、EJBから)ソケットを自分で開くことが期待されていません。 「正しい」ソリューションは、JCAを使用して他のシステムに接続しています。私はかつてJCAアダプターを実装しました。それほど難しくありませんが、いくつかの努力が必要です。

おそらく簡単な解決策は、ソケットを開くコードをサーブレットに入れることです。あるサーブレットはHTTP経由で別のサーブレット(別のサーバー上で実行中)に変わります。私はそれがJava EE仕様によって強く禁止されていないと思う。

関連する問題