2017-07-25 6 views
0

Mon code est d'abord le jeton de changement à utiliserWAFStaleDataException de Java SDK, mais le même ordre d'idées fonctionne avec CLI

final AWSWAFRegional waf = AWSWAFRegionalClientBuilder.defaultClient(); final String changeToken = waf.getChangeToken(new GetChangeTokenRequest()).toString();

Il utilise ensuite le jeton de mise à jour IPSet

UpdateIPSetRequest updateIPSetRequest = new UpdateIPSetRequest(); updateIPSetRequest.setChangeToken(changeToken); waf.updateIPSet(updateIPSetRequest);

Le problème est, quand je cours la fonction il renvoie

com.amazonaws.services.waf.model.WAFStaleDataException: The input token is no longer current. (Service: AWSWAFRegional; Status Code: 400; Error Code: WAFStaleDataException; Ensuite, lorsque j'utilise le même jeton d'AWS CLI, cela fonctionne, mais le code n'a pas pu l'utiliser car il a envoyé WAFStaleDataException. Quelle est la résolution pour cela?

Répondre

1

Le problème est dans cette déclaration

final String changeToken = waf.getChangeToken(new GetChangeTokenRequest()).toString(); 

utilisation de toString() résultats changeToken être de la forme {changeToken: "xxxxxx"} où "xxxxxx" est le jeton de changement requis, AURAIT utilisé

final String changeToken = waf.getChangeToken(new GetChangeTokenRequest()).getChangeToken();