[
https://issues.apache.org/jira/browse/CXF-1668?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Daniel Kulp resolved CXF-1668.
------------------------------
Resolution: Won't Fix
Fix Version/s: Invalid
This improvement request has been open for years and no-one has stepped up to
implement it. As such, it does not seems to be a priority for the existing CXF
community. If, in the future, someone would like to tackle this, feel free to
open is and attach a patch.
> Wrong encoding using JMS Transport
> ----------------------------------
>
> Key: CXF-1668
> URL: https://issues.apache.org/jira/browse/CXF-1668
> Project: CXF
> Issue Type: Improvement
> Components: Transports
> Affects Versions: 2.1
> Environment: MS Windows XP, Sun Solaris
> Reporter: Eduard Hildebrandt
> Fix For: Invalid
>
>
> In class JMSConduit getBytes() is used to transform the string in a byte
> array.
> byte[] bytes = null;
> if (response instanceof String) {
> String requestString = (String)response;
> bytes = requestString.getBytes();
> } else {
> bytes = (byte[])response;
> }
> getBytes() uses the standard encoding of the plattform. This is wrong because
> the encoding of the message must be used.
> I have written an interceptor as workaround to solve this issue:
> public class EncodingInterceptor extends AbstractPhaseInterceptor<Message> {
> public EncodingInterceptor() {
> super(Phase.RECEIVE);
> }
> public void handleMessage(Message message) {
> try {
> InputStream inputStream = message.getContent(InputStream.class);
> ByteArrayOutputStream baos = new ByteArrayOutputStream();
> while (true) {
> int datum = inputStream.read();
> if (datum == -1)
> break;
> baos.write(datum);
> }
> String string = baos.toString();
> ByteArrayInputStream bais = new
> ByteArrayInputStream(string.getBytes("UTF-8"));
> message.setContent(InputStream.class, bais);
> } catch (IOException e) {
> e.printStackTrace();
> }
> }
> public void handleFault(Message messageParam) {
> }
> }
> But the issue should be solved in JMSConduit class.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira