[ 
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]

Reply via email to