shaerzzr 发表于 2019-2-2 15:44:00

如何在调用SAP接口时返回中文信息

  公司的SAP项目告一段落了,但用户指出SAP接口返回的错误信息是英文的,看不懂呀。
  听顾问说SAP是支持中文信息的,但是需要在调用接口时传递一个额外的header,叫"sap-language:zh"。
  

  遍地google,终于让我寻着了解决的办法。原来是如此的简单,但往往复杂的问题都有一个简单的处理办法。
$wsdl = "http://xxxx";
$options = array(
'login'       => 'TEST',
'password'    => '12345',
'trace'       => 1,
'stream_context' => stream_context_create(array('http' => array('header' => 'sap-language: zh')))
);
$client = new SoapClient($wsdl, $options);  

  在php手册上可以找到soapclient中stream_context的描述。它的原文是:
The stream_context option is a resource for context.  再进一步的去看一下这个context,链接是:http://www.php.net/manual/zh/context.php
  里面介绍了stream_context_create()这个函数,用它可以构建各种请求。
  所以就有了上面的解决方案。




页: [1]
查看完整版本: 如何在调用SAP接口时返回中文信息