IBM LotusNotesでCoSignSignatureSOAP APIを実行するにはどうすればよいですか?

mushir2007
Session session = getSession();
AgentContext agentContext = session.getAgentContext();

// Custom Values
String filePath      = "C://20/ToSign.pdf";  // Pdf File to sign
String fileMimeType  = "application/pdf";   // File MIME type
String username      = "[email protected]";       // CoSign account username,Not exactly these credentials, I have entered my CoSign username and password here.
String password      = "password";          // CoSign account password
String domain        = "";                  // CoSign account domain
int sigPageNum       = 1;                   // Create signature on the first page
int sigX             = 145;                 // Signature field X location
int sigY             = 125;                 // Signature field Y location
int sigWidth         = 160;                 // Signature field width
int sigHeight        = 45;                  // Signature field height
String timeFormat    = "hh:mm:ss";          // The display format of the time
String dateFormat    = "dd/MM/yyyy";        // The display format of the date
long appearanceMask  = 11; 
String signatureType = "http://arx.com/SAPIWS/DSS/1.0/signature-field-create-sign"; // The actual operation of the Sign Request function
String wsdlUrl       = "https://prime.cosigntrial.com:8080/sapiws/dss.asmx?WSDL";   // URL to the WSDL file

// Read file contents

BufferedReader br = new BufferedReader(new FileReader(new File(filePath)));
String line;
String fileBufferContent="";
while ((line=br.readLine())!=null){
      fileBufferContent=fileBufferContent+line ;

}

byte[] fileBuffer = fileBufferContent.getBytes();

// Set file contents + MIME type (the SOAP library automatically base64 encodes the data)
DocumentType document = new DocumentType();
Base64Data base64Data = new Base64Data();
base64Data.setValue(fileBuffer);
base64Data.setMimeType(fileMimeType);
document.setBase64Data(base64Data);

// Set user credentials. In case of Active Directory, the domain name should be defined in the NameQualifier attribute
ClaimedIdentity claimedIdentity = new ClaimedIdentity();
NameIdentifierType nameIdentifier = new NameIdentifierType();
nameIdentifier.setValue(username);
nameIdentifier.setNameQualifier(domain);
CoSignAuthDataType coSignAuthData = new CoSignAuthDataType();
coSignAuthData.setLogonPassword(password);
claimedIdentity.setName(nameIdentifier);
claimedIdentity.setSupportingInfo(coSignAuthData);

System.out.println("credentials set");
// Define signature field settings
SAPISigFieldSettingsType sigFieldSettings = new SAPISigFieldSettingsType();
sigFieldSettings.setInvisible(false);
sigFieldSettings.setX(sigX);
sigFieldSettings.setY(sigY);
sigFieldSettings.setWidth(sigWidth);
sigFieldSettings.setHeight(sigHeight);
sigFieldSettings.setPage(sigPageNum);
sigFieldSettings.setAppearanceMask(appearanceMask);
TimeDateFormatType timeDateFormat = new TimeDateFormatType();
timeDateFormat.setTimeFormat(timeFormat);
timeDateFormat.setDateFormat(dateFormat);
timeDateFormat.setExtTimeFormat(ExtendedTimeFormatEnum.GMT);
sigFieldSettings.setTimeFormat(timeDateFormat);
// Build complete request object
SignRequest signRequest = new SignRequest();
RequestBaseType.InputDocuments inputDocuments = new RequestBaseType.InputDocuments();
inputDocuments.getDocumentOrTransformedDataOrDocumentHash().add(document);
RequestBaseType.OptionalInputs optionalInputs = new RequestBaseType.OptionalInputs();
optionalInputs.setSignatureType(signatureType);
optionalInputs.setClaimedIdentity(claimedIdentity);
optionalInputs.setSAPISigFieldSettings(sigFieldSettings);
optionalInputs.setReturnPDFTailOnly(true);
signRequest.setOptionalInputs(optionalInputs);
signRequest.setInputDocuments(inputDocuments);
// Initiate service client //
DSS client = new DSS(new URL(wsdlUrl), new QName("http://arx.com/SAPIWS/DSS/1.0/", "DSS"));

// Send the request
DssSignResult response = client.getDSSSoap().dssSign(signRequest);

// Check response output
if ("urn:oasis:names:tc:dss:1.0:resultmajor:Success".equals(response.getResult().getResultMajor())) {
    // On success- append signature object to the source PDF document (the SOAP library automatically decodes the base64 encoded output)
    byte[] signatureObjectBuffer = response.getSignatureObject().getBase64Signature().getValue();
    //Files.write(Paths.get(filePath), signatureObjectBuffer, StandardOpenOption.APPEND);

    BufferedWriter bw = new BufferedWriter(new FileWriter( new File(filePath)));

    String signatureObjectBufferString = signatureObjectBuffer.toString();
    bw.write(signatureObjectBufferString);
    bw.close();
}
else
{ 
    // On failure- raise exception with the result error message
    throw new Exception(response.getResult().getResultMessage().getValue());

}

コードhttp://developer.arx.com/quick-start/sapi-web-services/#t-helloworldを使用しています。Java1.6と互換性のあるコードを記述しましたが、「AccessControlException:Accessdenied」というエラーが発生します。何かが足りない?

ラリーK

APIのユーザー名はメールであり、開発者ポータルで使用するユーザー名ではないことに注意してください。

サービスポイントのURLは、API概要の[はじめに]タブに表示されます

トライアル/開発者システムのサービスポイントURL

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

IBM Worklight 6.1-「実行」ボタンでiOSキーボードを表示するにはどうすればよいですか?

分類Dev

xsl:when XSLT(IBM Watson Explorer)で「または条件」を使用するにはどうすればよいですか?

分類Dev

IBM Worklight-AndroidでWebViewデバッグを有効にするにはどうすればよいですか?

分類Dev

IBM Data ScienceExperienceのJupyterNotebookでSQLMagicsを有効にするにはどうすればよいですか?

分類Dev

8つを超えるArugementをibm_dbbind_paramに渡すにはどうすればよいですか?

分類Dev

IBM Bluemixで「スペース」を削除するにはどうすればよいですか?

分類Dev

IBM MQでトリガーを使用するにはどうすればよいですか?

分類Dev

IBM Watson Assistant(Conversation)で値@ sys-timeを取得するにはどうすればよいですか?

分類Dev

IBM CPLEXをiOSプロジェクトに適用するにはどうすればよいですか?

分類Dev

IBM Watson: Watson Responses にハイパーリンクを追加するにはどうすればよいですか?

分類Dev

IBM WatsonAssistantを使用してビデオを表示するにはどうすればよいですか

分類Dev

IBM i Access for Macをインストールするにはどうすればよいですか?

分類Dev

IBM(Lotus)Notesクライアントを作成するにはどうすればよいですか?

分類Dev

IBM Container Serviceの公式イメージを取得するにはどうすればよいですか?

分類Dev

IBM Streamsツールキットの更新を入手するにはどうすればよいですか?

分類Dev

IBM MQ for linuxにすでにキュー名が存在するかどうかを確認するにはどうすればよいですか?

分類Dev

IBM Access ClientSolutionsはJavaWeb Startを使用して実行されます:コマンドラインからACS機能を実行するにはどうすればよいですか?

分類Dev

IBM API Connectで既存のサービスのファサードを構築するにはどうすればよいですか?

分類Dev

IBM WebsphereからTomcatに移行するにはどうすればよいですか?

分類Dev

curlを使用してIBMの音声テキストAPIにアクセスするにはどうすればよいですか?

分類Dev

IBM watson音声のスピーカーラベルをAndroidのテキストAPIに変更するにはどうすればよいですか?

分類Dev

IBM Worklight-Worklight Studioがv6.0.0.0またはv6.0.0.1のどちらを実行しているかを確認するにはどうすればよいですか?

分類Dev

IBM Bluemix上のSQLDBサービスから移行するにはどうすればよいですか?

分類Dev

IBM Waston Speech to text APIのキーワードスポッティング機能を使用するにはどうすればよいですか?

分類Dev

`ibm_boto3`から` generate_presigned_post`を呼び出すにはどうすればよいですか?

分類Dev

IBM Edge Serverについて調べ始めるにはどうすればよいですか?

分類Dev

IBM MobileFirst7.0からAppleAPNSサーバーに送信されるプッシュ通知を追跡するにはどうすればよいですか?

分類Dev

IBM MQ MQExplorerオブジェクト作成動作を複製するスクリプトを作成するにはどうすればよいですか?

分類Dev

Spring Bootを継続的に使用してIBM MQ JMSからメッセージを受信するにはどうすればよいですか?

Related 関連記事

  1. 1

    IBM Worklight 6.1-「実行」ボタンでiOSキーボードを表示するにはどうすればよいですか?

  2. 2

    xsl:when XSLT(IBM Watson Explorer)で「または条件」を使用するにはどうすればよいですか?

  3. 3

    IBM Worklight-AndroidでWebViewデバッグを有効にするにはどうすればよいですか?

  4. 4

    IBM Data ScienceExperienceのJupyterNotebookでSQLMagicsを有効にするにはどうすればよいですか?

  5. 5

    8つを超えるArugementをibm_dbbind_paramに渡すにはどうすればよいですか?

  6. 6

    IBM Bluemixで「スペース」を削除するにはどうすればよいですか?

  7. 7

    IBM MQでトリガーを使用するにはどうすればよいですか?

  8. 8

    IBM Watson Assistant(Conversation)で値@ sys-timeを取得するにはどうすればよいですか?

  9. 9

    IBM CPLEXをiOSプロジェクトに適用するにはどうすればよいですか?

  10. 10

    IBM Watson: Watson Responses にハイパーリンクを追加するにはどうすればよいですか?

  11. 11

    IBM WatsonAssistantを使用してビデオを表示するにはどうすればよいですか

  12. 12

    IBM i Access for Macをインストールするにはどうすればよいですか?

  13. 13

    IBM(Lotus)Notesクライアントを作成するにはどうすればよいですか?

  14. 14

    IBM Container Serviceの公式イメージを取得するにはどうすればよいですか?

  15. 15

    IBM Streamsツールキットの更新を入手するにはどうすればよいですか?

  16. 16

    IBM MQ for linuxにすでにキュー名が存在するかどうかを確認するにはどうすればよいですか?

  17. 17

    IBM Access ClientSolutionsはJavaWeb Startを使用して実行されます:コマンドラインからACS機能を実行するにはどうすればよいですか?

  18. 18

    IBM API Connectで既存のサービスのファサードを構築するにはどうすればよいですか?

  19. 19

    IBM WebsphereからTomcatに移行するにはどうすればよいですか?

  20. 20

    curlを使用してIBMの音声テキストAPIにアクセスするにはどうすればよいですか?

  21. 21

    IBM watson音声のスピーカーラベルをAndroidのテキストAPIに変更するにはどうすればよいですか?

  22. 22

    IBM Worklight-Worklight Studioがv6.0.0.0またはv6.0.0.1のどちらを実行しているかを確認するにはどうすればよいですか?

  23. 23

    IBM Bluemix上のSQLDBサービスから移行するにはどうすればよいですか?

  24. 24

    IBM Waston Speech to text APIのキーワードスポッティング機能を使用するにはどうすればよいですか?

  25. 25

    `ibm_boto3`から` generate_presigned_post`を呼び出すにはどうすればよいですか?

  26. 26

    IBM Edge Serverについて調べ始めるにはどうすればよいですか?

  27. 27

    IBM MobileFirst7.0からAppleAPNSサーバーに送信されるプッシュ通知を追跡するにはどうすればよいですか?

  28. 28

    IBM MQ MQExplorerオブジェクト作成動作を複製するスクリプトを作成するにはどうすればよいですか?

  29. 29

    Spring Bootを継続的に使用してIBM MQ JMSからメッセージを受信するにはどうすればよいですか?

ホットタグ

アーカイブ