Fuse 6 is no longer supported
As of February 2025, Red Hat Fuse 6 is no longer supported. If you are using Fuse 6, please upgrade to Red Hat build of Apache Camel.第185章 XmlRpc
XmlRpc Component リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
Camel 2.11 から利用可能
このコンポーネントは、xml の dataformat を提供します。これにより、Apache XmlRpc のバインドデータ形式を使用した要求メッセージおよび応答メッセージのシリアライズおよびデシリアライズが可能になります。camel-xmlrpc プロデューサーを介して XMLRPC サービスを呼び出すこともできます。
Maven ユーザーは、このコンポーネントの
pom.xml
に以下の依存関係を追加する必要があります。
XmlRpc Overview リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
これは、異なるオペレーティングシステム上でソフトウェアを実行できる 仕様 および実装セットで、インターネットを介してプロシージャーコールを行う異なる環境で実行されます。
HTTP をトランスポートとして使用し、XML をエンコーディングとして使用してリモートプロシージャーを呼び出します。XML-RPC は可能な限りシンプルになるように設計されていますが、複雑なデータ構造を送信、処理、および返すことができます。
一般的な XML-RPC 要求の例を以下に示します。
一般的な XML-RPC 応答の例を以下に示します。
一般的な XML-RPC 障害は次のとおりです。
URI 形式 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
xmlrpc://serverUri[?options]
xmlrpc://serverUri[?options]
オプション リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
プロパティー | デフォルト | 説明 |
---|---|---|
basicEncoding
|
null
|
Basic 認証のエンコーディングを設定します。null は UTF-8 が選択されることを意味します。 |
basicUserName
|
null
|
Basic 認証のユーザー名。 |
basicPassword
|
null
|
Basic 認証のパスワード。 |
clientConfigurer
|
null
|
XmlRpcClientConfigurer のインターフェイスを実装して XmlRpcClientConfigurer をユーザー希望として設定する XmlRpcClient アドバイザーの参照 ID。値は #myConfigurer のように # で始まる必要があります。 |
connectionTimeout
|
0
|
接続タイムアウトをミリ秒単位で設定します。0 は無効にすることです。 |
contentLengthOptional
|
false
|
Content-Length ヘッダーを省略するかどうか。XML-RPC 仕様では、このようなヘッダーが存在することが要求されます。 |
enabledForExceptions
|
false
|
エラーの発生時に応答に faultCause 要素が含まれるべきかどうか。faultCause は例外で、サーバーがシリアライズ可能なオブジェクトとしてバイトストリームにトラップおよび書き込んだものです。 |
enabledForExtensions
|
false
|
エクステンションが有効であるかどうか。デフォルトでは、クライアントまたはサーバーは XML-RPC 仕様に厳密に準拠し、拡張機能は無効になっています。 |
encoding
|
null
|
リクエストエンコーディングを設定します。null は UTF-8 が選択されることを意味します。 |
gzipCompressing
|
false
|
要求の送信に gzip 圧縮が使用されているかどうか。 |
gzipRequesting
|
false
|
要求の送信に gzip 圧縮が使用されているかどうか。 |
replyTimeout
|
0
|
応答タイムアウトをミリ秒単位で設定します。0 は無効にします。 |
userAgent
|
null
|
xmlrpc 要求の実行時に設定する http ユーザーエージェントヘッダー |
メッセージヘッダー リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
Camel XmlRpc はこれらのヘッダーを使用します。
ヘッダー | 説明 |
---|---|
CamelXmlRpcMethodName
|
XmlRpc サーバーの呼び出しに使用する XmlRpc メソッド名。 |
XmlRpc データフォーマットの使用 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
XmlRpc メッセージはリクエストまたは応答になる可能性があるため、XmlRpcDataFormat を使用する場合は request に dataformat is を指定する必要があります。
クライアントからの XmlRpc サービスの呼び出し リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
XmlRpc サービスを呼び出すには、メッセージヘッダーに methodName を指定し、パラメーターを以下のコードのようにメッセージボディーに配置する必要があります。障害メッセージが返された場合は、XmlRpcException が発生する例外が発生するはずです。
String response = template.requestBodyAndHeader(xmlRpcServiceAddress, new Object[]{"me"}, XmlRpcConstants.METHOD_NAME, "hello", String.class);
String response = template.requestBodyAndHeader(xmlRpcServiceAddress, new Object[]{"me"}, XmlRpcConstants.METHOD_NAME, "hello", String.class);
Java コードで XmlRpcClient を設定する方法 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
camel-xmlrpc は、コンポーネントによって使用される XmlRpcClientClient を設定するためのプラグ可能なストラテジーを提供し、ユーザーは XmlRpcClientConfigurer インターフェイスを実装するだけで、XmlRpcClient を必要に応じて設定できます。clientConfigure インスタンスの参照は、uri オプション clientConfigure を使用して設定できます。