問題タブ [cxfrs]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - REST サービスで XML 応答を返す
結果セットを含む XML を返したい RESTful Web サービスを作成しています。XSTREAM を使用して、オブジェクトを XML 文字列に解析しました。この文字列を返す必要があるため、呼び出し元のクライアントに返す方法を知る必要があります。
1 つの方法は、呼び出し元のクライアントに RESPONSE を返すことです。そして、ここにある私のサンプルコードは、私がやろうとしていることを示しています。
残念ながら、ステータス コードは 200 ですが、エンティティは返されません。ResponseBuilder を正しくインスタンス化していませんか? また、次のようにインスタンス化する必要があることもどこかで見ました。
応答で XML を返す適切な方法を提案してください。
RESTFUL サービスに Apache CXF を使用しています。(バージョン 2.2.3 -- だと思います) :D 助けてくれてありがとう。
java - Camel ルートの CXF-RS エンドポイントを呼び出すときに NullpointerException が発生するのはなぜですか?
私のアプリは Java webapp (WAR) で、Apache Camel と (とりわけ) CXF-RS とそれに対応する Camel コンポーネントを JAX-RS の実装として使用して、ReSTful サービスを外部に提供します。
HTTP POST と有効なペイロードを使用してエンドポイントの 1 つを呼び出すと、以下に示すように例外スタック トレースが表示されます。com.foo.FooService および com.foo.Foo クラスは、JAXRS アノテーション付きのサービス/リソースのペアであることに注意してください。
特に、create() メソッドが実際に呼び出されていることに混乱しています。なぜなら、CXF-RS for Camel は何らかの魔法を実行して着信要求をインターセプトし、要求を Camel ルートにルーティングすることを理解していたからです。
これらは、クラスの簡略化されたバージョンです。
Spring XML で cxf:rsServer を次のように構成します。
ルートは Java で次のように定義されます。
私が得た例外は次のとおりです。
spring - WebコンテナでのRESTサービスとしてのCamelルートの公開
RESTWebサービスとして公開したいCamelルートがあります。アプリケーションはWebコンテナ(Jetty / Tomcat)にデプロイされ、SpringはDIやその他の「インフラストラクチャ」にも使用されます。
camel-restlet
とコンポーネントの両方を調べましたが、どちらもcamel-cxfrs
ルートをRESTサービスとして公開するためのサポートを提供していますが、別々のサーバーの起動を回避する方法を見つけることができませんでした。私が本当に探しているのは、Spring-WSインバウンドエンドポイントのルートを定義する方法と同様の方法でCamelルートを定義する機能です。
Webアプリケーションの構成では、要求を受け入れて適切なエンドポイントに転送する必要があります。
トピックに関する十分な情報を見つけることができず、私の要件が非常にエキゾチックであるとは思わないことに、私はかなり驚いたことを認めなければなりません。
java - Camelを使用してローカルサービスからリモートサービスにRESTリクエストをルーティングする方法
cxfRESTサービスから別のサービスにRESTリクエストをルーティングしようとしています。プロセスの一部を理解するのに役立つhttp://camel.apache.org/cxfrs.htmlを見てきました。remoteService呼び出しのレベルでclassCastExceptionがあります。
私は何を間違っているのですか?
サービスクラス:
RouteBuilder:
スタックトレース:
cxfrs - Apache CXFRS と CAMEL の構成
サイトで利用可能な REST Web サービスにアクセスして、REST の結果を利用したいと考えていhttp://someotherhost
ます。そのためのプロキシクライアントを作成しました
Apache CXFRS クライアントを使用して上記の REST サービスをヒットし、結果をファイルに書き込みたいと考えています。私は次のことを行っていますが、以下を確認して、私が間違ったことをコメントしてください。
a) apache cxf を使用したキャメル コンテキストの構成は次のとおりです。
b) MY プロキシ サービス インターフェイス
c) サービスへの呼び出し
d) キャメルルート
java - Jackson を使用して multipart/form-data または application/json を解析する
REST サービスに JacksonJsonProvider で CXF を使用しています。次のようなテスト方法があります
次のように生の JSON 文字列を使用して POST リクエストを作成すると、
リクエストの作成中に Content-Type を「application/json」として使用すると、リクエストは正しく処理されます。
しかし、私は外部サービスと統合しているので、multipart/form-data または application/x-www-urlencoded のいずれかを受け取ります。Jackson にはそれを処理できるものは何もありません。誰かが私を正しい方向に向けることができれば、それは素晴らしいことです.
multipart/form-data は Jettison (CXF の一部) で管理できますが、Jackson を使用したいと考えています。
java - Camel リクエスト/リプライ相関
「GET /files/x」などのリクエストが特定のディレクトリからファイル「x」を返し、それを削除する必要がある CXFRS エンドポイントがあります。ファイルは別のプロセスから出力され、このルートを介してすばやく消費されます。したがって、必要に応じて、それらをポーリングして一時的にメモリに保持することは許容されます。
以下は私のWebサービスです。
以下は不完全なルートです。
コンテンツ エンリッチャー パターンを調査しましたが、コンシューマーはエンリッチャー内で元の交換にアクセスできないため、これは役に立ちません。したがって、入力メッセージからファイル名を動的に決定することはできません。つまり、以下の例では、ヘッダーがファイル エンドポイントで認識されないため、ファイル "x" は読み取られません。
また、Web サービス ルートと別のファイル ルートの間でアグリゲーター パターンを使用しようとしました。以下に示すアグリゲーション戦略を使用します。
アグリゲーターのパターンは「in only」交換用のように見えるため、これは機能しません。「in out」交換では、集約が完了した後ではなく、メッセージが集約器に到達するとすぐに応答がクライアントに返されます。その後、以下のプロセスを書き始めました。
このプロセスは、コンテンツ エンリッチャーを動的に構成できるようにするだけです。それを行うためのより良い方法がないと信じるのは難しいと思います. 特に、スレッド化と、コンテキスト内のコンポーネント/エンドポイントの追加/削除が常に懸念されています。
誰でもこの問題のより良い解決策を提案できますか?
cxfrs - CXF: Content-Type に基づく JSON および XML 応答
私は cxf を使用しており、次のように構成されています。
' <jaxrs:extensionMappings>
<entry key="json" value="application/json" />
<entry key="xml" value="application/xml" />
</jaxrs:extensionMappings>'
したがって、コンテンツヘッダーが正しく、インターセプターへの応答がxmlとして返されることを確認しましたが、その後、クライアントはヘッダーに関係なく常にJSON応答を取得します...
何か助けはありますか?
java - メッセージ本文ライターが見つかりません: JSON : Apache CXF : RestFul Webservices
シンプルな安らかなアプリケーションを作成するために Apache CXF を使用しています。JSONオブジェクトをサーバーに投稿するクライアントクラスがあり、サーバーは何らかの操作後にJSONを返します。しかし、コードを実行すると取得します
私のクライアントコード:
助けてください。
java - 応答クラスArrayListのメッセージ本文ライターが見つかりません
Listを返そうとしているときに、そのスローが応答クラスArrayListのメッセージ本文ライターが見つかりませんでした。
私は次のようなコードを持っています:
私を助けてください。前もって感謝します