|
|
WebOTX Manual V10.3 (第4版) 目次を表示 |

図2.9.11.1-1
|
項目 |
説明 |
|---|---|
|
/META-INF/schema |
メッセージ検証用スキーマを格納するフォルダです。 |
|
/META-INF/jbi.xml |
サービスユニットの配備記述子です。 |
|
endpoints.xml |
Salesforce BCのエンドポイントの設定が記述されます。 |
|
*.su |
サービスユニットの管理ファイルです(編集不可)。 |

図2.9.11.2-1
Memo
エンドポイントを追加する方法については、
2.7.1. エンドポイントの追加 をご覧下さい。
|
設定項目 |
説明 |
値 |
|||
|---|---|---|---|---|---|
| エンドポイント一覧 | |||||
|
SUで定義されたエンドポイントの一覧を表示します。 |
|||||
| 基本設定 | |||||
|
エンドポイントロール |
Salesforce BC のエンドポイントロールを指定します。 |
プロバイダ、コンシューマから選択 [必須] |
|||
|
サービス名 |
エンドポイントロールがプロバイダの場合、エンドポイントが提供するサービス名を指定します。 エンドポイントロールがコンシューマの場合、呼び出し先となるエンドポイントのサービス名を指定します。 |
QName(名前空間、ローカル名) [必須] |
|||
|
インタフェース名 |
エンドポイントロールがプロバイダの場合、エンドポイントが提供するインタフェース名を設定します。 エンドポイントロールがコンシューマの場合、呼び出し先となるエンドポイントのインタフェース名を指定します。 |
QName(名前空間、ローカル名)[必須] |
|||
|
ESBインスタンス名 |
分散ESB機能を使用する場合にのみESBインスタンス名を指定します。
その他の場合は空欄にします。 |
文字(A-Z、a-z)、数字(0-9)、ハイフン(-)、点(.)、下線(_)の組み合わせ [任意] |
|||
| オペレーション一覧 | |||||
|
オペレーションを設定します |
|||||
| メッセージエクスチェンジハンドラ | |||||
|
メッセージエクスチェンジハンドラを設定します。 |
|||||
| 共通設定 | |||||
|
共通項目(セキュリティ認証、トランザクション、メッセージ送信優先度、エラーリトライ)を設定します。 |
|||||
| オプション一覧 | |||||
|
オプションを設定します。 |
|||||
Memo
エンドポイントロールをコンシューマにした場合、動作には別途Inboundサーブレットを配備する必要があります。詳細は[2.9.11.13. Inboundサーブレット]をご参照ください。
エンドポイントロールをプロバイダにした場合、サービス名とエンドポイント名の設定が他のエンドポイントと重複しないようにしてください。
|
設定項目 |
説明 |
値 |
|||
|---|---|---|---|---|---|
| Salesforce BCの設定 | |||||
|
SalesforceのログインURL |
SalesforceのログインURLを指定します。 |
【マルチバイト文字列指定可】 文字列(URI)[必須]
※プロバイダの場合のみ |
|||
|
外部に公開するエンドポイントURL |
外部に公開するHTTPサーバーのエンドポイントURLを指定します。 |
【マルチバイト文字列指定可】 文字列(URI)[必須] ※コンシューマの場合のみ 他のコンシューマの設定と重複しないでください。 |
|||
|
ユーザ名 |
Salesforceのログイン用ユーザ名を指定します。 |
【マルチバイト文字列指定可】 任意の文字列[必須]。 ※プロバイダの場合のみ |
|||
|
パスワード |
Salesforceのログイン用パスワードを指定します。 ※Salesforce側のアカウント設定を特に変更していない場合は、 パスワードの後ろにセキュリティトークンを連結した文字列を指定する必要があります。 詳細はSalesforceのマニュアルを参照してください。(2012年2月現在) |
【マルチバイト文字列指定可】 任意の文字列[必須]。暗号化とします。 ※プロバイダの場合のみ |
|||
|
XML処理のタイプ |
XML処理のタイプを設定します。 |
下記の値から選択。[任意]
|
|||
|
圧縮して送受信する |
Gzipの形式でリクエストやレスポンスを送受信するかを設定します。 |
下記の値から選択。[任意]
※プロバイダの場合のみ |
|||
|
Expect-Continueハンドシェイクを行う |
エンドポイント単位でプロバイダがexpect-continue handshakeをサポートするかどうかを指定します。 |
下記の値から選択。[任意]
※プロバイダの場合のみ |
|||
|
コネクションを再利用する |
コネクションを再利用するかどうかを指定します。 |
下記の値から選択。[必須]
※プロバイダの場合のみ |
|||
|
コネクション再利用時に状態をチェックする |
コネクション再利用時にそのコネクションが有効であるかをチェックするかどうかを指定できます。 [コネクションを再利用するにtrueを選択した場合のみ設定可能] |
下記の値から選択。[任意]
※プロバイダの場合のみ |
|||
|
タイムアウト |
Keep-Aliveの有効時間。0の場合、Long.MAX_VALUEミリ秒とします。 [コネクションを再利用するにtrueを選択した場合のみ設定可能] |
数値(0〜9223372036854775)[任意] 単位:秒 デフォルト値:0 ※プロバイダの場合のみ |
|||
|
TCP_NODELAYを有効にする |
TCP_NODALAYソケットオプションを有効にするかどうかを指定します。 |
下記の値から選択。[任意]
※プロバイダの場合のみ |
|||
|
送受信バッファサイズ |
Socketのメッセージ送受信bufferサイズを指定します。 |
数値(0〜2147483647)[任意] 単位:バイト デフォルト値:1024 ※プロバイダの場合のみ |
|||
|
接続タイムアウト |
外部サーバへ接続を確立する際のタイムアウト時間を指定します。0の場合、タイムアウト時間は無制限です。 |
数値(0〜2147483)[任意] 単位:秒 デフォルト値:0 ※プロバイダの場合のみ |
|||
|
読み取りタイムアウト |
外部サーバのレスポンスを読み取りタイムアウト時間を指定します。0の場合、タイムアウト時間は無制限です。 |
数値(0〜2147483)[任意] 単位:秒 デフォルト値:0 ※プロバイダの場合のみ |
|||

図2.9.11.2-2

図2.9.11.3-1
|
項目 |
説明 |
値 |
|||
|---|---|---|---|---|---|
|
オペレーション名 |
エンドポイントロールがプロバイダの場合、エンドポイントが提供するオペレーション名を指定します。 エンドポイントロールがコンシューマの場合呼び出し先となるエンドポイントのオペレーション名を指定します。 |
QName(名前空間、ローカル名)[必須] プロバイダに、SOAPボディ要素操作は「replace/insert」である場合、名前空間は「urn:partner.soap.sforce.com」に固定します。 プロバイダに、SOAPボディ要素操作は「replace/insert」である場合、ローカル名は「create/query/update/delete」のみから選択できます。 |
|||
|
メッセージ交換方式 |
使用するメッセージ交換方式を指定します。 コンシューマの場合、プロバイダの提供するメッセージ交換方式を指定してください。 |
in-only、 in-out、robust-in-onlyから選択
[必須] |
|||
| スキーマファイル | インプット/アウトプット |
対象SUフォルダのMETA-INFフォルダのschemaフォルダ配下にあるスキーマファイルの相対パスを指定します。 指定したスキーマファイルは、後述のインプット検証/アウトプット検証を選択することで実行時のメッセージ検証に利用することができます。 選択しなかった場合も、XSLT SE による変換の定義の際のインプット/アウトプットスキーマとして利用することができます。 [メッセージ交換方式を指定した場合のみ設定可能] |
|||
|
参照 (インプット/アウトプット) |
スキーマファイルの選択ダイアログを開きます。 スキーマファイルを選択すると、その相対パスがインプットおよびアウトプットのファイルのテキストボックスに表示されます。 利用方法については、[2.7.7. スキーマファイルの設定] を参照して下さい。 |
||||
| 検証実行 | インプットの検証実行 |
実行時に、インプットで指定したスキーマファイルでのメッセージの検証を実施します。 選択時には、スキーマファイルのインプットの指定は必須項目となります。 [メッセージ交換方式を指定した場合のみ設定可能] |
デフォルトは非選択 [任意] |
||
| アウトプットの検証実行 |
実行時に、アウトプットで指定したスキーマファイルでのメッセージの検証を実施します。 選択時には、スキーマファイルのアウトプットの指定は必須項目となります。 [メッセージ交換方式を指定した場合のみ設定可能] |
デフォルトは非選択 [任意] |
|||
|
オペレーションロケーション |
このoperationの識別子です。同じエンドポイントの別のオペレーションと違う文字列を指定してください。コンシューマの場合、リクエストURLからオペレーションロケーション文字列を取得し、対応するオペレーションを判断します。 |
【マルチバイト文字列指定可】 任意の文字列[必須] |
|||
|
プロバイダ側レスポンス結果を利用する |
HTTPレスポンスでステータス200を受信した場合においても、レスポンス内にエラーが含まれていればError/FaultメッセージをNMRへ返却します。 |
下記の値から選択。[任意]
※プロバイダの場合のみ |
|||
|
セッション伝播を有効にする |
自分が生成したセッションIDをMEのプロパティに保存するかを指定します。 |
下記の値から選択。[任意]
※プロバイダの場合のみ |
|||
|
セッション再利用を有効にする |
MEのプロパティに保存されているセッションIDを利用します。 Salesforce BC同士の組み合わせでのみ使用可能です。 |
下記の値から選択。[任意]
※プロバイダの場合のみ |
|||
|
SOAPボディ要素操作 |
SOAPボディ要素への操作を選択します。何もしない(no-wrap), 要素を置き換える(replace), 要素に挿入する(insert)の3種類から選択できます。 replaceまたはinsertの場合、オペレーション名で指定した要素が置換・挿入されます。 |
下記の値から選択。[任意]
※プロバイダの場合のみ |
|||
|
クッキーを転送する |
外部へ/から送受信するとき、クッキーを伝播します。 HTTP BC或いはSOAP BCとの組み合わせで使用可能です。 |
下記の値から選択。[任意]
|
|||
|
Chunkedで送信する |
Outbound側が外部へメッセージをchunkedで送信します。 |
下記の値から選択。[任意]
※プロバイダの場合のみ |
|||
|
リダイレクトに従う |
リダイレクトをサポートします。 |
下記の値から選択。[任意]
※プロバイダの場合のみ |
|||
|
NoneOrAllHeaderを追加する |
Salesforce.comへ送信時に、NoneOrAllをSOAPHeaderに追加します。 |
下記の値から選択[任意]。
※プロバイダの場合のみ |
|||

図2.9.11.4-1
|
項目 |
説明 |
値 |
|||
|---|---|---|---|---|---|
|
エンドポイント名のURL表記 |
エンドポイントをURL表記した値。リソース管理に用いられます。 |
http://webotxesb/<BC名>/エンドポイント名 省略した場合、ESB内部で自動生成されます。 |
|||
|
エンドポイントの認証の設定 |
OFFにした場合はエンドポイントの認証を行いません。 |
||||
|
エンドポイントのID |
認証に利用するIDを設定します。 |
文字列[必須] |
|||
|
パスワード |
認証に利用するパスワードを設定します。パスワードは暗号化とします。 |
文字列[任意] |
|||
|
ログインモジュールの設定を行う |
ログインモジュールの設定を行います。 |
任意の文字列[任意]
|
|||
|
エンドポイントの認可の設定 |
OFFにした場合はエンドポイントの認可を行いません。 |
||||
|
認可に用いる認証情報 |
認可に利用する認証情報を設定します。 |
コンシューマの場合
|
|||
|
Principalの識別子 |
Principalの識別子を設定します。 |
任意の文字列[任意] | |||
|
クライアント認証 |
OFFにした場合はクライアント認証を行いません。 |
※コンシューマの場合のみ |
|||
|
organizationID |
organizationIDの値です。 |
任意の文字列[必須]。暗号化とします。 |
|||
|
項目 |
説明 |
値 |
|||
|---|---|---|---|---|---|
|
MaxRequestCount |
エンドポイント単位で同時処理できる最大リクエスト数を設定します。 0にした場合は無制限となります。この設定はコンシューマでのみ有効です。 |
0-214748 | |||
|
ExceedRequestTimeout |
同時処理できる最大リクエスト数を超えた場合の最大待ち時間を設定します(秒)。 この設定はコンシューマでのみ有効です。 |
-1-214748 | |||
|
AUTHORIZE_SKIP |
エラーリトライ時に認証処理をスキップするか否かを指定します。 |
true/false | |||
JBI コンポーネントにおけるMEPの設定は、本来 NMRとのメッセージ交換モデルを設定するためのものですが、
Salesforce CRMとのメッセージ交換においても、連動して同じMEPが適用されなければ意味がありません。
WebOTX ESBのSalesforce BCクライアント機能では、MEP、Salesforce CRMからのレスポンスにおけるHTTPレスポンスコード、コンテントタイプの3つの条件によって、Salesforce CRMからのレスポンス処理方法が変化します。
|
MEP |
タイプ |
動作の説明 |
|---|---|---|
|
In-Only |
要求 |
NMR から受け付けたメッセージエクスチェンジに格納されたInメッセージをSOAPリクエストに変換して、エンドポイントで定義されたSalesforce CRMに送信し、Salesforce CRMからのErrorかdoneに相当するレスポンスメッセージを待ち合わせます。 |
|
応答(done) |
Salesforce CRMからdoneを示すHTTPレスポンス(※)を受信すると、DONEステータスを設定したメッセージエクスチェンジを NMR に返却します。もし、プロバイダ側レスポンス結果を利用するの値が「true」であるとき、
レスポンスがエラーであったら、Errorを示すレスポンスメッセージを返却します。 ※レスポンスメッセージの情報 ・HTTPステータス 200 |
|
|
応答(Error) |
SOAPリクエストの送信に失敗したときにErrorとなります。Salesforce CRMからErrorを示すレスポンスメッセージ(※)を受信すると、例外メッセージを格納したメッセージエクスチェンジを NMR に返却します。 ※doneを示すHTTPレスポンス以外のもの |
|
|
Robust In-Only |
要求 |
NMR から受け付けたメッセージエクスチェンジに格納されたInメッセージをSOAPリクエストに変換して、エンドポイントで定義されたSalesforce CRMに送信し、Salesforce CRMからのFaultかErrorかdoneに相当するレスポンスメッセージを待ち合わせます。 |
|
応答(Fault) |
Salesforce CRMからFaultを示すレスポンスメッセージ(※)を受信すると、変換したFaultデータを格納したメッセージエクスチェンジを NMR に返却します。この後、 NMR からDONEステータスが設定されたメッセージエクスチェンジを待ち受けます。 ※レスポンスメッセージの情報 ・HTTPステータス 500 ・コンテントタイプ text/xml |
|
|
応答(done) |
Salesforce CRMからdoneを示すレスポンスメッセージ(※)を受信すると、DONEステータスを設定したメッセージエクスチェンジを NMR に返却します。もし、プロバイダ側レスポンス結果を利用するは「true」である場合、レスポンスにエラーのあったら、強引にerrorを示すレスポンスメッセージを返却します。 ※レスポンスメッセージの情報 ・HTTPステータス 200 |
|
|
応答(Error) |
SOAPリクエストの送信に失敗したときにErrorとなります。Salesforce CRMからErrorを示すレスポンスメッセージ(※)を受信すると、例外メッセージを格納したメッセージエクスチェンジを NMR に返却します。 ※Fault/doneを示すHTTPレスポンス以外のもの |
|
|
In-Out |
要求 |
NMR から受け付けたメッセージエクスチェンジに格納されたInメッセージをSOAPリクエストに変換して、エンドポイントで定義されたSalesforce CRMに送信し、Salesforce CRMからのoutかFaultかErrorに相当するレスポンスメッセージを待ち合わせます。 |
|
応答(out) |
Salesforce CRMからoutを示すレスポンスメッセージ(※)を受信すると、変換したoutデータを格納したメッセージエクスチェンジを NMR に返却します。この後、 NMR からDONEステータスが設定されたメッセージエクスチェンジを待ち受けます。
もし、プロバイダ側レスポンス結果を利用するが「true」であるとき、レスポンスにエラーがあったら、Errorを示すレスポンスメッセージを返却します。 ※レスポンスメッセージの情報 ・HTTPステータス 200 ・コンテントタイプ text/xml |
|
|
応答(Fault) |
Salesforce CRMからFaultを示すレスポンスメッセージ(※)を受信すると、変換したFaultデータを格納したメッセージエクスチェンジを NMR に返却します。この後、 NMR からDONEステータスが設定されたメッセージエクスチェンジを待ち受けます。 ※レスポンスメッセージの情報 ・HTTPステータス 500 ・コンテントタイプ text/xml |
|
|
応答(Error) |
SOAPリクエストの送信に失敗したときにErrorとなります。Salesforce CRMからErrorを示すレスポンスメッセージ(※)を受信すると、例外メッセージを格納したメッセージエクスチェンジを NMR に返却します。 ※out/doneを示すHTTPレスポンス以外のもの |
|
|
In Optional-Out |
-- |
(Salesforce BCでは対応しません) |
WebOTX ESBのSOAPサーバ機能では、JBIコンポーネントとしてのメッセージ交換方式(MEP)の設定が、
外部に公開するWebサービスとしてのメッセージ交換方式に連動し、Salesforce CRMへのレスポンス処理方法が変化します。
|
MEP |
タイプ |
動作の説明 |
|---|---|---|
|
In-Only |
要求 |
エンドポイントで定義されたURLからSOAPリクエストを受信すると、変換したInメッセージを格納したメッセージエクスチェンジを NMR に送信し、 NMR からのERRORかDONEステータスが設定されたメッセージエクスチェンジを待ち受けます。 Salesforce CRMから送信してきたSOAPリクエストのチェックに失敗した場合、NMRへメッセージを転送しなくて、エラーを示すレスポンスメッセージ(※)をSalesforce CRMに返します。 ※レスポンスメッセージの情報 ・HTTPステータス 異常系メッセージ(Fault/Error)のSalesforce BCのエラーコード一覧を参照 ・notificationsResponse Ack=false |
|
応答(done) |
NMR からDONEステータスが設定されたメッセージエクスチェンジを受信すると、Salesforce CRMへdoneを示すレスポンスメッセージ(※)を返信します。 ※レスポンスメッセージの情報 ・HTTPステータス 200 ・notificationsResponse Ack=true |
|
|
応答(error) |
NMR からERRORステータスが設定されたメッセージエクスチェンジを受信すると、SOAPクライアントへdoneを示すレスポンスメッセージ(※)を返信します。 ※レスポンスメッセージの情報 ・HTTPステータス 500 ・notificationsResponse Ack=false |
|
|
Robust In-Only |
要求 |
エンドポイントで定義されたURLからSOAPリクエストを受信すると、変換したInメッセージを格納したメッセージエクスチェンジを NMR に送信し、 NMR からのFault/Error/doneのメッセージエクスチェンジを待ち受けます。 Salesforce CRMから送信してきたSOAPリクエストのチェックに失敗した場合、NMRへメッセージを転送しなくて、エラーを示すレスポンスメッセージ(※)をSalesforce CRMに返します。 ※レスポンスメッセージの情報 ・HTTPステータス 異常系メッセージ(Fault/Error)のSalesforce BCのエラーコード一覧を参照 ・notificationsResponse Ack=false |
|
応答(Fault) |
NMR から受け付けたメッセージエクスチェンジに格納されたFaultデータをSOAP
Faultレスポンスメッセージ(※)に変換して、SOAPクライアントに送信し、DONEステータスを設定したメッセージエクスチェンジを NMR に返却します。 ※レスポンスメッセージの情報 ・HTTPステータス 500 ・notificationsResponse Ack=false |
|
|
応答(done) |
NMR からdoneのメッセージエクスチェンジを受信すると、done相当のSOAPレスポンスメッセージ(※)をSalesforce CRMに送信します。 ※レスポンスメッセージの情報 ・HTTPステータス 200 ・notificationsResponse Ack=true |
|
|
応答(error) |
NMR からerrorのメッセージエクスチェンジを受信すると、error相当のSOAP
レスポンスメッセージ(※)をSalesforce CRMに送信します。 ※レスポンスメッセージの情報 ・HTTPステータス 500 ・notificationsResponse Ack=false |
|
|
In-Out |
要求 |
エンドポイントで定義されたURLからSOAPリクエストを受信すると、変換したInメッセージを格納したメッセージエクスチェンジを NMR に送信し、 NMR からのout/Fault/Errorのメッセージエクスチェンジを待ち受けます。 Salesforce CRMから送信してきたSOAPリクエストのチェックに失敗した場合、NMRへメッセージを転送しなくて、エラーを示すレスポンスメッセージ(※)をSalesforce CRMに返します。 ※レスポンスメッセージの情報 ・HTTPステータス 異常系メッセージ(Fault/Error)のSalesforce BCのエラーコード一覧を参照 ・notificationsResponse Ack=false |
|
応答(out) |
NMR から受け付けたメッセージエクスチェンジに格納されたoutデータをSOAPレスポンスメッセージ(※)に変換して、SOAPクライアントに送信し、DONEステータスを設定したメッセージエクスチェンジを NMR に返却します。
このAckメッセージを返信するのは失敗である場合、 NMR にErrorメッセージを返却します。 ※SOAPレスポンスメッセージの情報 ・HTTPステータス 200 ・コンテントタイプ text/xml ・notificationsResponse Ack=true |
|
|
応答(Fault) |
NMR から受け付けたメッセージエクスチェンジに格納されたFaultデータをSOAP
Faultレスポンスメッセージ(※)に変換して、Salesforce CRMに送信し、DONEステータスを設定したメッセージエクスチェンジを NMR に返却します。
このAckメッセージを返信するのは失敗である場合、 NMR にErrorメッセージを返却します。 ※SOAPレスポンスメッセージの情報 ・HTTPステータス 500 ・コンテントタイプ text/xml ・notificationsResponse Ack=false |
|
|
応答(Error) |
NMR からerrorのメッセージエクスチェンジを受信すると、error相当のSOAP
レスポンスメッセージ(※)をSalesforce CRMに送信します。 ※SOAPレスポンスメッセージの情報 ・HTTPステータス 500 ・コンテントタイプ text/xml ・notificationsResponse Ack=false |
|
|
In Optional-Out |
-- |
(Salesforce BCでは対応しません) |
NMR から受け取ったメッセージエクスチェンジをSalesforce CRMに送信するリクエストSOAPメッセージに変換することをデノーマライズと言います。また、Salesforce CRMから受信したレスポンスSOAPメッセージを NMR に送信するメッセージエクスチェンジに変換することをノーマライズと言います。

図2.9.11.11-1
デノーマライズの規則は上図のようになっています。ノーマライズメッセージにSOAPヘッダを示すキーがあった場合、その値をSOAPヘッダに挿入します。また、メッセージコンテントはSOAPボディに、添付ファイルはSOAP
Attachments パートにそのまま挿入されます。
メッセージエクスチェンジのエラーがあった場合、Salesforce CRMへのリクエストは送出されません。その場合、Salesforce
BCによってFaultメッセージが生成され、その内容を含むメッセージエクスチェンジが NMR に返されます。

図2.9.11.11-2
ノーマライズ規則は上図のようになっています。SOAPヘッダの内容は、ノーマライズメッセージのプロパティに既定のキーの値として挿入されます。SOAPボディの内容はメッセージコンテントに、SOAP
Attachments
パートの内容はそのまま添付ファイルとなります。また、HTTPヘッダに入っているHTTPステータスは、JBIのステータスに変換され、メッセージエクスチェンジのステータスにセットされます。
Salesforce CRMからSOAP
Faultが返ってきた場合、Detailの内容がFaultメッセージのメッセージコンテントにセットされます。

図2.9.11.11-3
ノーマライズ規則は上図のようになっています。SOAPヘッダの内容は、ノーマライズメッセージのプロパティに既定のキーの値として挿入されます。SOAPボディの内容はメッセージコンテントに、SOAP
Attachments パートの内容はそのまま添付ファイルとなります。

図2.9.11.11-4
デノーマライズの規則は上図のようになっています。メッセージエクスチェンジのステータス(DONE)とノーマライズメッセージで場合、「Ack」がtrueを含むSOAPメッセージを生成します。
Faultメッセージとエラーで場合、「Ack」がfalseを含まっているSOAPメッセージを生成します。
WebOTX ESBにおいて「Salesforce BCに誤ったメッセージが入力された」、「サービス呼び出しに失敗した」等の異常が発生した場合、Salesforce BCのInboundからクライアントアプリケーションに400/500系のHTTPメッセージが返却されます。 クライアントアプリケーションでは返却されたHTTPメッセージから発生した異常の内容を知ることができます。 以下では、発生する異常の種類ごとにSalesforce BCのInboundからクライアントアプリケーションに返却するメッセージを説明します。
異常の種類により Fault または Error に分類されます。 以下はSalesforce BCにおいて異常が発生するパターンの一覧です。 [ リファレンス集 開発編(Enterprise Service Bus) > 2. 異常系メッセージ(Fault/Error) > 2.1. バインディングコンポーネント > 2.1.12. Salesforce BC ]
Salesforce BCがインストールされていない場合
Salesforce BCが起動されていない場合
メッセージ内容は500系のHTML形式の文書です。
以下はSalesforce BCが起動していない場合の例です。
503 SalesforceBinding not started.
<html><head><title>WebOTX 8.XX.XX.XX - Error report</title><style><!--H1 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:22px;} H2 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:16px;} H3 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:14px;} BODY {font-family:Tahoma,Arial,sans-serif;color:black;background-color:white;} B {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;} P {font-family:Tahoma,Arial,sans-serif;background:white;color:black;font-size:12px;}A {color : black;}A.name {color : black;}HR {color : #525D76;}--></style> </head><body><h1>HTTPステータス 503 - SalesforceBinding not started.</h1><HR size="1" noshade="noshade"><p><b>type</b> ステータスレポート</p><p><b>メッセージ</b> <u>SalesforceBinding not started.</u></p><p><b>説明</b> <u>The requested service (SalesforceBinding not started.) is not currently available.</u></p><HR size="1" noshade="noshade"><h3>WebOTX 8.XX.XX.XX</h3></body></html>
プロバイダエンドポイントがFaultを返却した場合
プロバイダエンドポイントがErrorを返却した場合
「同時処理最大リクエスト数」を超えてタイムアウトした場合
外部クライアントから送信されたリクエストのチェックに失敗した場合
クライアントアプリケーションへ以下の電文が返信されます。 HTTPレスポンスコードは状況により違います、例えばプロバイダエンドポイントがError/Faultを返却した場合は500、「同時処理最大リクエスト数」を超えてタイムアウトした場合は503です。
500 Internal Server Error <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:out="http://soap.sforce.com/2005/09/outbound"><soapenv:Header/><soapenv:Body><out:notificationsResponse><out:Ack>false</out:Ack></out:notificationsResponse></soapenv:Body></soapenv:Envelope>
エンドポイントロールをコンシューマに設定した場合、Salesforce CRMからのリクエストを受け付けてSalesforce BCへの橋渡しを行うためのサーブレット(以下 Inboundサーブレット)をWebコンテナに配備する必要があります。
「Inbound Servletを自動で配備する」がONの場合は自動的に配備が行われますが、OFFにした場合は手動でInboundサーブレットを配備する必要があります。アドバンスドモードの場合、InboundサーブレットをESBが動作するプロセスグループに配備してください。
配備方法については、
[ 配備・再配備 ] を参照してください。
はじめに、WebOTX ESBにインストールされているInboundサーブレット(<WebOTX_DIR>\jbi\components\salesforce配下にあるsalesforce_inbound_servlet.war)をSUエディタの”外部に公開するエンドポイントURL”で指定したコンテキストルートを指定し、通常のサーブレットと同様にWebコンテナに配備します。
Memo
otxadminのloginコマンドでログイン済ならば--userオプションを指定する必要はありません。
Salesforce BCのinbound(エンドポイントロールをコンシューマとした場合)は、このサーブレットとサービスアセンブリが両方とも配備され、起動していなければ動作しません。
コンテキストルートを指定しない場合、salesforce_inbound_servlet.warのコンテキストルートがsalesforcebcとなります。

図2.9.11.15-1

図2.9.11.15-2
| 要素名 | 説明 |
|---|---|
| Partner WSDLのURLを指定して作成 | ネットワークに公開されているPartner WSDLのURLを指定して読み込みます。 |
| ワークスペース内のPartner WSDLから作成 | ワークスペース内のPartner WSDL を指定して読み込みます。 |
| ユーザ名 | Salesforceログイン情報のユーザ名と同じです。 |
| パスワード | Salesforceログイン情報のパスワードにセキュリティトークンを追加したものです。 |
Memo
Partner WSDLを取得する
Salesforce.comへログインして、[あなたの氏名]▼ > [設定] > [開発] > [API] 画面の [パートナーWSDLの作成]
リンクでPartner WSDLを入手します。
Memo
セキュリティトークンを取得する
Salesforce.comへログインして、[個人設定] > [私の個人情報] > [私のセキュリティトークンのリセット] でセキュリティトークンを入手します。

図2.9.11.15-3

図2.9.11.15-4
/{SU名}/META-INF/schema/mapping/
|-salesforce_parameters.xsd
|-salesforce_objects.xsd
|-salesforce_faults.xsd

図2.9.11.15-5
| ファイル名 | 説明 |
|---|---|
| salesforce_parameters.xsd | オペレーションのパラメータを定義するスキーマ。 |
| salesforce_objects.xsd | Salesforceの標準オブジェクトとカスタマイズオブジェクトを定義するスキーマ。 |
| salesforce_faults.xsd | フォルトを定義するスキーマ。 |
<element name="update"> <complexType> <sequence> <element name="sObjects" type="ens:sObject" minOccurs="0" maxOccurs="unbounded"/> </sequence> </complexType> </element>

<element name="update"> <complexType> <sequence> <element name="sObjects" type="ens:Account" minOccurs="0" maxOccurs="unbounded"/> </sequence> </complexType> </element>(1-2)オペレーションに直接sObjectを利用せず、オペレーションに利用されているオブジェクト(この例ではMergeRequest)でsObjectが利用されており、 かつ、他のオペレーションでMergeRequestを利用していない場合
<element name="merge"> <complexType> <sequence> <element name="request" type="tns:MergeRequest" minOccurs="0" maxOccurs="unbounded"/> </sequence> </complexType> </element> <complexType name="MergeRequest"> <sequence> <element name="masterRecord" type="ens:sObject"/> <element name="recordToMergeIds" type="tns:ID" minOccurs="1" maxOccurs="unbounded"/> </sequence> </complexType>

<element name="merge"> <complexType> <sequence> <element name="request" type="tns:MergeRequest" minOccurs="0" maxOccurs="unbounded"/> </sequence> </complexType> </element> <complexType name="MergeRequest"> <sequence> <element name="masterRecord" type="ens:Account"/> <element name="recordToMergeIds" type="tns:ID" minOccurs="1" maxOccurs="unbounded"/> </sequence> </complexType>(1-3)オペレーションに直接sObjectを利用せず、オペレーションに利用されているオブジェクト(この例ではQueryResult)でsObjectが利用されており、かつ、他のオペレーションでもQueryResultを利用している場合
<element name="queryResponse"> // queryResponseをQueryResultを利用している <complexType> <sequence> <element name="result" type="tns:QueryResult"/> </sequence> </complexType> </element> <element name="queryAllResponse"> // queryAllResponseもQueryResultを利用している <complexType> <sequence> <element name="result" type="tns:QueryResult"/> </sequence> </complexType> </element> <complexType name="QueryResult"> <sequence> <element name="done" type="xsd:boolean"/> <element name="queryLocator" type="tns:QueryLocator" nillable="true"/> <element name="records" type="ens:sObject" nillable="true" minOccurs="0" maxOccurs="unbounded"/> <element name="size" type="xsd:int"/> </sequence> </complexType>

<element name="queryResponse"> <complexType> <sequence> <element name="result" type="tns:QueryResult_1"/> </sequence> </complexType> </element> <complexType name="QueryResult_1"> <sequence> <element name="done" type="xsd:boolean"/> <element name="queryLocator" type="tns:QueryLocator" nillable="true"/> <element name="records" type="ens:Account" nillable="true" minOccurs="0" maxOccurs="unbounded"/> <element name="size" type="xsd:int"/> </sequence> </complexType> <element name="queryAllResponse"> <complexType> <sequence> <element name="result" type="tns:QueryResult"/> </sequence> </complexType> </element> <complexType name="QueryResult"> <sequence> <element name="done" type="xsd:boolean"/> <element name="queryLocator" type="tns:QueryLocator" nillable="true"/> <element name="records" type="ens:sObject" nillable="true" minOccurs="0" maxOccurs="unbounded"/> <element name="size" type="xsd:int"/> </sequence> </complexType>(2)マッピングプロジェクトの作成。