[ 
https://issues.apache.org/jira/browse/WSS-671?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17102362#comment-17102362
 ] 

Frédéric Pirson commented on WSS-671:
-------------------------------------

Ok, we are using CXF 3.3.5. 

It also encode the attachmentId (cid) : 

 
{code:java}
// public static String createContentID(String ns) throws 
UnsupportedEncodingException {
    String cid = "cxf.apache.org";
    if (ns != null && !ns.isEmpty()) {
        try {
            URI uri = new URI(ns);
            String host = uri.getHost();
            if (host != null) {
                cid = host;
            } else {
                cid = ns;
            }
        } catch (Exception var4) {
            cid = ns;
        }
    }

    return ATT_UUID + '-' + Integer.toString(COUNTER.incrementAndGet()) + '@' + 
URLEncoder.encode(cid, StandardCharsets.UTF_8.name());
}
{code}
It our case we have no host, so it encodes the namespace.

Do you need to create an issue at cxf side ?

> 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