[
https://issues.apache.org/jira/browse/WSS-671?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17101500#comment-17101500
]
Colm O hEigeartaigh commented on WSS-671:
-----------------------------------------
The URL Decoding was added for this JIRA:
https://issues.apache.org/jira/browse/WSS-652
>From what I can tell, the Content-Id of the attachment should not be URL
>encoded:
{noformat}
A "cid" URL is converted to the corresponding Content-ID message
header [MIME] by removing the "cid:" prefix, converting the % encoded
character to their equivalent US-ASCII characters, and enclosing the
remaining parts with an angle bracket pair, "<" and ">".{noformat}
So I'm inclined to think that WSS4J is doing the right thing by URL Decoding
the XOP URI and comparing the decoded version against the attachment Content-Id
directly. What is generating the attachment headers in your example?
> AttachmentId issue
> -------------------
>
> Key: WSS-671
> URL: https://issues.apache.org/jira/browse/WSS-671
> Project: WSS4J
> Issue Type: Bug
> Components: WSS4J Handlers
> Affects Versions: 2.2.4
> Reporter: Frédéric Pirson
> Assignee: Colm O hEigeartaigh
> Priority: Major
>
> Hello,
> I don't know if it is really a bug, or something I am missing, but I have and
> issue when the attachmend is resolved.
> I have a xopUri like this :
>
> {code:java}
> //
> cid:998c3362-5b5f-405a-817a-b20f8373c378-5@urn%3Abe%3Acin%3Anip%3Aasync%3Ageneric
> {code}
> when it is resolved as attachmentId via the method getAttachmentId(xopUri)
> the value is this :
> {code:java}
> // 998c3362-5b5f-405a-817a-b20f8373c378-5@urn:be:cin:nip:async:generic
> {code}
> We see here that %3A has been replaced by his related characters ':'
>
> After when the attachmentCallbackHandler try to find the correct attachment
> in the list (loadAttachments methods) it compare these 2 values in the do
> while
>
> {code:java}
> // }while(attachmentId != null && !attachmentId.equals(attachment.getId()));
> {code}
> The value of attachmentId is
>
> {code:java}
> // 998c3362-5b5f-405a-817a-b20f8373c378-5@urn:be:cin:nip:async:generic
> {code}
> The value of attachment.getId() is :
> {code:java}
> //
> 998c3362-5b5f-405a-817a-b20f8373c378-5@urn%3Abe%3Acin%3Anip%3Aasync%3Ageneric
> {code}
> So the comparaison fails and attachment is not found => Exception attachment
> not found
>
> Is it some issue, or do I something wrong ?
>
> Version of wss4j : 2.2.4
>
--
This message was sent by Atlassian Jira
(v8.3.4#803005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]