問題タブ [resttemplate]

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.

0 投票する
3 に答える
6807 参照

spring - RestTemplate を正しく機能させることができません。406 Not Acceptable で終わる

Spring の RestTemplate を使用して、作業中のプロジェクトに支払いプロバイダーを実装しようとしています。支払いプロバイダーから返される XML は次のとおりです。

この XML 用に作成したクラスは次のとおりです。

単純に xml を文字列としてリクエストし、自分で非整列化すると、次のように機能します。

ただし、これを行うと:

また

最終的には 406 Not Acceptable になります。

restTemplate (コントローラーでは @Autowired です) の Bean 構成は次のようになります。

誰がこれを引き起こしているのか、それを修正する方法の手がかりを持っていますか? 上記のコードの URL は公開されているため、このコードを自分で試すことができます。

0 投票する
1 に答える
1841 参照

spring-mvc - Builder パターンと @JsonDeserialize を使用して、Spring RestTemplate で応答 json を逆シリアル化する方法

Jackson の @JsonDeserialize を使用してレスポンス Json を逆シリアル化するように RESTTemplate を構成するにはどうすればよいですか?

Builder パターンと jackson の @JsonDeserialize に基づく私のドメイン クラスは、単体テストで適切にマーシャリングとアンマーシャリングを行います。ただし、Spring の RESTTemplate (Spring 3.1) と組み合わせて使用​​すると失敗します。

ドメイン クラス:

単体テストの Spring RESTTemplate コード:

RestTemplate#doExecute() のエラー - 436 行目:

0 投票する
1 に答える
457 参照

java - 投稿データの Spring Resttemplate 予期しないフィールド「セッション」

これは MappingJacksonConverter によって生成されたデータですが、再帰データ全体を含む「セッション」フィールドを無効にする方法がわかりません。

これは、上記のデータを投稿するためのコードです。「セッション」フィールドを無効にするために追加する必要がある部分はありますか?

0 投票する
1 に答える
151 参照

android - エラーが発生した理由が不明です。AsyncTask の使用方法が間違っているためですか?

エラーが発生した理由が不明です。AsyncTask の使用方法が間違っているためですか?

私は現在、Androidカレンダーアプリを開発しています。ユーザーが自分のデータをサーバーまたはその逆に同期できるようにする同期機能が必要です。
ユーザーがアプリを開くと、サーバーからデータを取得し、新しいデータを Android デバイスの sqlite データベースに更新します。
また、ユーザーが新しいデータを作成するたびに、このデータをサーバーに送信して、サーバー上のデータベースに更新します。
こんな感じで理想を実現しました。
1. 同期アクションを実行する MainActivity クラス

2. asyncTask を収集する DataSyncTask

3. ServerUtilities クラス

MainActivity を起動すると、サーバーに接続し、データをフェッチし、sqlite データベースに更新し、デバイスからサーバーに新しいデータを送信して更新を成功させます。すべて問題ありません。しかし、新しいデータを作成すると、syncTask.syncOnInsert() を実行すると、例外が発生します。

なぜこれが起こるのかを説明し、このエラーを解決する方法を教えてください。
前もって感謝します!

0 投票する
0 に答える
2706 参照

spring - 「有効な HTTP URL ではありません」を与える RestTemplate().getForObject

Web サービスを呼び出すための非常に基本的なコードがいくつかあります。RestTemplate().getForObject を使用すると、「有効な HTTP URL ではありません」というエラーが表示されます。

クライアントコードは次のとおりです。

コントローラー

サーブレット.xml

リンク localhost:9080/someApp/testWs/partners/1> にアクセスすると結果が返されますが、RestTemplate().getForObject() を使用しても機能しません。

Prtnr クラスは次のとおりです。

サーバー側で表示されるエラー: [12/3/12 10:25:57:764 EST] 00000039 ServletWrappe E SRVE0068E: サーブレットのサービス メソッドの 1 つでキャッチされない例外がスローされました:

Web サービスのカールは次のとおりです。org.codehaus.jackson.map.deser の org.codehaus.jackson.map.deser.BeanDeserializer.deserialize(BeanDeserializer.java:579) のスレッド「メイン」での例外 java.lang.StackOverflowError。 org.codehaus.jackson.map.deser.SettableBeanProperty$MethodProperty.deserializeAndSet(SettableBeanProperty.java:414) の SettableBeanProperty.deserialize(SettableBeanProperty.java:299) org.codehaus.jackson.map.deser.BeanDeserializer.deserializeFromObject(BeanDeserializer. java:697) org.codehaus.jackson.map.deser.BeanDeserializer.deserialize (BeanDeserializer.java:580) で

何が欠けていますか???

ありがとう

0 投票する
1 に答える
5014 参照

java - Java Spring RestTemplate を使用して大きなバイナリ ファイルをアップロードする

バイナリ データ [ファイル] を受信できるサーブレットがあります。

Spring の RestTemplate() を使用して、大きなバイナリ ファイルをサーブレットにアップロードしたいと考えています。ただし、バイナリ ファイル全体をメモリにロードすることはできません。

これまでのところ、メソッドがファイル全体をメモリにロードしようとしていたことを示す OutOfMemory エラーが発生しました。

このバイナリ データをサーブレットにストリーミングするにはどうすればよいですか? Spring または Java で推奨されます。

0 投票する
2 に答える
540 参照

android - 20秒後にRESTサービス接続(またはその他)が閉じられていますか?

アンドロイドで安らかな春を使用すると問題が発生します。
そのような私のコード。
1.アクティビティ

2.そしてtest_rest_template.xmlファイル:

3.サーバー側

問題は、最初にボタンをクリックするとサーバーに接続して文字列に正常に応答することですが、その後21秒以上待ってからボタンをクリックすると、logcatで例外が発生しました。

私はこのパターンを約2日間グーグルで検索しましたが、役立つ提案は見つかりませんでした。あなたの誰もが私にこの問題を説明することができます。
前もって感謝します。

0 投票する
9 に答える
298379 参照

spring - Spring RestTemplate タイムアウト

Web アプリケーションで使用される REST サービスの接続タイムアウトを設定したいと考えています。Spring の RestTemplate を使用してサービスと通信しています。私はいくつかの調査を行い、タイムアウトを設定するためのものであると思われる以下の xml (アプリケーション xml 内) を見つけて使用しました。私はSpring 3.0を使用しています。

ここでも同じ問題を見てきましたRestTemplate を使用したSpring Webサービスのタイムアウト構成ですが、ソリューションはそれほどクリーンではないようです。Spring構成を介してタイムアウト値を設定することをお勧めします

readTimeout を何に設定しても、次のようになります。

ネットワーク ケーブルが切断されました: 約 20 秒待機し、次の例外が報告されます:

org.springframework.web.client.ResourceAccessException: I/O エラー: ホストへのルートがありません: connect; ネストされた例外は java.net.NoRouteToHostException: No route to host: connect です

URL が正しくないため、残りのサービスから 404 が返されました: 約 10 秒待機し、次の例外を報告します:

org.springframework.web.client.HttpClientErrorException: 404 が見つかりません

私の要件ではタイムアウトを短くする必要があるため、これらを変更できる必要があります。私が間違っていることについてのアイデアはありますか?

どうもありがとう。

0 投票する
2 に答える
2012 参照

spring - RestTemplate.postForLocation を使用したファイル アップロード プログレス バー

ファイルを REST サービスにアップロードする Java デスクトップ クライアント アプリケーションがあります。

REST サービスへのすべての呼び出しは、Spring RestTemplate クラスを使用して処理されます。

アップロードされるファイルが非常に大きくなる可能性があるため、プログレスバーを実装して機能をキャンセルすることを検討しています。

これを Web に実装する方法を探していましたが、うまくいきませんでした。

私は独自の ResourceHttpMessageConverter を実装し、 writeInternal() メソッドを置き換えようとしましたが、このメソッドは、実際にリクエストを投稿する前に、何らかのバッファリングされた操作中に呼び出されたようです (したがって、送信が行われる前にストリームが一度に読み取られます)。

CommonsClientHttpRequestFactory.createRequest() メソッドをオーバーライドし、特別な writeRequest() メソッドを使用して独自の RequestEntity クラスを実装しようとしましたが、同じ問題が発生します (ストリームは実際に投稿を送信する前にすべて読み取られます)。

私は間違った場所を探していますか?誰かが似たようなことをしましたか。

プログレスバーの実装について私がウェブで読んだ多くのことは、アップロードを見つめてから、別のAJAXリクエストを使用してウェブサーバーに進行状況をポーリングすることについて話していますが、これは奇妙な方法のようです。

ヘルプやヒントは大歓迎です。

0 投票する
1 に答える
12288 参照

java - 1 つのフィールドに複数の型がある JSON の逆シリアル化

JSON (Jackson 1.9.11 および RestTemplate 1.0.1 を使用) をデシリアライズしたいと思います。たとえば、1 つのフィールドがより多くの型の意味を持つ場合があります。

また

いずれかのケースが特定のタイプ (文字列またはカスタム Response クラス) の 1 つのセッターで正しく機能しますが、両方のケースを処理できるようにエンティティ Bean のオーバーライドされたセッターに入れると、例外がスローされます。

私は3つの解決策について考えていましたが、どれもうまくいきませんでした:

  • 文字列セッターのみを使用し、内部で ObjectMapper を使用してその文字列をアンマーシャリングしますが、それが「エラー」と等しくない場合、その JS 配列が来ると文字列ではないため、文字列セッターは使用されません:(.
  • 独自の JsonDeserializer 拡張機能で多相型処理 (@JsonTypeInfo 注釈) を使用します。これを理解し、実装しようとしています。
  • HttpMessageConverter のリストを作成し、使用できるすべてのメッセージ コンバーターの中に入れます。しかし、MappingJacksonHttpMessageConverter のみが使用されるため、この手順は不要だと思います。

編集:現在の仕組み

エンティティ Bean のセッター:

ResponseDeserializer の Deserialize メソッド: