【问题标题】:SoapUI doesn't print multi-byte characters correctlySoapUI 无法正确打印多字节字符
【发布时间】:2023-03-11 17:00:02
【问题描述】:

我有一个想要使用soapUI 调用的Java Web 服务。

我希望 SOAPUI 正确显示字符 ,例如在 SOAP 响应中我得到以下响应:

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
   <soap:Body>
      <soap:Fault>
         <faultcode>soap:Server</faultcode>
         <faultstring>Internal server Error </faultstring>
         <detail>
            <MYENDPOINT_NAME xmlns="MY_XMLNS">
               <ns2:code>INTROUVABLE</ns2:code>
               <ns2:message>Le fichier n□a pas été trouvé</ns2:message>
            </MYENDPOINT_NAME>
         </detail>
      </soap:Fault>
   </soap:Body>
</soap:Envelope>

我希望它是这样的:

  <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
   <soap:Body>
      <soap:Fault>
         <faultcode>soap:Server</faultcode>
         <faultstring>500 Internal server Error </faultstring>
         <detail>
            <MY_ENDPOINT_NAME xmlns="MY_XMLNS">
               <ns2:code>INTROUVABLE</ns2:code>
               <ns2:message>Le fichier n’a pas été trouvé</ns2:message>
            </MY_ENDPOINT_NAME>
         </detail>
      </soap:Fault>
   </soap:Body>
</soap:Envelope> 

我尝试在 SOAP 请求中使用 UTF-8 指定字符集,并在启动脚本中使用

-Dfile.encoding=UTF-8,但它仍然输出相同的结果。

注意。在这种情况下,500 Internal server Error 是正常的功能行为。

【问题讨论】:

  • 通过菜单 -> 帮助 -> 系统属性导航时会显示什么?是否显示相同的编码?
  • 事实上没有,我有这些:file.encoding=Cp1252sun.io.unicode.encoding=UnicodeLittlesun.jnu.encoding=Cp1252
  • 请您查看answer 看看是否有帮助?
  • 感谢您的帮助:),事实上这是我的soapui.bat,我尝试了大多数已知的字符集
  • 你用的是什么版本的soapui?而您只希望 Cp1252 作为您的字符集?

标签: java soap utf-8 character-encoding soapui


【解决方案1】:

几件事。

  • SOAPUI_HOME/bin/soapui.bat 中的file.encoding 值更改为UTF-8。在进行任何更改之前,请确保您已备份文件。
  • 在 SoapUI 中,菜单 -> File -&gt; Preferences -&gt; UI Settings,单击 Native L&amp;F 的复选框。保存首选项。您可以在文档中找到更多偏好 here

现在关闭 SoapUI 工具。

打开命令提示符;转到%SOAPUI_HOME%\bin 目录。运行soapui.bat

建议:如果您不想一直这样做,请将SOAPUI_HOME/bin 放在PATH 环境变量中。下一次,soapui.bat 应该在命令提示符下工作(无论你在哪里)

编辑:

另一个角度是从应用程序/服务器的角度来看。查看应用程序是否配置为使用file.encoding 作为UTF-8。如果没有,请尝试配置应用程序并重试。

【讨论】:

  • 它对我有用。但是确实认为它是 SoapUI 中的一个错误(json 的默认编码是 UTF-8?)。一个更简单的解决方案是将此属性添加到 bin 文件夹中的 SoapUI-5.y.z.vmoptions 文件中。默认情况下,Windows 中的 SoapUI 会安装一个快捷方式,该快捷方式调用 exe iso the bat。可以通过以下方式验证属性:Help -> SystemProperties。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-03-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多