SoapUI不能正确打印多字节字符

时间:2017-12-12 17:32:04

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

我想要使用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> 

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

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

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

1 个答案:

答案 0 :(得分:2)

一些事情。

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

现在关闭SoapUI工具。

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

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

修改

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