public SOAPHeaderElement tokenPassport() { ...
# suitetalkapi
a
public SOAPHeaderElement tokenPassport() { Long timeStamp = System.currentTimeMillis() / 1000L; System.out.println("Timestamp : " + timeStamp); String nonce = RandomStringUtils.randomAlphanumeric(20); TokenPassport tokenPassport = new TokenPassport(); tokenPassport.setAccount(account_Id); tokenPassport.setConsumerKey(consumer_Key); tokenPassport.setNonce(nonce); TokenPassportSignature tokenSignature = new TokenPassportSignature(); tokenSignature.setAlgorithm(algorithm); tokenSignature.set_value(getSignature(timeStamp,nonce)); tokenPassport.setSignature(tokenSignature); tokenPassport.setTimestamp(timeStamp); tokenPassport.setToken(token_Id); return new SOAPHeaderElement("urn:messages_" + CURRENT_VERSION + ".platform.webservices.netsuite.com","tokenPassport",tokenPassport); } public String getSignature(Long timeStamp, String nonce) { String baseString = account_Id + "&" + consumer_Key + "&" + token_Id + "&" + nonce + "&" + Long.toString(timeStamp); String key = consumer_Secret + '&' + token_Secret; String signature = computeShaHash(baseString, key, "HmacSHA256"); return signature; } public String computeShaHash(String baseString, String key, String algorithm) { byte[] bytes = key.getBytes(); SecretKeySpec mySigningKey = new SecretKeySpec(bytes, algorithm); try { Mac messageAuthenticationCode = Mac.getInstance(algorithm); messageAuthenticationCode.init(mySigningKey); byte[] hash = messageAuthenticationCode.doFinal(baseString.getBytes()); String result = new String(Base64.encodeBase64(hash, false)); return result; } catch(Exception e) { writeLogFile("Exception in creating Signature : " + e.toString()); } return null; } public void netsuiteLogin() { stub = (NetSuiteBindingStub) nsPort; stub.clearHeaders(); stub.setHeader(tokenPassport()); }