第141章 SAP NetWeaver
SAP NetWeaver Gateway コンポーネント リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
Camel 2.12 以降で利用可能
sap-netweaver は、HTTP トランスポートを使用して SAP NetWeaver Gateway と統合します。
この Camel コンポーネントはプロデューサーエンドポイントのみをサポートします。
Maven ユーザーは、このコンポーネントの
pom.xml に以下の依存関係を追加する必要があります。
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-sap-netweaver</artifactId>
<version>x.x.x</version>
<!-- use the same version as your Camel core version -->
</dependency>
URI 形式 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
sap netweaver ゲートウェイコンポーネントの URI スキームは以下のとおりです。
sap-netweaver:https://host:8080/path?username=foo&password=secret
URI にクエリーオプションは
?option=value&option=value&.. の形式で追加できます。
前提条件 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
このコンポーネントを活用するには、SAP NetWeaver システムへのアカウントが必要です。SAP は、アカウントに必要な デモ設定 を提供します。
このコンポーネントは、SAP NetWeaver にログインするために Basic 認証スキームを使用します。
コンポーネントおよびエンドポイントオプション リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
| 名前 | デフォルト値 | 説明 |
|---|---|---|
username
|
アカウントのユーザー名。これは必須です。 | |
password
|
アカウントのパスワードこれは必須です。 | |
json
|
true
|
JSON 形式でデータを返すかどうか。このオプションが false の場合、XML は Atom 形式で返されます。 |
jsonAsMap
|
true
|
JSON を文字列からメッセージボディーの Map に変換するには、以下を行います。 |
flatternMap
|
true
|
JSON Map に単一のエントリーのみが含まれる場合、その単一のエントリー値をメッセージボディーとして保存し、フラット化します。 |
メッセージヘッダー リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
以下のヘッダーはプロデューサーで使用できます。
| 名前 | タイプ | 説明 |
|---|---|---|
CamelNetWeaverCommand
|
文字列
|
必須: MS ADO.Net Data Service 形式で実行するコマンド。 |
例 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
この例は、SAP のフライトデモの例を使用しています。これは、インターネット上でオンライン で 利用できます。
以下のルートでは、以下の URL を使用して SAP NetWeaver デモサーバーを要求します。
https://sapes1.sapdevcenter.com/sap/opu/odata/IWBEP/RMTSAMPLEFLIGHT_2/
そして、次のコマンドを実行します。
FlightCollection(AirLineID='AA',FlightConnectionID='0017',FlightDate=datetime'2012-08-29T00%3A00%3A00')
指定のフライトの詳細を取得するには、以下を実行します。コマンド構文は MS ADO.Net Data Service 形式です。
以下の Camel ルートがあります。
from("direct:start")
.toF("sap-netweaver:%s?username=%s&password=%s", url, username, password)
.to("log:response")
.to("velocity:flight-info.vm")
ここで、url、username、および password は以下のように定義されます。
private String username = "P1909969254";
private String password = "TODO";
private String url = "https://sapes1.sapdevcenter.com/sap/opu/odata/IWBEP/RMTSAMPLEFLIGHT_2/";
private String command = "FlightCollection(AirLineID='AA',FlightConnectionID='0017',FlightDate=datetime'2012-08-29T00%3A00%3A00')";
パスワードが無効です。デモを実行するには、最初に SAP にアカウントを作成する必要があります。
velocity テンプレートは、基本的な HTML ページへの応答のフォーマットに使用されます。
<html>
<body>
Flight information:
<p/>
<br/>Airline ID: $body["AirLineID"]
<br/>Aircraft Type: $body["AirCraftType"]
<br/>Departure city: $body["FlightDetails"]["DepartureCity"]
<br/>Departure airport: $body["FlightDetails"]["DepartureAirPort"]
<br/>Destination city: $body["FlightDetails"]["DestinationCity"]
<br/>Destination airport: $body["FlightDetails"]["DestinationAirPort"]
</body>
</html>
アプリケーションの実行時に、sampel の出力を取得します。
Flight information:
Airline ID: AA
Aircraft Type: 747-400
Departure city: new york
Departure airport: JFK
Destination city: SAN FRANCISCO
Destination airport: SFO