
正文
phpsoap请求数据 php常见请求类型
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
【PHP】【SOAP】请求服务器端报错:方法未找到
你好,有一个较简单的方法可以检查下service端是否存在该方法, 或者说你所用的方法名称是否正确, 方法如下:
$functions = $client-__getFunctions ();
var_dump ($functions);
希望对你有所帮助!
相关问答
Q1: php 怎么POST获取数据?
方法1、最常见的方法是:$_POST['fieldname'];
说明:只能接收Content-Type:
application/x-www-form-urlencoded提交的数据
解释:也就是表单POST过来的数据
方法2、file_get_contents("php://input");
说明:
允许读取
POST
的
原始数据
。
和
$HTTP_RAW_POST_DATA
比起来phpsoap请求数据,它给内存带来的压力较小phpsoap请求数据,并且不需要任何特殊的
php.ini
设置。
php://input
不能用于
enctype="multipart/form-data"。
解释:
对于未指定
Content-Type
的POST数据,则可以使用file_get_contents(“php://input”);来获取原始数据。
事实上,用PHP接收POST的任何数据都可以使用本方法。而不用考虑Content-Type,包括
二进制文件
流也可以。
所以用方法二是最保险的方法
方法3、$GLOBALS['HTTP_RAW_POST_DATA'];
说明:
总是产生
$HTTP_RAW_POST_DATA
变量包含有原始的
POST
数据。
此变量仅在碰到未识别
MIME
类型的数据时产生。
$HTTP_RAW_POST_DATA
对于
enctype="multipart/form-data"
表单数据不可用
如果post过来的数据不是PHP能够识别的,可以用
$GLOBALS['HTTP_RAW_POST_DATA']来接收,
比如
text/xml
或者
soap
等等
解释:
$GLOBALS['HTTP_RAW_POST_DATA']存放的是POST过来的原始数据。
$_POST或
$_REQUEST
存放的是
PHP以key=value的形式格式化以后的数据。
但$GLOBALS['HTTP_RAW_POST_DATA']中是否保存POST过来的数据取决于centent-Type的设置,即POST数据时
必须显式示指明Content-Type:
application/x-www-form-urlencoded,POST的数据才会存放到
$GLOBALS['HTTP_RAW_POST_DATA']中
Q2: PHP怎么请求soap。其中要调用的那个方法的参数是这个方法的对象参数。到底该怎么调用。
header('Content-Type: text/html; charset=UTF-8');
//链接
$http='';
//参数,很重要,之前搞的时候一直传不了参数过去,原来是这样的,搞死我了
$params=array('string'='xxx','string1'='xxxx');
$client = new SoapClient($http,array('encoding'='utf-8','cache_wsdl' = 0,'compression'=true));
$client-soap_defencoding = 'utf-8';
$client-xml_encoding = 'utf-8';
//请求返回的数据
$return = $client-$fun($params);//parameters
Q3: php 怎么接收soap请求post传递过来的xml数据?
//读raw inputJ就可以phpsoap请求数据了
$xml = file_get_contents('php://input');
关于phpsoap请求数据和php常见请求类型的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。







