受信SOAP Webサービスの設定

受信SOAP Webサービスの設定

お知らせ:当社は、お客様により充実したサポート情報を迅速に提供するため、本ページのコンテンツは機械翻訳を用いて日本語に翻訳しています。正確かつ最新のサポート情報をご覧いただくには、本内容の英語版を参照してください。

Alert

早期アクセス

この機能はすべてのユーザーに対して有効になっているわけではありません。お試しになりたい場合は、メールでサポートチームに早期アクセスをお申し込みください。

受信SOAP Webサービスでは、外部システムがQntrlインスタンスと連携するために呼び出せるエンドポイントを作成できます。外部システムからSOAP要求が送信されると、Qntrlは要求を処理し、事前に定義された処理に基づいてレスポンスを返します。これらのSOAPベースの連携を定義し構造化するために、WSDL(Web Services Description Language)コントラクトが使用されます。コントラクトには、利用可能な処理、想定される要求パラメーター、レスポンスの形式が記述されます。
WSDLコントラクトとその設定方法の詳細については、こちらのWSDLセクションを参照してください。

例:
サードパーティシステムが、顧客の詳細を取得するためにQntrlインスタンスへSOAP要求を送信します。Qntrlはこの要求を処理し、顧客の詳細をXMLレスポンスとして送信します。

受信SOAP Webサービスの作成   

Qntrlで受信SOAP Webサービスを作成するには:

  1. Qntrlにログインします。
  2. [設定])  [Webサービス][受信]に移動し、[SOAP]を選択します。
  3. サービスを定義します
    • [名前]:SOAPサービスに一意の名前を入力します。
    • [ソースエンドポイント]:SOAPサービスとの連携に使用されるエンドポイントURLです。
    • [処理]サービスが実行する処理です。初期値:execute。
    • [リソース] SOAPサービスのアクションを定義するには、既存の関数を選択するか、新しい関数を作成します。リストにはSOAPタイプの関数のみが表示されます。新しい関数を作成する場合は、エディターでスクリプトを記述します。関数は生成された名前で関数タブに自動的に表示され、名前は後で変更できます。
    • [認証タイプ]:API呼び出しの認証タイプを選択します。Qntrlでは、次の3種類の認証タイプに対応しています:
      • OAuth
      • APIキー
      • 基本認証(ユーザー名とパスワードをBase64でエンコードし、ヘッダーで送信します)。
    • [WSDL準拠の必須化]WSDL準拠を有効にするオプションを選択します。
      • True

        • 設定済みの要求パラメーターとレスポンスパラメーターのみ許可されます。受信要求に余分なパラメーターが含まれている場合は拒否されます。

        • 設定されていない出力パラメーターはレスポンスから除外されます。

        • 要求内の処理名は、WSDLで定義されたものと完全に一致している必要があります。一致しない場合、要求は失敗します。

      • False

        • WSDLで定義されていないパラメーターが含まれている場合でも、システムは外部要求を受け付けます。

        • ただし、設定済みのパラメーターには引き続き検証ルールが適用されます。

    • [要求パラメーター]要求で渡すパラメーターを定義します。
      • [パラメーター名]:入力パラメーターの名前を定義します。
      • [種類]:データ型を選択します。
      • [許可する正規表現]:パラメーター値の制限を設定します。
      • [最小文字数]:入力値の最小文字数を定義します。
      • [最大文字数]入力値の最大文字数を定義します。
      • [初期値]:パラメーターの初期値を設定します。
      • [必須]:パラメーターが必須かどうかを指定します。必須パラメーターが不足している場合、エラーが発生します。
    • [レスポンスパラメーター]
      • [名前]:出力パラメーターの名前を定義します。
      • [必須]:このパラメーターがレスポンスで必須かどうかを設定します。
Notes
検証により、受信要求が想定された形式を満たしていることを確認します。検証に失敗した場合、要求は拒否されます。

      

Qntrlは、エンドポイントURL処理名、および設定済みの要求/レスポンスパラメーターに基づいてWSDLを自動生成します。これらの設定に変更を加えると、WSDLも自動的に更新されます。

WSDLをダウンロードするには、選択した認証方法を使用してエンドポイントURLにGET要求を送信します。

      

 

リソース実行の仕組み

関数リソース

  • スクリプトでは、操作名、要求パラメーター、要求ヘッダー、完全なSOAPペイロード、エンドポイントURLにアクセスして処理できます。

  • 応答パラメーター、応答ヘッダーパラメーター、フォルトコード、フォルトメッセージを定義することも、完全なXML応答を定義することもできます。

  • エラーが発生した場合は、クライアントに返すエラーコードとメッセージを定義できます。

 

対応している関数  

Qntrlでは、インバウンドSOAP APIで関数リソースを作成するために、次の言語に対応しています。

  • JavaScript(ネイティブまたはCodexエンジン)

  • その他のクラウド関数:Python、Java、Node.jsに対応しています。

例(JavaScript):入力パラメーターの読み取りと応答の書き込み

/**
 * @param {SOAPRequest} soapRequest
 * @param {SOAPResponse} soapResponse
 */
function execute(soapRequest, soapResponse) {
try {
const operationName = soapRequest.getOperationName();
const endpointUri = soapRequest.getEndpointUri();
const requestParams = soapRequest.getRequestParams();
const requestHeaders = soapRequest.getHeaderParams();
 
console.log('SOAP 要求 Received:');
console.log('Operation:', operationName);
console.log('Endpoint URI:', endpointUri);
console.log('要求 Params:', JSON.stringify(requestParams));
console.log('要求 Headers:', JSON.stringify(requestHeaders));
 
// === Business logic こちら ===
// (For now we're mocking processing)
const processedParam1 = 'processed_value_1';
const processedParam2 = 'processed_value_2';
 
// Add response headers
soapResponse.addResponseHeaderParam('server', 'InternalGateway');
soapResponse.addResponseHeaderParam('要求-id', requestHeaders?.['要求-id'] || 'N/A');
soapResponse.addResponseHeaderParam('timestamp', new Date().toISOString());
 
// Add response params
soapResponse.addResponseParam('result_code', 'SUCCESS');
soapResponse.addResponseParam('processed_param1', processedParam1);
soapResponse.addResponseParam('processed_param2', processedParam2);
 
} catch (e) {
console.error('Error while processing SOAP 要求', e);
 
soapResponse.setFaultCode(500);
soapResponse.setFaultMessage(e.message);
}
}

 

例(Java):入力パラメーターの読み取りと応答の書き込み

インポート com.zoho.cloud.function.Context;
インポート com.zoho.cloud.function.basic.*;
インポート org.json.JSONObject;
 
public class SampleSOAPFunction implements ZCFunction {
 
@Override
public void runner(Context context, BasicIO basicIO) throws Exception {
// Read incoming 要求 parameters
String operationName = basicIO.getParameter('operation_name').toString();
String requestParams = basicIO.getParameter('request_params').toString();
String requestHeaders = basicIO.getParameter('request_headers').toString();
String endpointURI = basicIO.getParameter('endpoint_uri').toString();
 
// Prepare Response
JSONObject responseJSON = new JSONObject();
 
try {
JSONObject responseParams = new JSONObject();
responseParams.put('customer_id', 'CUST12345');
responseParams.put('order_id', 'ORD78910');
 
responseJSON.put('response_params', responseParams);
 
JSONObject responseHeaders = new JSONObject();
responseHeaders.put('client-id', 'WEBPORTAL-001');
responseHeaders.put('要求-id', 'REQ-20251105-ALPHA99');
 
responseJSON.put('response_header_params', responseHeaders);
 
} catch (Exception e) {
// The final XML response will have only fault code and fault message.
responseJSON.put('fault_code', '500');
responseJSON.put('fault_message', e.getMessage());
}
 
// From above constructed response parameter and response header, final response XML will be automatically constructed and written to client.
basicIO.write(responseJSON.toString());
context.log('Response Sent: ' + responseJSON.toString());
}
}
(他の言語でも同様の構文を使用します。) 

QntrlでのWSDLの呼び出しと処理   

SOAP WSDL要求の送信方法

メソッド:任意のHTTPメソッド(例:GET)

URLhttps://core.qntrl.com/webservice/soap/<org-id>/<source_endpoint>?WSDL

認証(要求ヘッダーに追加する必要があります):

  • OAuthトークン
    • ヘッダー形式:Authorization: Zoho-oauthtoken <access_token>
    • 必要なOAuthスコープ:ws_soapinbound.UPDATE
  • APIキー  
    • ヘッダー形式:Authorization: Bearer <api_key>
  • 基本認証
    • Authorization: Basic <base64-encoded username:password>
サービスURLに?wsdlを追加する必要があります。WSDLでは、サービスの操作とメッセージ構造が定義されます。指定したAPIのWSDLが返され、外部システムはこれを使用してサービスと連携できます。

SOAPメッセージ要求の送信方法  

メソッド:任意のHTTPメソッド(例:POST)

URLhttps://core.qntrl.com/webservice/soap/<org-id>/<source_endpoint>

認証(要求ヘッダーに追加する必要があります):

  • OAuthトークン

    • ヘッダー形式:Authorization: Zoho-oauthtoken <access_token>

    • 必要なOAuthスコープ:ws_soapinbound.UPDATE

  • APIキー

    • ヘッダー形式:Authorization: Bearer <api_key>

  • 基本認証

    • Authorization: Basic <base64-encoded username:password>

ボディ:ボディには、生のXMLリクエストデータを含める必要があります。


 


SOAPリクエストの例:

<soapenv:Envelope xmlns:soapenv='http://schemas.xmlsoap.org/soap/envelope/' xmlns:ord='https://98173384.core.localqntrlhost.com/webservice/98173384/orderManagement'> <soapenv:Header> <ord:AuthHeader> <ord:companyName>Zoho Corp</ord:companyName> </ord:AuthHeader> </soapenv:Header> <soapenv:Body> <ord:PlaceOrder> <ord:OrderID>12345</ord:OrderID> <ord:CustomerID>98765</ord:CustomerID> <ord:ProductID>10111</ord:ProductID> <ord:Quantity>3</ord:Quantity> <ord:OrderDate>2025-03-28</ord:OrderDate> </ord:PlaceOrder> </soapenv:Body> </soapenv:Envelope>


その他の操作

SOAPリクエストの有効化または無効化

設定パネルで、個々のSOAPリクエストの有効/無効を切り替えられます。

  1. [設定])[Webサービス][受信]に移動し、[SOAP]を選択します。

  2. 左側のパネルの[リソース]セクションで、SOAPメッセージを探します。

  3. メッセージ名の横にある切り替えボタンで、[有効化]または[無効化]します。


SOAPリクエストの削除

SOAPリクエストを削除するには、次の手順を実行します。

  1. [設定])[Webサービス][受信]に移動し、[SOAP]を選択します。

  2. 削除するメッセージを選択します。

  3. メッセージの詳細ページの右上にある[削除]アイコンをクリックします。





    • Related Articles

    • 受信REST Webサービスの設定

      お知らせ:当社は、お客様により充実したサポート情報を迅速に提供するため、本ページのコンテンツは機械翻訳を用いて日本語に翻訳しています。正確かつ最新のサポート情報をご覧いただくには、本内容の英語版を参照してください。 早期アクセス この機能はすべてのユーザーに対して有効になっているわけではありません。お試しになりたい場合は、早期アクセスについてサポートチームにメールでお問い合わせください。 QntrlのInbound REST Web ...
    • 送信SOAP Webサービスの設定

      お知らせ:当社は、お客様により充実したサポート情報を迅速に提供するため、本ページのコンテンツは機械翻訳を用いて日本語に翻訳しています。正確かつ最新のサポート情報をご覧いただくには、本内容の英語版を参照してください。 早期アクセス この機能は、すべてのユーザーに対して有効になっているわけではありません。お試しになりたい場合は、メールでサポートチームに早期アクセスをリクエストしてください。 ...
    • 送信REST Webサービスの設定

      お知らせ:当社は、お客様により充実したサポート情報を迅速に提供するため、本ページのコンテンツは機械翻訳を用いて日本語に翻訳しています。正確かつ最新のサポート情報をご覧いただくには、本内容の英語版を参照してください。 早期アクセス この機能は、すべてのユーザーに対して有効になっているわけではありません。お試しをご希望の場合は、早期アクセスについてメールでサポートチームにお問い合わせください。 アウトバウンドREST ...
    • 外部CRM経由のカード作成の自動化

      お知らせ:当社は、お客様により充実したサポート情報を迅速に提供するため、本ページのコンテンツは機械翻訳を用いて日本語に翻訳しています。正確かつ最新のサポート情報をご覧いただくには、本内容の英語版を参照してください。 シナリオ ある企業では、外部CRM(Zoho ...
    • Webサービスの概要

      お知らせ:当社は、お客様により充実したサポート情報を迅速に提供するため、本ページのコンテンツは機械翻訳を用いて日本語に翻訳しています。正確かつ最新のサポート情報をご覧いただくには、本内容の英語版を参照してください。 早期アクセス Webサービスはすべてのユーザーに対して有効化されていません。早期アクセスをご希望の場合は、サポートチームにメールでお問い合わせください。 ...