使用 cxf 的 webservice 调用接口返回的数据部分字符乱码,但是使用soapui测试返回的字符没有乱码

发布于 2022-09-07 16:14:10 字数 1507 浏览 57 评论 0

下图是在soapui中测试的 webservice 接口,返回的字符没有乱码。
clipboard.png
下图是通过 cxf 的 webservice 客户端测试接口保存到,返回内容部分乱码,其中一个就是 “点”变成了“文号”
clipboard.png
下面是 cxf 调用的代码

JaxWsDynamicClientFactory var2 = JaxWsDynamicClientFactory.newInstance();
      Client var3 = var2.createClient(this.data.getDataUrl());
      HTTPConduit var4 = (HTTPConduit)var3.getConduit();
      HTTPClientPolicy var5 = new HTTPClientPolicy();
      var5.setConnectionTimeout(3000L);
      var5.setAllowChunking(false);
      var5.setReceiveTimeout(600000L);
      var4.setClient(var5);
      String var6;
      Object[] var7;
      Object[] var8;
      if(this.data.getDataParam1().equals("$method$")) {
        System.out.println("method:" + this.data.getDataParam2());
        var6 = this.data.getDataParam2();
        var7 = new Object[0];
        var8 = var3.invoke(var6, var7);
        var1 = var8[0].toString();
        System.out.println(var1);
      } else {
        System.out.println("BeginParam:" + this.beginParam);
        System.out.println("EndParam:" + this.endParam);
        var6 = "getDataXml";
        var7 = new Object[]{this.data.getDataParam1(), this.data.getDataParam2(), this.beginParam, this.endParam};
        var8 = var3.invoke(var6, var7);
        var1 = var8[0].toString();
      }

返回的结果无论是在控制台输出还是在写入到文件中都会存在部分乱码。
请个大神帮忙看看是哪里出了问题,谢谢。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文