問題タブ [hessian]
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 - Java クライアント & サーバー アプリ: シリアル化または REST / SOAP / RPC?
私はJavaでアプリケーションを書いています。サーバーとクライアントの 2 つの部分があります。サーバーとクライアントの間で通信する必要があります (SSL を使用して保護します)。サーバーに接続されている Java 以外のアプリは他にありません (長い間接続されていません)。そのため、他の誰かの API に依存していません。
ほとんどのデータは、文字列、数値、およびその他の「一般的な」データ型になります。
サーバーとクライアント間の通信にJavaシリアライゼーションを使用することは良い考えですか? または、「良い方法」は SOAP / XML / RPC / REST / ... を使用することですか?
「ヘッセン バイナリ Web サービス プロトコル」を見つけましたが、これは良いものですか、それとも時間の無駄ですか?
ご協力ありがとう御座います。これは私の最初の大きなクライアント サーバー アプリです。
java - Objective-C は Hessian 経由で Java BigDecimal をどのようにサポートしていますか?
サーバーには Java Bean があり、インスタンス変数 type がありますBigDecimalが、Objective-C ではマップできません! 試してみNSNumberましたが、うまくいきません。誰もそれを修正する方法を知っていますか?
c# - Hessian ReadMap エラー
Hessian を使用する Silverlight アプリケーションを保守しています。
私が気づいたことは、大量のデータを返すときに、逆シリアル化コードがメソッドでエラーを発生させることです。
期待して:
データを縮小したときにエラーが表示されなかったため、返されるデータのサイズが原因であると最初は考えていました。
逆シリアル化されるオブジェクト構造の形式は次のとおりです。
エラーがどこから来ているのかわかりませんか?
grails - Grails ヘシアンの問題
本番環境をお客様のデータセンターに移動しています。現時点では、シナリオを説明する目的で、2 つの grails アプリケーションをホストしている 2 つの Apache Tomcat アプリケーション サーバーへの要求を負荷分散する Apache Load Balancer があります。助けていただければ幸いです!
要約すると、セットアップは次のとおりです。 - ロード バランサーとして機能する Apache HTTP サーバー
2 つの Tomcat サーバー (ノード A およびノード B)
各 Tomcat サーバーでホストされている 2 つの Java/Grails アプリケーションがあります。現在の環境では、ロード・バランサーを介して、grails アプリケーションの 1 つから別の grails アプリケーションにヘシアン・リクエストを送信します。これは完全に機能します。移行先の環境では、これは失敗しています。
すべてのファイアウォールとセキュリティ パッケージがオフになっていることを確認できました。また、この hessian 呼び出しが失敗するたびに、ロード バランサーのアクセス ログにエラーがあることも確認できました (/var/log/httpd/access_log):
10.30.95.51 - - [19/Jun/2014:11:55:13 -0400] "POST /Application/hessian/RemoteTicketService HTTP/1.1" 500 8067 "-" "Java/1.6.0_30"
先に進んで tcpdump を実行したところ、Hessian に対して Grails アプリケーション エラーが返されていることがわかりました。何かアイデアはありますか?
L6DàL6<83>¢HTTP/1.1 500 Internal Server Error^M Date: Fri, 20 Jun 2014 14:40:08 GMT^M Server: Apache/2.2.15 (Red Hat)^M Connection: close^M Transfer-Encoding : chunked^M Content-Type: text/html;charset=UTF-8^M ^M 1f83^M Grails Runtime Exception .message { border: 1px solid black; パディング: 10px; 背景色:#E9E9E9; 余白: 30px; } .header{ マージン: 30px; } .stack { ボーダー: 1px ベタ黒; パディング: 5px; オーバーフロー:自動; 高さ: 300px; } .snippet { パディング: 5px; 背景色:白; ボーダー:1px ベタ黒; 余白:3px; font-family:courier; }
エラーが発生したようです。その メッセージについて申し訳ありません: -1 のヘッセ行列入力で 'H'/'C' (ヘッセ行列 2.0) または 'c' (ヘッセ行列 1.0) が予期されました
原因: ヘッセ行列のスケルトン呼び出しが失敗しました。ネストされた例外は java.io.IOException: Expected 'H'/'C' (Hessian 2.0) or 'c' (Hessian 1.0) in hessian input at -1 クラス:不明
行: [-1]
コード スニペット:
java - Hessian バイナリ Web サービス プロトコル - C 言語
J2EE サーバーに Hessian バイナリ Web プロトコル ( http://hessian.caucho.com/ )を使用したいのですが、C コード (C++ プログラムを処理できない低レベルのハードウェア デバイス) を使用してサーバーと通信する必要があります。
Cはオブジェクト指向言語ではないことは理解していますが、いくつかの単純なメソッドを呼び出すことができる(限られた)ライブラリはありますか?
java - hessian、サーバー インターフェイスのアップグレード時の互換性
Javaクライアントサーバーのリモート処理にヘシアンを使用しています。次に、インターフェイスを変更して新しいフィールドを追加する必要があります。
新しいインターフェイスを追加する以外に方法はありますか。
インターフェイスは次のようになります
新しいフィールドを追加するためのインターフェイスを変更し、下位互換性のために処理するロジックを追加したいだけです
java - HessianFieldException エラー
プロジェクトでリモートおよびクライアント アプリケーションを介して Hessian を使用しています。淡水化の問題に直面しています。私のヘッセ行列アプリケーションは、他のオブジェクトのセットを含むオブジェクトを返しますが、クライアント側で例外が発生します。
ネストされた例外は com.caucho.hessian.io.HessianFieldException: java.util.Set を null から割り当てることはできません
また、セットヌルでチェックし、チェックされたオブジェクトにはヌルが設定されていません。
不足しているものと、この問題の根本原因を教えてください。
java - メソッドごとに hessdroid = new AsyncTask を使用して web-app メソッドを呼び出しますか?
私の Android アプリケーションでは、いくつかの Web アプリケーション メソッドを呼び出したいと考えています。これにはヘシアンを使用します(Android用のヘスドロイドライブラリ)。
それがどのように機能するかです: 私の Android アプリには、getUserById()、getMessageById()、getSomethingElse() などのすべてのサーバー メソッドのインターフェイスがあります。
Hessian を使用すると、これらのメソッドを http から呼び出すことができます。
したがって、そのために Hessian Proxy を初期化する必要があります。
その後、次のようなサーバー メソッドを実行できます。
問題は、API が「api.someMethod();」のように呼び出すことです。分離されたスレッドから実行する必要があります。それ以外の場合は、 NetworkOnMainThread 例外があります。
私の質問は、これらの呼び出しを正しい方法で行う方法についてです。サーバーメソッド呼び出しごとに AsyncTask を作成する必要がありますか? または、それをより一般的にすることは可能ですか?すべてのメソッドに対して AsyncTask を作成することが正しい方法だとは本当に思いません。コードを汚します。
何か案は?あなたが提供できる解決策に本当に感謝します。