Java API を使用した AEM Forms の呼び出し invoking-aem-forms-using-the-javaapi
AEM Formsは、AEM Forms Java API を使用して呼び出すことができます。 AEM Forms Java API を使用する場合は、呼び出し API または Java クライアントライブラリを使用できます。 Java クライアントライブラリは、Java サービスなどのサービスで使用できます。Rights Managementサービス。 これらの強く型指定された API を使用すると、AEM Formsを呼び出す Java アプリケーションを開発できます。
呼び出し API は、com.adobe.idp.dsc
パッケージに含まれるクラスです。これらのクラスを使用すると、呼び出し要求をサービスに直接送信し、返された呼び出し応答を処理できます。 呼び出し API を使用して、Workbench を使用して作成された短時間のみ有効なプロセスまたは長時間有効なプロセスを呼び出します。
サービスをプログラムで呼び出す方法として、呼び出し API とは異なり、サービスに対応する Java クライアントライブラリを使用することをお勧めします。 例えば、Encryption サービスを呼び出すには、Encryption サービスのクライアントライブラリを使用します。 Encryption サービス操作を実行するには、Encryption サービスクライアントオブジェクトに属するメソッドを呼び出します。 EncryptionServiceClient
オブジェクトの encryptPDFUsingPassword
メソッドを呼び出して、PDF ドキュメントをパスワードで暗号化することができます。
Java API は、次の機能をサポートしています。
- リモート呼び出し用の RMI トランスポートプロトコル
- ローカル呼び出し用の VM トランスポート
- リモート呼び出し用の SOAP
- ユーザー名やパスワードなど、異なる認証
- 同期呼び出しリクエストと非同期呼び出しリクエスト
関連トピック
Java API を使用した AEM Forms サービスへのデータの引き渡し
Java クライアントライブラリを使用したサービスの呼び出し
呼び出し API を使用した短時間のみ有効なプロセスの呼び出し
人間中心の長期間有効なプロセスを呼び出す Java Web アプリケーションの作成
AEM Forms の Java ライブラリファイルを含める including-aem-forms-java-library-files
Java API を使用してAEM Formsサービスをプログラムで呼び出すには、Java プロジェクトのクラスパスに必要なライブラリファイル(JAR ファイル)を含めます。 クライアントアプリケーションのクラスパスに含める JAR ファイルは、次の要因によって異なります。
- 呼び出すAEM Formsサービス。 クライアントアプリケーションは、1 つ以上のサービスを呼び出すことができます。
- AEM Formsサービスを呼び出すモードです。 EJB または SOAP モードを使用できます。 (接続プロパティの設定を参照)
standalone.bat -b <Server IP> -c lc_turnkey.xml
を使用して AEM Forms サーバーを起動します。。- AEM Formsがデプロイされている J2EE アプリケーションサーバー。
サービス固有の JAR ファイル service-specific-jar-files
次の表に、AEM Formsサービスを呼び出すために必要な JAR ファイルを示します。
adobe-repository-client.jar
commons-codec-1.3.jar
<インストールディレクトリ>/sdk/client-libs/common
<インストールディレクトリ>/sdk/client-libs\thirparty
-
adobe-rightsmanagement-client.jar
-
namespace.jar
-
jaxb-api.jar
-
jaxb-impl.jar
-
jaxb-libs.jar
-
jaxb-xjc.jar
-
relaxngDatatype.jar
-
xsdlib.jar
Rights Managementサービスを呼び出すために必要です。
AEM Formsが JBoss にデプロイされている場合は、これらのファイルをすべて含めます。
<インストールディレクトリ>/sdk/client-libs/common
JBoss 固有の lib ディレクトリ
接続モードと J2EE アプリケーション JAR ファイル connection-mode-and-j2ee-application-jar-files
次の表に、接続モードと、AEM Formsをデプロイする J2EE アプリケーションサーバーに依存する JAR ファイルを示します。
</thead align="left">
-
activation.jar
-
axis.jar
-
commons-codec-1.3.jar
-
commons-collections-3.1.jar
-
commons-discovery.jar
-
commons-logging.jar
-
dom3-xml-apis-2.5.0.jar
-
jaxen-1.1-beta-9.jar
-
jaxrpc.jar
-
log4j.jar
-
mail.jar
-
saaj.jar
-
wsdl4j.jar
-
xalan.jar
-
xbean.jar
- xercesImpl.jar
- commons-httpclient-3.1.jar
AEM Forms が JBoss Application Server 上にデプロイされている場合は、この JAR ファイルを含めます。
jboss-client.jar と参照先の jar ファイルが同じ場所にない場合、クラスローダーは必要なクラスを見つけることができません。
JBoss クライアントライブラリディレクトリ
クライアントアプリケーションを同じ J2EE アプリケーションサーバーにデプロイする場合は、このファイルを含める必要はありません。
WebLogic 固有の lib ディレクトリ
クライアントアプリケーションを同じ J2EE アプリケーションサーバーにデプロイする場合は、このファイルを含める必要はありません。
-
com.ibm.ws.admin.client_6.1.0.jar
-
com.ibm.ws.webservices.thinclient_6.1.0.jar
-
AEM Formsが WebSphere Application Server にデプロイされている場合は、次の JAR ファイルを含めます。
-
(Web サービスの呼び出しにはcom.ibm.ws.webservices.thinclient_6.1.0.jar が必要です )。
WebSphere 固有の lib ディレクトリ ([WAS_HOME]/runtimes)
クライアントアプリケーションを同じ J2EE アプリケーションサーバーにデプロイする場合は、これらのファイルを含める必要はありません。
シナリオの呼び出し invoking-scenarios
次の表に、呼び出しシナリオを示し、AEM Formsを正常に呼び出すために必要な JAR ファイルを示します。
</thead align="left"> xmp-uti
-
adobe-livecycle-client.jar
-
adobe-usermanager-client.jar
- jboss-client.jar
- adobe-forms-client.jar
- commons-httpclient-3.1.jar
Formsサービス
Acrobat Reader DC Extensions サービス
Signature サービス
-
adobe-livecycle-client.jar
-
adobe-usermanager-client.jar
- jboss-client.jar
- commons-httpclient-3.1.jar
-
adobe-forms-client.jar
-
adobe-reader-extensions-client.jar
-
adobe-signatures-client.jar
-
adobe-livecycle-client.jar
-
adobe-usermanager-client.jar
-
wlclient.jar
-
activation.jar
-
axis.jar
-
commons-codec-1.3.jar
-
commons-collections-3.1.jar
-
commons-discovery.jar
-
commons-logging.jar
-
dom3-xml-apis-2.5.0.jar
-
jai_imageio.jar
-
jaxen-1.1-beta-9.jar
-
jaxrpc.jar
-
log4j.jar
-
mail.jar
-
saaj.jar
-
wsdl4j.jar
-
xalan.jar
-
xbean.jar
-
xercesImpl.jar
-
adobe-forms-client.jar
Formsサービス
Acrobat Reader DC Extensions サービス
Signature サービス
-
adobe-livecycle-client.jar
-
adobe-usermanager-client.jar
-
wlclient.jar
-
activation.jar
-
axis.jar
-
commons-codec-1.3.jar
-
commons-collections-3.1.jar
-
commons-discovery.jar
-
commons-logging.jar
-
dom3-xml-apis-2.5.0.jar
-
jai_imageio.jar
-
jaxen-1.1-beta-9.jar
-
jaxrpc.jar
-
log4j.jar
-
mail.jar
-
saaj.jar
-
wsdl4j.jar
-
xalan.jar
-
xbean.jar
-
xercesImpl.jar
-
adobe-forms-client.jar
-
adobe-reader-extensions-client.jar
-
adobe-signatures-client.jar
JAR ファイルのアップグレード upgrading-jar-files
LiveCycleからAEM Formsにアップグレードする場合は、AEM Forms JAR ファイルを Java プロジェクトのクラスパスに含めることをお勧めします。 例えば、Rights Managementサービスなどのサービスを使用している場合、クラスパスにAEM Forms JAR ファイルを含めないと、互換性の問題が発生します。
AEM Formsにアップグレードすると仮定します。 Rights Managementサービスを呼び出す Java アプリケーションを使用するには、次の JAR ファイルのAEM Formsバージョンを含めます。
- adobe-rightsmanagement-client.jar
- adobe-livecycle-client.jar
- adobe-usermanager-client.jar
関連トピック
Java API を使用した AEM Forms の呼び出し
Java API を使用した AEM Forms サービスへのデータの引き渡し
Java クライアントライブラリを使用したサービスの呼び出し
接続プロパティの設定 setting-connection-properties
Java API を使用する場合は、接続プロパティを設定してAEM Formsを呼び出します。 接続プロパティを設定する場合は、サービスをリモートで呼び出すかローカルで呼び出すかを指定し、接続モードと認証値も指定します。 サービスセキュリティが有効な場合は、認証値が必要です。 ただし、サービスセキュリティが無効の場合は、認証値を指定する必要はありません。
接続モードは、SOAP モードまたは EJB モードのいずれかです。 EJB モードは RMI/IIOP プロトコルを使用し、EJB モードのパフォーマンスは SOAP モードのパフォーマンスよりも優れています。 SOAP モードは、J2EE アプリケーションサーバーの依存関係をなくすため、またはファイアウォールがAEM Formsとクライアントアプリケーションの間に配置されている場合に使用します。 SOAP モードでは、https プロトコルが基になるトランスポートとして使用され、ファイアウォール境界を越えて通信できます。 J2EE アプリケーションサーバーの依存関係もファイアウォールも問題にならない場合は、EJB モードを使用することをお勧めします。
AEM Formsサービスを正常に呼び出すには、次の接続プロパティを設定します。
-
DSC_DEFAULT_EJB_ENDPOINT: EJB 接続モードを使用している場合、この値は、AEM Formsがデプロイされる J2EE アプリケーションサーバーの URL を表します。 リモートでAEM Formsを呼び出すには、AEM Formsをデプロイする J2EE アプリケーションサーバー名を指定します。 クライアントアプリケーションが同じ J2EE アプリケーションサーバー上にある場合は、
localhost
を指定できます。AEM Forms のデプロイ先 J2EE アプリケーションサーバーに応じて、次のいずれかの値を指定します。- JBoss:
https://<ServerName>:8080 (default port)
- WebSphere:
iiop://<ServerName>:2809 (default port)
- WebLogic:
t3://<ServerName>:7001 (default port)
- JBoss:
-
DSC_DEFAULT_SOAP_ENDPOINT:SOAP 接続モードを使用している場合、この値は呼び出し要求の送信先のエンドポイントを表します。 リモートでAEM Formsを呼び出すには、AEM Formsをデプロイする J2EE アプリケーションサーバー名を指定します。 クライアントアプリケーションが同じ J2EE アプリケーションサーバー上にある場合は、
localhost
(たとえばhttp://localhost:8080
)を指定できます。- ポート値
8080
は、J2EE アプリケーションが JBoss の場合に適用されます。J2EE アプリケーションサーバーが IBM® WebSphere® の場合は、ポート9080
を使用します。同様に、J2EE アプリケーションサーバーが WebLogic の場合は、ポート7001
を使用します。( これらの値はデフォルトのポート値です。 ポート値を変更する場合は、該当するポート番号を使用します )。
- ポート値
-
DSC_TRANSPORT_PROTOCOL:EJB 接続モードを使用している場合は、この値に
ServiceClientFactoryProperties.DSC_EJB_PROTOCOL
を指定します。SOAP 接続モードを使用している場合はServiceClientFactoryProperties.DSC_SOAP_PROTOCOL
を指定します。 -
DSC_SERVER_TYPE:AEM Forms のデプロイ先 J2EE アプリケーションサーバーを指定します。有効な値は
JBoss
、WebSphere
、WebLogic
です。- この接続プロパティを
WebSphere
に設定すると、java.naming.factory.initial
値はcom.ibm.ws.naming.util.WsnInitCtxFactory
に設定されます。 - この接続プロパティを
WebLogic
に設定すると、java.naming.factory.initial
値はweblogic.jndi.WLInitialContextFactory
に設定されます。 - 同様に、この接続プロパティを
JBoss
に設定すると、java.naming.factory.initial
値はorg.jnp.interfaces.NamingContextFactory
に設定されます。 - デフォルトの値を使用しない場合、
java.naming.factory.initial
プロパティを要件を満たす値に設定することができます。
note note NOTE 注意:文字列を使用して DSC_SERVER_TYPE
接続プロパティを設定する代わりに、ServiceClientFactoryProperties
クラスの静的メンバーを使用できます。使用できる値はServiceClientFactoryProperties.DSC_WEBSPHERE_SERVER_TYPE
、ServiceClientFactoryProperties.DSC_WEBLOGIC_SERVER_TYPE
、ServiceClientFactoryProperties.DSC_JBOSS_SERVER_TYPE
です。 - この接続プロパティを
-
DSC_CREDENTIAL_USERNAME: AEM forms ユーザー名を指定します。 ユーザーがAEM Formsサービスを正常に呼び出すには、サービスユーザーロールが必要です。 ユーザーは、サービスの呼び出し権限を含む別の役割を持つこともできます。 それ以外の場合は、サービスを呼び出そうとすると例外がスローされます。 サービスセキュリティが無効の場合、この接続プロパティを指定する必要はありません。
-
DSC_CREDENTIAL_PASSWORD: 対応するパスワード値を指定します。 サービスセキュリティが無効の場合、この接続プロパティを指定する必要はありません。
-
DSC_REQUEST_TIMEOUT:SOAP 要求のデフォルト要求タイムアウト制限は、1200000 ミリ秒(20 分)です。リクエストの処理が完了するまでに長い時間が必要になる場合があります。 例えば、大量のレコードを取得する SOAP リクエストの場合、タイムアウト制限が長くなる場合があります。
ServiceClientFactoryProperties.DSC_REQUEST_TIMEOUT
を使用して、SOAP 要求の要求呼び出しタイムアウト制限を増やすことができます。note note NOTE DSC_REQUEST_TIMEOUT プロパティをサポートするのは、SOAP ベースの呼び出しのみです。
接続プロパティを設定するには、次のタスクを実行します。
-
コンストラクタを使用して
java.util.Properties
オブジェクトを作成します。 -
DSC_DEFAULT_EJB_ENDPOINT
接続プロパティを設定するには、java.util.Properties
オブジェクトのsetProperty
メソッドを呼び出し、次の値を渡します。ServiceClientFactoryProperties.DSC_DEFAULT_EJB_ENDPOINT
列挙値- AEM Forms をホストする J2EE アプリケーションサーバーの URL を指定する文字列値
note note NOTE SOAP 接続モードを使用している場合は、 ServiceClientFactoryProperties.DSC_DEFAULT_EJB_ENDPOINT
列挙値ではなくServiceClientFactoryProperties.DSC_DEFAULT_SOAP_ENDPOINT
列挙値を指定します。 -
DSC_TRANSPORT_PROTOCOL
接続プロパティを設定するには、java.util.Properties
オブジェクトのsetProperty
メソッドを呼び出し、次の値を渡します。ServiceClientFactoryProperties.DSC_TRANSPORT_PROTOCOL
列挙値ServiceClientFactoryProperties.DSC_EJB_PROTOCOL
列挙値
note note NOTE SOAP 接続モードを使用している場合は、 ServiceClientFactoryProperties.DSC_EJB_PROTOCOL
列挙値ではなくServiceClientFactoryProperties.DSC_SOAP_PROTOCOL
列挙値を指定します。 -
DSC_SERVER_TYPE
接続プロパティを設定するには、java.util.Properties
オブジェクトのsetProperty
メソッドを呼び出し、次の値を渡します。-
ServiceClientFactoryProperties.DSC_SERVER_TYPE
列挙値 -
AEM Forms をホストする J2EE アプリケーションサーバーを指定する文字列値(例えば、AEM Forms が JBoss にデプロイされている場合は
JBoss
を指定します)。DSC_CREDENTIAL_USERNAME
接続プロパティを設定するには、java.util.Properties
オブジェクトのsetProperty
メソッドを呼び出し、次の値を渡します。
-
ServiceClientFactoryProperties.DSC_CREDENTIAL_USERNAME
列挙値 -
AEM Forms を呼び出すのに必要なユーザー名を指定する文字列値
DSC_CREDENTIAL_PASSWORD
接続プロパティを設定するには、java.util.Properties
オブジェクトのsetProperty
メソッドを呼び出し、次の値を渡します。
-
ServiceClientFactoryProperties.DSC_CREDENTIAL_PASSWORD
列挙値 -
対応するパスワード値を指定する文字列値
-
JBoss 用の EJB 接続モードの設定
次の Java コードの例では、JBoss にデプロイされ、EJB 接続モードを使用してAEM Formsを呼び出す接続プロパティを設定します。
Properties ConnectionProps = new Properties();
ConnectionProps.setProperty(ServiceClientFactoryProperties.DSC_DEFAULT_EJB_ENDPOINT, "https://<hostname>:8080");
ConnectionProps.setProperty(ServiceClientFactoryProperties.DSC_TRANSPORT_PROTOCOL,ServiceClientFactoryProperties.DSC_EJB_PROTOCOL);
ConnectionProps.setProperty(ServiceClientFactoryProperties.DSC_SERVER_TYPE, "JBoss");
ConnectionProps.setProperty(ServiceClientFactoryProperties.DSC_CREDENTIAL_USERNAME, "administrator");
ConnectionProps.setProperty(ServiceClientFactoryProperties.DSC_CREDENTIAL_PASSWORD, "password");
ConnectionProps.setProperty(ServiceClientFactoryProperties.DSC_DOCUMENT_HTTP_ENDPOINT,"https://<hostname>:8080");
WebLogic 用の EJB 接続モードの設定
次の Java コードの例では、WebLogic にデプロイされ、EJB 接続モードを使用してAEM Formsを呼び出す接続プロパティを設定します。
Properties ConnectionProps = new Properties();
ConnectionProps.setProperty(ServiceClientFactoryProperties.DSC_DEFAULT_EJB_ENDPOINT, "t3://localhost:7001");
ConnectionProps.setProperty(ServiceClientFactoryProperties.DSC_TRANSPORT_PROTOCOL,ServiceClientFactoryProperties.DSC_EJB_PROTOCOL);
ConnectionProps.setProperty(ServiceClientFactoryProperties.DSC_SERVER_TYPE, "WebLogic");
ConnectionProps.setProperty(ServiceClientFactoryProperties.DSC_CREDENTIAL_USERNAME, "administrator");
ConnectionProps.setProperty(ServiceClientFactoryProperties.DSC_CREDENTIAL_PASSWORD, "password");
WebSphere 用の EJB 接続モードの設定
次の Java コードの例では、WebSphere にデプロイされ、EJB 接続モードを使用してAEM Formsを呼び出すように接続プロパティを設定します。
Properties ConnectionProps = new Properties();
ConnectionProps.setProperty(ServiceClientFactoryProperties.DSC_DEFAULT_EJB_ENDPOINT, "iiop://localhost:2809");
ConnectionProps.setProperty(ServiceClientFactoryProperties.DSC_TRANSPORT_PROTOCOL,ServiceClientFactoryProperties.DSC_EJB_PROTOCOL);
ConnectionProps.setProperty(ServiceClientFactoryProperties.DSC_SERVER_TYPE, "WebSphere");
ConnectionProps.setProperty(ServiceClientFactoryProperties.DSC_CREDENTIAL_USERNAME, "administrator");
ConnectionProps.setProperty(ServiceClientFactoryProperties.DSC_CREDENTIAL_PASSWORD, "password");
SOAP 接続モードの設定
次の Java コードの例では、JBoss にデプロイされたAEM Formsを呼び出すように、SOAP モードで接続プロパティを設定します。
Properties ConnectionProps = new Properties();
ConnectionProps.setProperty(ServiceClientFactoryProperties.DSC_DEFAULT_SOAP_ENDPOINT, "http://localhost:8080");
ConnectionProps.setProperty(ServiceClientFactoryProperties.DSC_TRANSPORT_PROTOCOL,ServiceClientFactoryProperties.DSC_SOAP_PROTOCOL);
ConnectionProps.setProperty(ServiceClientFactoryProperties.DSC_SERVER_TYPE, "JBoss");
ConnectionProps.setProperty(ServiceClientFactoryProperties.DSC_CREDENTIAL_USERNAME, "administrator");
ConnectionProps.setProperty(ServiceClientFactoryProperties.DSC_CREDENTIAL_PASSWORD, "password");
サービスセキュリティが無効な場合の接続プロパティの設定
次の Java コードの例では、サービスセキュリティが無効な場合に JBoss Application Server にデプロイされた AEM Forms を呼び出すために必要な接続プロパティを設定します。
Properties ConnectionProps = new Properties();
ConnectionProps.setProperty(ServiceClientFactoryProperties.DSC_DEFAULT_EJB_ENDPOINT, "jnp://localhost:1099");
ConnectionProps.setProperty(ServiceClientFactoryProperties.DSC_TRANSPORT_PROTOCOL,ServiceClientFactoryProperties.DSC_EJB_PROTOCOL);
ConnectionProps.setProperty(ServiceClientFactoryProperties.DSC_SERVER_TYPE, "JBoss");
カスタム要求のタイムアウト制限を使用した SOAP 接続モードの設定
Properties ConnectionProps = new Properties();
ConnectionProps.setProperty(ServiceClientFactoryProperties.DSC_DEFAULT_SOAP_ENDPOINT, "http://localhost:8080");
ConnectionProps.setProperty(ServiceClientFactoryProperties.DSC_TRANSPORT_PROTOCOL,ServiceClientFactoryProperties.DSC_SOAP_PROTOCOL);
ConnectionProps.setProperty(ServiceClientFactoryProperties.DSC_SERVER_TYPE, "JBoss");
ConnectionProps.setProperty(ServiceClientFactoryProperties.DSC_CREDENTIAL_USERNAME, "administrator");
ConnectionProps.setProperty(ServiceClientFactoryProperties.DSC_CREDENTIAL_PASSWORD, "password");
ConnectionProps.setProperty(ServiceClientFactoryProperties.DSC_REQUEST_TIMEOUT, "1800000"); // Request timeout limit 30 Minutes
Context オブジェクトを使用したAEM Formsの呼び出し
com.adobe.idp.Context
オブジェクトを使用して、認証されたユーザーで AEM Forms サービスを呼び出すことができます(com.adobe.idp.Context
オブジェクトが認証されたユーザーを表します)。com.adobe.idp.Context
オブジェクトを使用している場合は、DSC_CREDENTIAL_USERNAME
または DSC_CREDENTIAL_PASSWORD
プロパティを設定する必要はありません。AuthenticationManagerServiceClient
オブジェクトの authenticate
メソッドを使用してユーザーを認証するときは、com.adobe.idp.Context
オブジェクトを取得できます。
authenticate
メソッドは、認証の結果を含む AuthResult
オブジェクトを返します。コンストラクタを呼び出すことによって、com.adobe.idp.Context
オブジェクトを作成できます。次に、以下のコードに示すように、com.adobe.idp.Context
オブジェクトの initPrincipal
メソッドを呼び出し、AuthResult
オブジェクトを渡します。
Context myCtx = new Context();
myCtx.initPrincipal(authResult);
DSC_CREDENTIAL_USERNAME
または DSC_CREDENTIAL_PASSWORD
プロパティを設定する代わりに、ServiceClientFactory
オブジェクトの setContext
メソッドを呼び出して、com.adobe.idp.Context
オブジェクトを渡すことができます。AEM Forms ユーザーを使用してサービスを呼び出す場合は、AEM Forms サービスを呼び出すために必要な Services User
という名前の役割がこのユーザーに割り当てられていることを確認します。
次のコードの例では、EncryptionServiceClient
オブジェクトを作成するために使用される接続設定内で com.adobe.idp.Context
オブジェクトを使用する方法を示します。
//Authenticate a user and use the Context object within connection settings
// Authenticate the user
String username = "wblue";
String password = "password";
AuthResult authResult = authClient.authenticate(username, password.getBytes());
//Set a Content object that represents the authenticated user
//Use the Context object to invoke the Encryption service
Context myCtx = new Context();
myCtx.initPrincipal(authResult);
//Set connection settings
Properties connectionProps = new Properties();
connectionProps.setProperty(ServiceClientFactoryProperties.DSC_DEFAULT_EJB_ENDPOINT, "jnp://<server>:1099");
connectionProps.setProperty(ServiceClientFactoryProperties.DSC_TRANSPORT_PROTOCOL, ServiceClientFactoryProperties.DSC_EJB_PROTOCOL);
connectionProps.setProperty(ServiceClientFactoryProperties.DSC_SERVER_TYPE, ServiceClientFactoryProperties.DSC_JBOSS_SERVER_TYPE);
connectionProps.setProperty(ServiceClientFactoryProperties.DSC_DOCUMENT_HTTP_ENDPOINT,"jnp://<server>:1099");
//Create a ServiceClientFactory object
ServiceClientFactory myFactory = ServiceClientFactory.createInstance(connectionProps);
myFactory.setContext(myCtx);
//Create an EncryptionServiceClient object
EncryptionServiceClient encryptClient = new EncryptionServiceClient(myFactory);
シナリオの呼び出し invoking_scenarios-1
この節では、次の呼び出しシナリオについて説明します。
- 独自の Java 仮想マシン (JVM) で実行されているクライアントアプリケーションは、スタンドアロンのAEM Formsインスタンスを呼び出します。
- 独自の JVM で実行されているクライアントアプリケーションは、クラスター化されたAEM Formsインスタンスを呼び出します。
スタンドアロンAEM Formsインスタンスを呼び出すクライアントアプリケーション client-application-invoking-a-stand-alone-aem-forms-instance
次の図は、独自の JVM で実行され、スタンドアロンのAEM Formsインスタンスを呼び出すクライアントアプリケーションを示しています。
このシナリオでは、クライアントアプリケーションが独自の JVM で実行され、AEM Formsサービスを呼び出します。
クラスター化されたAEM Formsインスタンスを呼び出すクライアントアプリケーション client-application-invoking-clustered-aem-forms-instances
次の図は、独自の JVM で実行され、クラスター内のAEM Formsインスタンスを呼び出すクライアントアプリケーションを示しています。
このシナリオは、スタンドアロンのAEM Formsインスタンスを呼び出すクライアントアプリケーションに似ています。 ただし、プロバイダー URL は異なります。 クライアントアプリケーションが特定の J2EE アプリケーションサーバーに接続する場合、アプリケーションは、特定の J2EE アプリケーションサーバーを参照するように URL を変更する必要があります。
特定の J2EE アプリケーションサーバーの参照は、アプリケーションサーバーが停止した場合にクライアントアプリケーションとAEM Forms間の接続が終了するので、お勧めしません。 プロバイダー URL は、特定の J2EE アプリケーションサーバーではなく、セルレベルの JNDI マネージャーを参照することをお勧めします。
SOAP 接続モードを使用するクライアントアプリケーションは、クラスターに HTTP ロードバランサーポートを使用できます。 EJB 接続モードを使用するクライアントアプリケーションは、特定の J2EE アプリケーションサーバーの EJB ポートに接続できます。 このアクションは、クラスターノード間のロードバランシングを処理します。
WebSphere
次の例は、WebSphere にデプロイされるAEM Formsに接続するために使用される jndi.properties ファイルの内容を示しています。
java.naming.factory.initial=com.ibm.websphere.naming.
WsnInitialContextFactory
java.naming.provider.url=corbaloc::appserver1:9810,:appserver2:9810
WebLogic
次の例は、WebLogic にデプロイされるAEM Formsに接続するために使用される jndi.properties ファイルの内容を示しています。
java.naming.factory.initial=weblogic.jndi.WLInitialContextFactory
java.naming.provider.url=t3://appserver1:8001, appserver2:8001
JBoss
次の例は、JBoss にデプロイされているAEM Formsへの接続に使用される jndi.properties ファイルの内容を示しています。
java.naming.factory.initial= org.jnp.interfaces.NamingContextFactory
java.naming.provider.url= jnp://appserver1:1099, appserver2:1099,
appserver3:1099
関連トピック
Java API を使用した AEM Forms サービスへのデータの引き渡し
Java クライアントライブラリを使用したサービスの呼び出し
Java API を使用した AEM Forms サービスへのデータの引き渡し passing-data-to-aem-forms-services-using-the-java-api
AEM Formsサービス操作は、通常、PDFドキュメントを消費または生成します。 サービスを呼び出す場合、PDFドキュメント(または XML データなどの他のドキュメントタイプ)をサービスに渡す必要が生じることがあります。 同様に、サービスから返されたPDFドキュメントを処理する必要が生じる場合があります。 AEM Forms サービスとの間でデータをやりとりできるようにする Java クラスは、com.adobe.idp.Document
です。
AEM Forms サービスは、PDF ドキュメントを java.io.InputStream
オブジェクトやバイト配列などの他のデータ型としては受け入れません。com.adobe.idp.Document
オブジェクトを使用して、XML データなどの他のタイプのデータをサービスに渡すこともできます。
com.adobe.idp.Document
オブジェクトは Java のシリアライズ可能な型であるため、RMI 呼び出しで渡すことができます。受信側は、同じホスト、同じクラスローダー、ローカル(同じホスト、異なるクラスローダー)、リモート(異なるホスト)のいずれかを同時に配置できます。 ドキュメントコンテンツの受け渡しは、ケースごとに最適化されます。 例えば、送信者と受信者が同じホスト上にある場合、コンテンツはローカルファイルシステムを介して渡されます。 (場合によっては、ドキュメントをメモリに渡すことができます)。
com.adobe.idp.Document
オブジェクトのサイズに応じて、データは com.adobe.idp.Document
オブジェクト内に保持されるか、サーバーのファイルシステムに格納されます。com.adobe.idp.Document
オブジェクトが占有していた一時的なストレージリソースは、com.adobe.idp.Document
の破棄時に自動的に削除されます(Document オブジェクトの廃棄を参照)。
場合により、サービスに渡す前に、com.adobe.idp.Document
オブジェクトのコンテンツタイプを知っておく必要があります。たとえば、操作で application/pdf
などの特定のコンテンツタイプが必要な場合は、コンテンツタイプを確認することをお勧めします(ドキュメントのコンテンツタイプの確認を参照)。
com.adobe.idp.Document
オブジェクトは、提示されたデータを使用してコンテンツタイプの判別を試行します。提示されたデータからコンテンツタイプを取得できない場合(例えば、データがバイト配列として提示された場合)は、コンテンツタイプを設定します。コンテンツタイプを設定するには、com.adobe.idp.Document
オブジェクトの setContentType
メソッドを呼び出します。(ドキュメントのコンテンツタイプの確認を参照。)
コラテラルファイルが同じファイルシステム上にある場合は、com.adobe.idp.Document
オブジェクトを作成する方が効率的です。コラテラルファイルがリモートファイルシステム上に格納されていると、コピー操作を実行する必要があり、パフォーマンスに影響します。
アプリケーションには、com.adobe.idp.Document
と org.w3c.dom.Document
データタイプの両方を含めることができます。ただし、org.w3c.dom.Document
データタイプの条件を完全に満たすようにしてください。org.w3c.dom.Document
オブジェクトを com.adobe.idp.Document
オブジェクトに変換する方法については、クイックスタート(EJB モード):Java API を使用した流動レイアウトによるフォームの事前入力を参照してください。
com.adobe.idp.Document
オブジェクトの使用時にメモリリークが発生しないようにするには、ドキュメント情報を 2048 バイト以下のチャンクで読み取ります。例えば、次のコードは、2048 バイトのチャンクでドキュメント情報を読み取ります。 // Set up the chunk size to prevent a potential memory leak
int buffSize = 2048;
// Determine the total number of bytes to read
int docLength = (int) inDoc.length();
byte [] byteDoc = new byte[docLength];
// Set up the reading position
int pos = 0;
// Loop through the document information, 2048 bytes at a time
while (docLength > 0) {
// Read the next chunk of information
int toRead = Math.min(buffSize, docLength);
int bytesRead = inDoc.read(pos, byteDoc, pos, toRead);
// Handle the exception in case data retrieval failed
if (bytesRead == -1) {
inDoc.doneReading();
inDoc.dispose();
throw new RuntimeException("Data retrieval failed!");
}
// Update the reading position and number of bytes remaining
pos += bytesRead;
docLength -= bytesRead;
}
// The document information has been successfully read
inDoc.doneReading();
inDoc.dispose();
関連トピック
Java API を使用した AEM Forms の呼び出し
ドキュメントの作成 creating-documents
入力値として PDF ドキュメント(または他のドキュメントタイプ)を必要とするサービス操作を呼び出す前に、com.adobe.idp.Document
オブジェクトを作成します。com.adobe.idp.Document
クラスは、次のコンテンツタイプからドキュメントを作成できるコンストラクターを提供します。
- バイト配列
- 既存の
com.adobe.idp.Document
オブジェクト java.io.File
オブジェクトjava.io.InputStream
オブジェクトjava.net.URL
オブジェクト
バイト配列に基づいたドキュメントの作成 creating-a-document-based-on-a-byte-array
次のコードの例では、バイト配列に基づいた com.adobe.idp.Document
オブジェクトを作成します。
バイト配列に基づく Document オブジェクトの作成
Document myPDFDocument = new Document(myByteArray);
別のドキュメントに基づくドキュメントの作成 creating-a-document-based-on-another-document
次のコードの例では、別の com.adobe.idp.Document
オブジェクトに基づいた com.adobe.idp.Document
オブジェクトを作成します。
別のドキュメントに基づく Document オブジェクトの作成
//Create a Document object based on a byte array
InputStream is = new FileInputStream("C:\\Map.pdf");
int len = is.available();
byte [] myByteArray = new byte[len];
int i = 0;
while (i < len) {
i += is.read(myByteArray, i, len);
}
Document myPDFDocument = new Document(myByteArray);
//Create another Document object
Document anotherDocument = new Document(myPDFDocument);
ファイルに基づくドキュメントの作成 creating-a-document-based-on-a-file
次のコードの例では、map.pdf という名前の PDF ファイルに基づいた com.adobe.idp.Document
オブジェクトを作成します。このファイルは C ハードドライブのルートにあります。このコンストラクターは、ファイル拡張子を使用して com.adobe.idp.Document
オブジェクトの MIME コンテンツタイプの設定を試行します。
com.adobe.idp.Document
オブジェクトを受け入れる java.io.File
コンストラクターは、ブール型パラメーターも受け入れます。このパラメーターを true
に設定すると、com.adobe.idp.Document
オブジェクトによってファイルが削除されます。このアクションは、ファイルを com.adobe.idp.Document
コンストラクターに渡した後にファイルを削除する必要がないことを意味します。
このパラメーターを false
に設定すると、このファイルの所有権が保持されます。このパラメーターを true
に設定する方が効率的です。理由は、com.adobe.idp.Document
オブジェクトがファイルをコピーする(この処理はより時間がかかる)のではなくローカルの管理対象領域に直接移動できるためです。
PDF・ファイルに基づく Document オブジェクトの作成
//Create a Document object based on the map.pdf source file
File mySourceMap = new File("C:\\map.pdf");
Document myPDFDocument = new Document(mySourceMap,true);
InputStream オブジェクトに基づくドキュメントの作成 creating-a-document-based-on-an-inputstream-object
次の Java コードの例では、java.io.InputStream
オブジェクトに基づいた com.adobe.idp.Document
オブジェクトを作成します。
InputStream オブジェクトに基づくドキュメントの作成
//Create a Document object based on an InputStream object
InputStream is = new FileInputStream("C:\\Map.pdf");
Document myPDFDocument = new Document(is);
URL からアクセス可能なコンテンツに基づくドキュメントの作成 creating-a-document-based-on-content-accessible-from-an-url
次の Java コードの例では、map.pdf という名前の PDF ファイルに基づいた com.adobe.idp.Document
オブジェクトを作成します。このファイルは、localhost
で実行されている WebApp
という名前の web アプリケーション内にあります。このコンストラクタは、URL プロトコルで返されるコンテンツタイプを使用して com.adobe.idp.Document
オブジェクトの MIME コンテンツタイプの設定を試行します。
次の例に示すように、com.adobe.idp.Document
オブジェクトに提供される URL は、元の com.adobe.idp.Document
オブジェクトが作成されるのに伴って必ず読み取られます。
Document doc = new Document(new java.net.URL("file:c:/temp/input.pdf"));
C:/temp/input.pdf ファイルは、(サーバーコンピューターではなく)クライアントコンピューター上に置く必要があります。クライアントコンピューター上で URL が読み取られ、com.adobe.idp.Document
オブジェクトが作成されます。
URL からアクセス可能なコンテンツに基づくドキュメントの作成
//Create a Document object based on a java.net.URL object
URL myURL = new URL("http", "localhost", 8080,"/WebApp/map.pdf");
//Create another Document object
Document myPDFDocument = new Document(myURL);
関連トピック:
Java API を使用した AEM Forms の呼び出し
返されたドキュメントの処理 handling-returned-documents
PDF ドキュメント(または XML データなどの他のデータ型)を出力値として返すサービス操作では、com.adobe.idp.Document
オブジェクトが返されます。受け取った com.adobe.idp.Document
オブジェクトは、次の形式に変換できます。
java.io.File
オブジェクトjava.io.InputStream
オブジェクト- バイト配列
次のコード行では、com.adobe.idp.Document
オブジェクトを java.io.InputStream
オブジェクトに変換します。myPDFDocument
が com.adobe.idp.Document
オブジェクトを表すものとします。
java.io.InputStream resultStream = myDocument.getInputStream();
同様に、次のタスクを実行することによって、com.adobe.idp.Document
の内容をローカルファイルにコピーできます。
java.io.File
オブジェクトを作成します。com.adobe.idp.Document
オブジェクトのcopyToFile
メソッドを呼び出し、java.io.File
オブジェクトを渡します。
次のコードの例では、com.adobe.idp.Document
オブジェクトの内容を AnotherMap.pdf という名前のファイルにコピーします。
ドキュメントオブジェクトの内容をファイルにコピーする
File outFile = new File("C:\\AnotherMap.pdf");
myDocument.copyToFile (outFile);
関連トピック:
Java API を使用した AEM Forms の呼び出し
ドキュメントのコンテンツタイプの確認 determining-the-content-type-of-a-document
com.adobe.idp.Document
オブジェクトの getContentType
メソッドを呼び出すことによって、com.adobe.idp.Document
オブジェクトの MIME タイプを判別します。このメソッドは、com.adobe.idp.Document
オブジェクトのコンテンツタイプを指定する文字列値を返します。次の表に、AEM Formsが返す様々なコンテンツタイプを示します。
application/pdf
application/vnd.adobe.xdp+xml
text/xml
application/vnd.fdf
application/vnd.adobe.xfdf
application/rdf+xml
application/octet-stream
NULL
次のコードの例では、com.adobe.idp.Document
オブジェクトのコンテンツタイプを確認します。
Document オブジェクトのコンテンツタイプの確認
//Determine the content type of the Document object
String ct = myDocument.getContentType();
System.out.println("The content type of the Document object is " +ct);
関連トピック:
Java API を使用した AEM Forms の呼び出し
Document オブジェクトの廃棄 disposing-document-objects
Document
オブジェクトが不要になったら、その dispose
メソッドを呼び出すことで破棄することをお勧めします。各 Document
オブジェクトは、アプリケーションのホストプラットフォーム上でファイル記述子と最大 75 MB の RAM 領域を消費します。Document
オブジェクトが破棄されていない場合、Java のガベージコレクションプロセスによって破棄されます。ただし、dispose
メソッドを使用してより早く廃棄することによって、Document
オブジェクトが占有するメモリを解放することができます。
関連トピック:
Java API を使用した AEM Forms の呼び出し
Java クライアントライブラリを使用したサービスの呼び出し
Java クライアントライブラリを使用したサービスの呼び出し invoking-a-service-using-a-java-client-library
AEM Formsサービスの操作は、Java クライアントライブラリと呼ばれる、サービスの強く型指定された API を使用して呼び出すことができます。 A Java クライアントライブラリ は、サービスコンテナにデプロイされたサービスへのアクセスを提供する具体的なクラスのセットです。 呼び出し API を使用して InvocationRequest
オブジェクトを作成する代わりに、呼び出すサービスを表す Java オブジェクトをインスタンス化します。呼び出し API は、Workbench で作成された長期間有効なプロセスなどのプロセスを呼び出すために使用されます。 (人間中心の長期間有効なプロセスの呼び出しを参照。)
サービス操作を実行するには、Java オブジェクトに属するメソッドを呼び出します。 Java クライアントライブラリには、通常、1 対 1 をサービス操作にマッピングするメソッドが含まれています。 Java クライアントライブラリを使用する場合、必要な接続プロパティを設定します。 (接続プロパティの設定を参照)
接続プロパティを設定したら、サービスを呼び出すための Java オブジェクトをインスタンス化するために使用される ServiceClientFactory
オブジェクトを作成します。Java クライアントライブラリを持つ各サービスには、対応するクライアントオブジェクトがあります。たとえば、Repository サービスを呼び出すには、コンストラクタを使用して ResourceRepositoryClient
オブジェクトを渡すことによって ServiceClientFactory
オブジェクトを作成します。ServiceClientFactory
オブジェクトは、AEM Forms サービスを呼び出すために必要な接続設定を維持する役割を果たします。
ServiceClientFactory
の取得は通常は高速ですが、ファクトリを初めて使用するときにはオーバーヘッドが発生します。このオブジェクトは再利用のために最適化されているため、複数の Java クライアントオブジェクトを作成する場合は、可能であれば同じ ServiceClientFactory
オブジェクトを使用してください。つまり、作成するクライアントライブラリオブジェクトごとに個別の ServiceClientFactory
オブジェクトを作成しないでください。
ServiceClientFactory
オブジェクトに影響を与える com.adobe.idp.Context
オブジェクト内部の SAML アサーションの有効期間を制御する User Manager 設定があります。この設定は、Java API を使用して実行されるすべての呼び出しを含む、AEM Forms 全体のすべての認証コンテキストの有効期間を制御します。デフォルトでは、ServiceCleintFactory
オブジェクトを使用できる期間は 2 時間です。
writeResource
操作が呼び出されます。この操作により、新しいリソースがリポジトリに配置されます。Java クライアントライブラリを使用し、次の手順を実行することで、Repository サービスを呼び出すことができます。
-
Java プロジェクトのクラスパスに、adobe-repository-client.jar などのクライアント JAR ファイルを含めます。 これらのファイルの場所については、AEM Forms Java ライブラリファイルを含めるを参照してください。
-
サービスを呼び出すために必要な接続プロパティを設定します。
-
ServiceClientFactory
オブジェクトの静的createInstance
メソッドを呼び出し、接続プロパティを含むjava.util.Properties
オブジェクトを渡すことによって、ServiceClientFactory
オブジェクトを作成します。 -
コンストラクタを使用して
ResourceRepositoryClient
オブジェクトを渡すことによって、ServiceClientFactory
オブジェクトを作成します。ResourceRepositoryClient
オブジェクトを使用して、Repository サービス操作を呼び出します。 -
そのコンストラクタを使用して
null
を渡すことによって、RepositoryInfomodelFactoryBean
オブジェクトを作成します。このオブジェクトを使用すると、リポジトリに追加されるコンテンツを表すResource
オブジェクトを作成できます。 -
RepositoryInfomodelFactoryBean
オブジェクトのnewImage
メソッドを呼び出し、次の値を渡すことによってResource
オブジェクトを作成します。- 一意の ID(
new Id()
を指定する)。 - 一意の UUID 値(
new Lid()
を指定する)。 - リソースの名前。 XDP ファイルのファイル名を指定できます。
戻り値を
Resource
にキャストします。 - 一意の ID(
-
RepositoryInfomodelFactoryBean
オブジェクトのnewImage
メソッドを呼び出し、戻り値をResourceContent
にキャストすることによって、ResourceContent
オブジェクトを作成します。このオブジェクトはリポジトリに追加されるコンテンツを表します。 -
リポジトリに追加する XDP ファイルを格納する
java.io.FileInputStream
オブジェクトを渡して、com.adobe.idp.Document
オブジェクトを作成します(InputStream オブジェクトに基づいたドキュメントの作成を参照)。 -
setDataDocument
オブジェクトのResourceContent
メソッドを呼び出すことによって、com.adobe.idp.Document
オブジェクトの内容をResourceContent
オブジェクトに追加します。com.adobe.idp.Document
オブジェクトを渡します。 -
ResourceContent
オブジェクトのsetMimeType
メソッドを呼び出してapplication/vnd.adobe.xdp+xml
を渡すことによって、リポジトリに追加する XDP ファイルの MIME タイプを設定します。 -
Resource
オブジェクトのsetContent
メソッドを呼び出し、ResourceContent
オブジェクトを渡すことによって、ResourceContent
オブジェクトの内容をResource
オブジェクトに追加します。 -
Resource
オブジェクトのsetDescription
メソッドを呼び出して、リソースの説明を表す文字列値を渡すことによって、リソースの説明を追加します。 -
ResourceRepositoryClient
オブジェクトのwriteResource
メソッドを呼び出し、次の値を渡すことによってフォームデザインをリポジトリに追加します。- 新しいリソースを含むリソースコレクションへのパスを指定する文字列値
- 作成された
Resource
オブジェクト
関連トピック
クイックスタート(EJB モード):Java API を使用したリソースの書き込み
Java API を使用した AEM Forms の呼び出し
呼び出し API を使用した短時間のみ有効なプロセスの呼び出し invoking-a-short-lived-process-using-the-invocation-api
Java 呼び出し API を使用して、短時間のみ有効なプロセスを呼び出すことができます。 Invocation API を使用して短期間有効なプロセスを呼び出す場合は、java.util.HashMap
オブジェクトを使用して必須のパラメーター値を渡します。各パラメーターをサービスに渡すには、java.util.HashMap
オブジェクトの put
メソッドを呼び出し、指定された操作を実行するためにサービスが必要とする名前と値のペアを指定します。短時間のみ有効なプロセスに属するパラメーターの正確な名前を指定します。
ここでは、Invocation API を使用して、MyApplication/EncryptDocument
という名前の次の AEM Forms(短期間有効のプロセス)を呼び出す方法について説明します。
MyApplication/EncryptDocument
という名前のプロセスを作成します。(Workbench の使用を参照してください)。このプロセスを呼び出すと、次のアクションが実行されます。
- プロセスに渡されたPDFドキュメントを取得します。 このアクションは
SetValue
操作に基づいています。このプロセスの入力パラメーターは、inDoc
という名前のdocument
プロセス変数です。 - PDF ドキュメントをパスワードで暗号化します。このアクションは
PasswordEncryptPDF
操作に基づいています。パスワードで暗号化された PDF ドキュメントは、outDoc
という名前のプロセス変数として返されます。
Java invocation API を使用した MyApplication/EncryptDocument(短期間有効なプロセス)の呼び出し invoke-the-myapplication-encryptdocument-short-lived-process-using-the-java-invocation-api
Java invocation API を使用して短期間有効なプロセスの MyApplication/EncryptDocument
を呼び出します。
-
Java プロジェクトのクラスパスに、adobe-livecycle-client.jar などのクライアント JAR ファイルを含めます。 (AEM Forms Java ライブラリファイルを含めるを参照。)
-
接続プロパティを含む
ServiceClientFactory
オブジェクトを作成します。(接続プロパティの設定を参照。) -
ServiceClient
オブジェクトを作成するには、コントラクターを使用して、ServiceClientFactory
オブジェクトを渡します。ServiceClient
オブジェクトを使用すると、サービス操作を呼び出すことができます。呼び出し要求の検索、ディスパッチ、ルーティングなどのタスクを処理します。 -
コンストラクターを使用して
java.util.HashMap
オブジェクトを作成します。 -
各入力パラメーターに対して
java.util.HashMap
オブジェクトのput
メソッドを呼び出して、長期間有効なプロセスに渡します。短期間有効なプロセスのMyApplication/EncryptDocument
では、Document
型の入力パラメーターが 1 つ必要です。次の例に示すように、put
メソッドを呼び出す必要があるのは 1 回だけです。code language-as3 //Create a Map object to store the parameter value for inDoc Map params = new HashMap(); InputStream inFile = new FileInputStream("C:\\Adobe\Loan.pdf"); Document inDoc = new Document(inFile); params.put("inDoc", inDoc);
-
InvocationRequest
オブジェクトを作成するには、ServiceClientFactory
オブジェクトのcreateInvocationRequest
メソッドを呼び出して、次の値を渡します。- 呼び出す長期間有効なプロセスの名前を指定する文字列値。
MyApplication/EncryptDocument
プロセスを呼び出すには、MyApplication/EncryptDocument
を指定します。 - プロセス操作名を表す文字列値。通常、短期間有効なプロセス操作の名前は
invoke
です。 - サービス操作に必要なパラメーター値を含む
java.util.HashMap
オブジェクト。 - 同期要求を作成する
true
を指定するブール値(この値は、短期間有効なプロセスを呼び出すために適用されます)。
- 呼び出す長期間有効なプロセスの名前を指定する文字列値。
-
呼び出し要求をサービスに送信するには、
ServiceClient
オブジェクトのinvoke
メソッドを呼び出して、InvocationRequest
オブジェクトを渡します。invoke
メソッドは、InvocationReponse
オブジェクトを返します。note note NOTE createInvocationRequest
メソッドの 4 番目のパラメーターとして値false
を渡すことによって、長期間有効なプロセスを呼び出すことができます。値false
**を渡すと、非同期要求が作成されます。 -
プロセスの戻り値を取得するには、
InvocationReponse
オブジェクトのgetOutputParameter
メソッドを呼び出して、出力パラメーターの名前を指定する文字列値を渡します。この場合、outDoc
を指定します(outDoc
はMyApplication/EncryptDocument
プロセスの出力パラメーターの名前です)。以下の例のように、戻り値をDocument
にキャストします。code language-as3 InvocationResponse response = myServiceClient.invoke(request); Document encryptDoc = (Document) response.getOutputParameter("outDoc");
-
java.io.File
オブジェクトを作成し、ファイル拡張子が .pdf であることを確認します。 -
com.adobe.idp.Document
オブジェクトのcopyToFile
メソッドを呼び出して、com.adobe.idp.Document
オブジェクトのコンテンツをファイルにコピーします。getOutputParameter
メソッドから返されたcom.adobe.idp.Document
オブジェクトを必ず使用してください。
関連トピック
クイックスタート:Invocation API を使用した短期間有効なプロセスの呼び出し