如何在CXF客户端中设置SOAP响应的编码?

时间:2016-08-11 08:52:59

标签: java web-services soap cxf

我正在使用Apache CXF来创建SOAP客户端。 Web服务响应包含以下变音字符:[0xc3][0x9c],这是Ü

当我读取响应时,我可以手动转换此字段:

String utfString = new String(isoString.getBytes("ISO-8859-1"), "utf-8");

但我宁愿将客户端设置为自动将ISO转换为UTF8字符串。

问题:如何在全局CXF客户端中为任何传入请求配置此功能?

1 个答案:

答案 0 :(得分:0)

您可以设置编码,如下所示。

@Bean
    public KPWs kpMath(SpringBus bus) {
        final JAXWSSpringClientProxyFactoryBean client = new JAXWSSpringClientProxyFactoryBean();
        client.setBus(bus);
        client.setAddress("http://localhost:8080/services/ws ?wsdl");
        client.getFeatures().add(new LoggingFeature());
        Map<String, Object> map = new HashMap<>();
        map.put("org.apache.cxf.message.Message.ENCODING", "ISO-8859-1");
        client.setProperties(map);
        return client.create(KPWs.class);

    }