ダイレクト SOAPMessageV2 の例

  • リリースバージョン: Washingtondc
  • 更新日 2024年02月01日
  • 読む2読むのに数分
  • 送信 SOAP メッセージをエンドポイントに直接送信できます。

    この例では、スクリプトは株価情報を要求する SOAP メッセージを送信し、応答を待機します。Web サービスプロバイダーからの応答がない場合、または指定された SOAP メッセージレコードが使用できない場合、スクリプトはエラーをスローし、この例では try-catch ブロックによって処理されます。

    var requestBody;
    var responseBody;
    var status;
    var sm;
    try{
    	sm = new sn_ws.SOAPMessageV2("StockQuote", "GetQuote");  // Might throw exception if message doesn't exist or not visible due to scope
    	sm.setBasicAuth("admin","admin");
    	sm.setStringParameter("symbol", "NOW");
    	sm.setStringParameterNoEscape("xml_data","<data>test</data>");
    	sm.setHttpTimeout(10000) //In Milli seconds. Wait at most 10 seconds for response from http request.
    
    	response = sm.execute();//Might throw exception if http connection timed out or some issue with sending request itself because 	of encryption/decryption of password and stuff
    	responseBody = response.haveError() ? response.getErrorMessage() : response.getBody();
    	status = response.getStatusCode();
    } catch(ex) {
    	responseBody = ex.getMessage();
    	status = '500';
    } finally {
    	requestBody = sm ? sm.getRequestBody():null;
    }
    gs.info("Request Body: " + requestBody);
    gs.info("Response: " + responseBody);
    gs.info("HTTP Status: " + status);