I have a feeling you may be correct, so I copy and pasted your code
into mine:
(let [username (get-in @um/interactions [:omniture-api-
credentials :username])
secret (get-in @um/interactions [:omniture-api-
credentials :shared-secret])
random-number (math/round (* (rand 1 ) 1000000))
nonce (DigestUtils/md5Hex (str random-number))
nonce-encoded-base64 (base64-encode (.getBytes
nonce))
date-formatter (new SimpleDateFormat "yyyy-MM-
dd'T'HH:mm:ss")
created (.format date-formatter (new Date))
nonce-as-bytes (.getBytes nonce)
created-as-bytes (.getBytes created)
secret-as-bytes (.getBytes secret)
digest (-> (java.security.MessageDigest/
getInstance "sha1")
.reset
(.update nonce-as-bytes)
(.update created-as-bytes)
(.update secret-as-bytes)
.digest)
header (apply str " UsernameToken Username=\""
username "\" PasswordDigest=\"" digest "\" Nonce=\"" nonce-encoded-
base64 "\" Created=\"" created "\"")]
header)
but now I get a null pointer exception here:
digest (-> (java.security.MessageDigest/
getInstance "sha1")
.reset
(.update nonce-as-bytes)
(.update created-as-bytes)
(.update secret-as-bytes)
.digest)
On Mar 4, 2:02 pm, Aaron Cohen <[email protected]> wrote:
> I think you should try to avoid the string concatenation games. I'm not
> sure what your current code is, but I suspect you're still ending up with
> array toString's slipping in.
>
> How about the following?
>
> On Mon, Mar 4, 2013 at 1:31 PM, larry google groups <
>
> [email protected]> wrote:
> > So, right now I am using this code:
>
> > (let [username (get-in @um/interactions [:omniture-api-
> > credentials :username])
> > secret (get-in @um/interactions [:omniture-api-credentials :shared-
> > secret])
> > nonce (DigestUtils/md5Hex (str (math/round (* (rand 1 ) 1000000))))
> > nonce-encoded-base64 (Base64/encodeBase64 (.getBytes nonce))
> > date-formatter (new SimpleDateFormat "yyyy-MM-dd'T'HH:mm:ss")
> > formatter gmt-timezone)
> > created (.format date-formatter (new Date))
>
> nonce-bytes (.getBytes nonce)
> created-bytes (.getBytes created)
> secret-bytes (.getBytes secret)
> digest (-> (java.security.MessageDigest/getInstance "sha1")
> .reset
> (.update nonce-bytes)
> (.update create-bytes)
> (.update secret-bytes)
> .digest)
> digest-base64 (Base64/encodeBase64 digest)
>
> ;; Should "UsernameToken Username" really be unquoted in the following line?
> ;; All the other variable names are quoted
> header (apply str " UsernameToken Username=\"" username
>
> ;; You may want digest-base64 here?
> "\"PasswordDigest=\"" digest
>
> "\" Nonce=\"" nonce-encoded-base64
> "\"Created=\"" created "\"")]
> header)
--
--
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to [email protected]
Note that posts from new members are moderated - please be patient with your
first post.
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
---
You received this message because you are subscribed to the Google Groups
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.