PHP使用SOAP调用API操作示例 |
|
本文标签:PHP,SOAP,调用API 本文实例讲述了PHP使用SOAP调用API操作 。分享给大家供大家参考,具体如下:
/*图片转换为 base64格式编码*/
function base64EncodeImage($image_file)
{
$base64_image = '';
$image_info = getimagesize($image_file);
$image_data = fread(fopen($image_file, 'r'), filesize($image_file));
//$base64_image = 'data:' . $image_info['mime'] . ';base64,' . chunk_split(base64_encode($image_data));
$base64_image = chunk_split(base64_encode($image_data));
return $base64_image;
}
$strPhotoFront_base64 = base64EncodeImage("static/img/a.png");
$strPhotoRear_base64 = base64EncodeImage("static/img/b.png");
$paras["strPhotoFront"] = $strPhotoFront_base64;
$paras["strPhotoRear"] = $strPhotoRear_base64;
$paras["strSecretKey"] = "";
$wsdl = "";
$client = new SoapClient($wsdl);
$soapParas = array($paras);
$outString = $client->__soapCall("UploadPhotoId", $soapParas);
$obj = simplexml_load_string($outString->UploadPhotoIdResult->any);
echo($obj->ExtraInfo);
echo "<br/>";
echo($obj->ExtraCode);
echo "<br/>";
echo($obj->Code);
echo "<br/>";
echo($obj->Message);
注:出现提示:Fatal error: Class 'SoapClient' not found的情况,可参考《PHP Class SoapClient not found解决方法》 附:SOAP-ERROR: Parsing WSDL:Couldn't load from “xxxxxxx” 解决方案 用php的soapclient连接第三方的webservice,是https的,连接报错SOAP-ERROR: Parsing WSDL:Couldn't load from “xxxxxxx” 首先排查 php的soap扩展是否安装 openssl扩展 服务器本身安装openssl 排除第三方对本服务器的IP限制 最后怀疑是https需要ssl验证,而本机没有pem文件 可以通过如下设置,忽略ssl验证 verify_peer:指定是否验证ssl,默认为true 将verify_peer设为false 另外,允许引用外部xml实体 加
libxml_disable_entity_loader(false);
$opts = array(
'ssl' => array(
'verify_peer' => false
),
'https' => array(
'curl_verify_ssl_peer' => false,
'curl_verify_ssl_host' => false
)
);
$streamContext = stream_context_create($opts);
$client = new SoapClient("https://urlToSoapWs",
array(
'stream_context' => $streamContext
));
禁止引用外部xml实体 libxml_disable_entity_loader(true); nginx 报错 upstream timed out (110: Connection timed out)解决方案 nginx每隔几个小时就会报下面的错误: 2013/05/18 21:21:36 [error] 11618#0: *324911 upstream timed out (110: Connection timed out) while reading response header from upstream, 报这个错误之后,整个服务器就不响应了,但是nginx后面的webpy程序没有任何错误,后端的数据库也很正常,从网上查了很多资料,都是说要修改 如下配置,要放在server配置节之内
你可以看到上面是proxy_和fastcgi_两种配置,就是说如果你的nginx后面是proxy,就设置proxy相关的配置,如果是fastcgi就设置fastcgi相关的配置 。 更多关于PHP相关内容感兴趣的读者可查看本站专题:《php文件操作总结》、《PHP数据结构与算法教程》、《php程序设计算法总结》、《PHP数组(Array)操作技巧大全》、《php字符串(string)用法总结》及《php常见数据库操作技巧汇总》 希望本文所述对大家PHP程序设计有所帮助 。 您可能感兴趣的文章:
|