問題タブ [jersey-client]
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 - jersey クライアントは、JSON を使用して JAXB オブジェクトをサーバーに POST できますか?
JAXB バインド オブジェクトを生成および使用できるようにジャージー サーバーをセットアップする方法の例をたくさん見つけていますが、クライアントに同じ JAXB バインド オブジェクトをポストさせる方法の例を見つけるのに苦労しています。 この例は、XML でそれを行う方法を示しています。JSONでそれを行う方法を示すものを探しています。
これが可能かどうかさえわかりません。postメソッドの javadocがあいまいです。
私の投稿は次のようになります。
これを試すと、サーバーがリクエストを取得しますが、のフィールド@FormParam
は常に null として送信されます。サーバー側メソッドの署名は次のとおりです。
他に疑問に思っていることは、を使用する必要があるかどうかですinstanceWithXmlRootElementAnnotation
。これが従来の Web サービスである場合、JAXB を使用して、クライアントが使用するオブジェクトを生成し、生成されたクラスを送信します。しかし、リンク先の例から収集したものから、男は生成されたクラスではなく、ソースを送信しています。
java - Jerseyが自動的にスローするJersey例外を抑制する方法は?
JAVAのRESTにJersey 1.14を使用しています。リソースの POST 本体にエラーがある場合、Jersey はスローし、内部クラスをクライアントに言及する例外をスローします。エラーがアプリケーションから渡されたときにエラーを出したいのですが、Jerseyによってスローされているエラーを抑制します(Jerseyが例外を識別してスローするため、アプリケーションに到達しないリクエストの場合)。これを達成するためにフラグを検索しましたが、何も見つかりませんでした。これを行う方法はありますか?
編集: 質問を言い換える: ジャージの無効な入力のエラー スタック トレースをミュート/抑制する
更新: java.lang.Exception をキャッチして、ExceptionMapper を使用してみました。Content-Type が欠落している場合などは例外をキャッチしますが、オブジェクト変換でエラーが発生した場合は例外をキャッチできません。
android - フォーム パラメータがポストされると、Jersey クライアントが Android で動作しない
これは実際には質問ではなく、このサイトでいくつかの投稿を通じて報告された問題の解決策です。私はこれと戦い、解決策を見つけたので、他の誰かが時間を節約できると思いました. 以下のコードは、Eclipse から実行すると正常に動作しますが、「com.sun.jersey.api.client.ClientHandlerException: A message body writer for Java type....」というエラーで失敗します。
基本的な考え方は、サービス ファインダー パターンを介して利用可能なメッセージ リーダー/ライターを Jersey に知らせることです。例を以下に示します
public class AndroidServiceIteratorProvider extends ServiceIteratorProvider {
}
javax_ws_rs_ext_MessageBodyReader および javax_ws_rs_ext_MessageBodyWriter で宣言されている文字列パラメーターに注目してください。対応するリーダー/ライターを文字列配列に追加し、次に示すように API 呼び出しを介してこのプロバイダーを Jersey にフックします。
メッセージのリーダーとライターのリストは、ここにあります
android - Android でジャージー クライアント応答から Cookie を読み取れませんでした
認証を行い、リクエストで Cookie をチェックして、同じクライアントからの後続の呼び出しを許可する Web アプリケーションがあります。Eclipse から実行すると問題なく動作するコードを作成しましたが、Android エミュレーターから実行すると失敗します。これが私がしたことです
URI の Web リソースを作成し、それにフィルターをバインドして Cookie をリクエストに添付するクラス
次に、Web サービス呼び出しをトリガーするサンプル コード
このコードは、Eclipse から実行すると問題なく動作します。しかし、Androidエミュレーター内で実行すると、クライアントの応答からCookieを読み取ることができません
以下の例外が発生します
以前に Android で Jersey クライアントを使用して、この問題を見た人はいますか?
jersey-client - 警告: Jersey2.x クライアントでの JAXP 機能 XMLConstants.FEATURE_SECURE_PROCESSING
2013 年 9 月 22 日午後 5:15:00 org.glassfish.jersey.message.internal.SecureSaxParserFactory
使うことができます
config.getFeatures().put(FeaturesAndProperties.FEATURE_DISABLE_XML_SECURITY, true);
Jersey1.xでこの警告メッセージを回避するためですが、 Jersey2.xに移行したとき、この機能設定はありません。Jersey2.xで再びそれを回避するにはどうすればよいですか? ありがとう!
java - Java : 別のスレッドで例外をキャッチ
REST-API も使用する Swing アプリケーションを開発しています。私はこれを達成するためにジャージーを使用しています。
ユーザーに URL を TextField に入力してもらいたいのですが、URL の形式が正しくない場合などにフィードバックを提供したいと考えています。URL を保存するための基礎として URI を使用しており、それで発生する問題をキャッチして、ユーザーに情報を提供することができます。
URL の形式が正しいのに解決されない場合、次の例外が発生します。
私の質問は次のとおりです。この例外をスローするオブジェクトがない場合、この例外を「キャッチ」するにはどうすればよいですか?
前もって感謝します !