公司的SAP项目告一段落了,但用户指出SAP接口返回的错误信息是英文的,看不懂呀。
听顾问说SAP是支持中文信息的,但是需要在调用接口时传递一个额外的header,叫"sap-language:zh"。
遍地google,终于让我寻着了解决的办法。原来是如此的简单,但往往复杂的问题都有一个简单的处理办法。
1
2
3
4
5
6
7
8
|
$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的描述。它的原文是:
1
|
The stream_context option is a resource for context.
|
再进一步的去看一下这个context,链接是:http://www.php.net/manual/zh/context.php
里面介绍了stream_context_create()这个函数,用它可以构建各种请求。
所以就有了上面的解决方案。
本文转自 ustb80 51CTO博客,原文链接:http://blog.51cto.com/ustb80/1339544,如需转载请自行联系原作者