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

Rajesh commented on CXF-8281:
-----------------------------

Below are the ways I tried to get original file name but no luck.

String attachmentName=attachment.getDataHandler().getName();
 StringBuilder result = new StringBuilder(attachment.getId());
 logger.info("url encoded string "+ URLEncoder.encode(attachment.getId(), 
StandardCharsets.UTF_8.name()));
 logger.info("url decoded string "+ URLDecoder.decode(attachment.getId(), 
StandardCharsets.UTF_8.name()));
 logger.info("new char sting 
"+getCharsFromStrings(attachment.getDataHandler().getName()));
 logger.info( "name :"+ attachment.getDataHandler().getName());
 logger.info("mime utility decoded name 
"+MimeUtility.decodeText(attachmentName));
 String chinesname= new 
String(attachmentName.getBytes(StandardCharsets.ISO_8859_1), "UTF-8");

 

This is killing our business .  Right help  much appreciated 

 

> 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
>         Attachments: CustomDataHandler.java, POAttachmentInterceptor.java, 
> POHeaderInterceptor.java, POInvokeHandler.java, POSwAInInterceptor.java, 
> attachment-soap.zip, payloadRequest.txt, screenshot-1.png, soap ui- payload 
> and properties .png, soapui.png
>
>
> 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)

Reply via email to