ページの先頭行へ戻る
Interstage Interaction Manager V9.1.1 Interstage Portalworksシナリオ作成支援ガイド

A.5.1 callタグ

callタグは、XMLコンテンツとパラメータ情報でUSP/シナリオ/Portletアプリケーションを呼び出します。

呼び出したUSP/シナリオ/Portletアプリケーションからのコンテンツは、receiveタグで受信します。

書式

<pwst:call [sendDataObject="<%=オブジェクト%>"] 
  [sendDataObjects="<%=オブジェクト配列%>"]
  [conditions="<%=ストリングオブジェクト%>"] 
    service="USP名、シナリオ名、またはPortletアプリケーション名" |
    URL="USP、シナリオ、またはPortletアプリケーションのURL" 
  [paramObject="<%=オブジェクト%>"] 
  [type="XML"|"HTML"|"XHTML"|"XML,HTML"|"XML,XHTML"] 
  [maxNumberOfServices ="USP、シナリオ、またはPortletアプリケーションの最大数"] 
  [result="結果スクリプト変数"]>
            <pw:conditions>
<!-- USP、シナリオ、Portletアプリケーションを選択する条件をここに記述(conditionタグ) -->
            </pw:conditions>
            <pw:sendData>
<!-- USPに送信するXMLコンテンツをここに記述 -->
            </pw:sendData>
</pwst:call>
アトリビュート
  • sendDataObject(USP用)
    USPに通知するデータをStringオブジェクト、InputStreamオブジェクト、PWScenarioParcelオブジェクトのどれかの変数名で指定します。これ以外のオブジェクトを指定した場合、「result」スクリプト変数にサポートされていないオブジェクトが指定された旨のエラーコードが設定されます。
    Stringオブジェクト、またはInputStreamオブジェクトの変数名を指定した場合には、ボディの<pw:sendData>タグと同時に指定することはできません。
    PWScenarioParcelオブジェクトの変数名を指定した場合には、USPでタグマッチング用に使用するコンテンツを<pw:sendData>タグで指定できます。
    どれも指定しなかった場合には、sendDataObjectsで指定したオブジェクト群が送信されます。なお、sendDataObjectsも省略した場合には、コンテンツは送信されません。

  • sendDataObjects(USP用)
    USPに複数のオブジェクトを送信する場合、Objectオブジェクトの配列変数名を指定します。XMLコンテンツ以外のオブジェクトを送信する場合には、必ずこのアトリビュートにより送信する必要があります。
    sendDataObjectsとボディの<pw:sendData>は同時に指定できます。同時に指定した場合には、最初にボディの<pw:sendData>で指定したコンテンツが送信され、続けてsendDataObjectsで指定したオブジェクト群が送信されます。

  • conditions(USP、シナリオ、Portletアプリケーション共通)
    USP/シナリオ/Portletアプリケーションの選択条件を記述します。アドバタイズ情報記述ファイルのconditionタグの内容を格納したStringオブジェクトを変数名で指定します。
    ボディの<pw:conditions>タグと同時に指定することはできません。

  • service(USP、シナリオ、Portletアプリケーション共通)
    USP名/シナリオ名/Portletアプリケーション名を指定します。
    URLアトリビュートと同時に指定することはできません。

  • URL(USP、シナリオ、Portletアプリケーション共通)
    USP/シナリオ/Portletアプリケーションを指すURLを指定します。
    serviceアトリビュートと同時に指定することはできません。

  • paramObject(USP、Portletアプリケーション共通)
    パラメータ文字列を設定したStringオブジェクト、またはパラメータを構成するためのMapオブジェクトのスクリプト変数名を指定します。この文字列は、USP/シナリオ/Portletアプリケーションに送信されます。省略した場合には、パラメータは付加されません。
    WebUSPを呼び出す際のMapオブジェクトの作成例を以下に示します。

    [記述例]

    <%
    Hashtable uspParam=new Hashtable();
    uspParam.put("sponsorAction","request");
    uspParam.put("targetURL","http://jp.fujitsu.com/");
    uspParam.put("httpMethod","GET");
    %>

    [説明]

    1. Mapオブジェクトここでは、Hashtableオブジェクトを適当な名前で生成します。

    2. 「sponsorAction」、「request」は固定値です。つねに同じ値を宣言してください。

    3. 「targetURL」の値として、アクセスしたいURLを記述します。

    4. 「httpMethod」の値として、以下を記述します。
      GET :URLの内容を取り出したい場合
      POST:データをアップロードしたい場合

    次にPortletを呼び出す際のMapオブジェクトの作成例を以下に示します。

    [記述例]

    <%
    stParam = new Hashtable();
    stParam.put("TargetPortlet", "BookStoreCalendar");
    stParam.put("PortletMode", "VIEW");
    stParam.put("year", "2003");
    stParam.put("month", "1");
    %>

    [説明]

    1. Mapオブジェクトここでは、Hashtableオブジェクトを適当な名前で生成します。

    2. 「TargetPortlet」は、Portletアプリケーション内でコンテンツを取得したいPortlet名を記述します。Portlet名はPortletアプリケーション作成時に定義したPortlet.xml中のportlet-nameで指定された根前です。

    3. 「PortletMode」の値として、以下を記述します。
      VIEW:Portletの内容を取得する場合
      EDIT:Portletに情報更新を依頼する場合

    4. 「year」「month」はPortletに渡すパラメータです。

  • type(USP、シナリオ共通)
    USP/シナリオに要求するコンテンツタイプを指定します。
    省略した場合には、「HTML」が指定されたものとみなされます。
    「XML」:XMLコンテンツだけを要求する場合
    「HTML」:HTMLコンテンツだけを要求する場合
    「XHTML」:XHTMLコンテンツだけを要求する場合
    「XML,HTML」:XML、HTML両方のコンテンツを要求する場合
    「XML,XHTML」:XML、XHTML両方のコンテンツを要求する場合
    ただし、要求先のUSP/シナリオによってサポートしていないコンテンツタイプもあります。また、Portletアプリケーションに対しては、常にPortletが出力するこコンテンツ形式で返却されます。

  • maxNumberOfServices(USP、シナリオ、Portletアプリケーション共通)
    呼び出すUSP/シナリオ/Portletアプリケーションの最大数を指定します。呼び出し先の検索でこの指定数以上のUSP/シナリオ/Portletアプリケーションが検出された場合、ここで指定した数のUSP/シナリオ/Portletアプリケーションが呼び出されます。
    省略した場合には、callタグは、以下の情報で呼び出し先を検索します。検索の結果、複数のUSP/シナリオ/Portletアプリケーションが条件に一致した場合には、一致したすべてのUSP/シナリオ/Portletアプリケーションが呼び出されます。

    • USP名、シナリオ名、またはPortletアプリケーション名

    • 選択条件

    • このセションのロール情報

  • result(USP、シナリオ、Portletアプリケーション共通)
    処理結果情報を受け取るためのスクリプト変数名を指定します。
    指定したスクリプト変数には、PWScenarioTagResultオブジェクトが設定されます。タグライブラリの処理結果情報を必要としない場合には、省略することができます。設定内容の詳細については、“A.1.4 PWScenarioTagResultクラス”を参照してください。

ボディ

出力情報

予約スクリプト変数:scenarioCalls

このシナリオで呼び出された通算のUSP/シナリオ/Portletアプリケーションの情報が更新されます。

各USPの呼び方の例

callタグでUSPを呼ぶ場合、以下の例を参照してください。

URP名

参照先

TeamWARE USP

1.4.1 TeamWARE USPによるシナリオ作成例

留意事項

type属性に XHTMLまたはXML,XHTMLを指定した場合、元のHTMLコンテンツ中に存在するHTML文字実体参照のサポート範囲は、&nbsp; &lt; &gt; &amp; &quot; と 0xA1から0xFFまでの文字実体参照となります。