受信SOAP Webサービスの設定

受信SOAP Webサービスの設定

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

Alert

早期アクセス

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

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

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

受信SOAP Webサービスの作成

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

  1. Qntrlにログインします。
  2. 次の場所に移動します:設定][WEB SERVICES][受信][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 Request Received:');
console.log('Operation:', operationName);
console.log('Endpoint URI:', endpointUri);
console.log('Request Params:', JSON.stringify(requestParams));
console.log('Request Headers:', JSON.stringify(requestHeaders));
 
// === Business logic here ===
// (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('request-id', requestHeaders?.['request-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 request', e);
 
soapResponse.setFaultCode(500);
soapResponse.setFaultMessage(e.message);
}
}

 

例(Java):入力パラメーターの読み取りとレスポンスの書き込み

import com.zoho.cloud.function.Context;
import com.zoho.cloud.function.basic.*;
import org.json.JSONObject;
 
public class SampleSOAPFunction implements ZCFunction {
 
@Override
public void runner(Context context, BasicIO basicIO) throws Exception {
// Read incoming request 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('request-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. メッセージ詳細ページの右上にある削除アイコンをクリックします。


インバウンドAPIのSOAPトラフィックの監視 

インバウンドAPIのSOAPトラフィックとサービスのパフォーマンスをグラフ形式の指標で監視できます。このセクションは、WebサービスがAPIリクエストを受信した後にのみ表示されます。
詳細については、インバウンドAPIトラフィックの監視を参照してください。




    • Related Articles

    • 送信SOAP Webサービスの設定

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

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

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

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

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