You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cxf.apache.org by "Colm O hEigeartaigh (Jira)" <ji...@apache.org> on 2020/05/11 11:15:00 UTC
[jira] [Commented] (CXF-8281) Issue with attachment Chines file
name
[ https://issues.apache.org/jira/browse/CXF-8281?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17104324#comment-17104324 ]
Colm O hEigeartaigh commented on CXF-8281:
------------------------------------------
Could you adapt one of the test-cases here to show the problem?
https://github.com/apache/cxf/tree/master/core/src/test/java/org/apache/cxf/attachment
> Issue with attachment Chines file name
> ---------------------------------------
>
> Key: CXF-8281
> URL: https://issues.apache.org/jira/browse/CXF-8281
> Project: CXF
> Issue Type: Bug
> Components: Bus, JAX-WS Runtime, WS-* Components
> Affects Versions: 3.2.4
> Reporter: Rajesh
> Priority: Major
>
> 0
> I'm using apache CXF for exposing the webservice. While reading chinese file name from upstream (SOAP UI in local), unable to read exact chinese characters. It's giving file name as '°U'°U123.pdf . I have tried with all encodings but no luck. For other English name attachments no issues, able to read properly.
> {quote}From soap ui i'm sending UTF-8 encoding , while reading in java I have used same.
> byte[] b = attachmentName.getBytes(StandardCharsets.UTF_8);
> String attachName = new String(b, StandardCharsets.UTF_8.name());
> `Below is my interceptor code.
> {quote}
> public void handleMessage(SoapMessage message) throws Fault {
> logger.info("Handle Message for attachments ");
> BindingOperationInfo bop = message.getExchange().getBindingOperationInfo();
> if (bop == null) {
> return;
> }
> logger.info("binding info "+bop.getBinding());
> if (bop.isUnwrapped()) {
> bop = bop.getWrappedOperation();
> }
> if (null == message.getAttachments() || message.getAttachments().isEmpty() ){
> return;
> }
> Iterator<Attachment> iter = message.getAttachments().iterator();
> Collection<Attachment> attchments = message.getAttachments();
> logger.info("message get attachments size : "+attchments.size());
> int attachmentCount=0;
> Map<String, DataHandler> attachmentMap= AttachmentUtil.getDHMap(attchments);
> logger.info("Map<String, DataHandler> "+attachmentMap.size());
> try{
> while (iter.hasNext()){
> Attachment attachment = iter.next();
> attachmentCount++;
> }
> }
> }
--
This message was sent by Atlassian Jira
(v8.3.4#803005)