导航:首页 > 编程语言 > phpwsdl参数

phpwsdl参数

发布时间:2023-03-19 12:05:57

php soap扩展做webservice的时候 如何传入数组或者对象参数

SOAP可以传递数组和对象,比较复杂不便详述。你可以在网上查阅SOAP的规范。SOAP的对象需要定义在wsdl里。这就要求java调用方也定义这些对象。

使用SOAP要注意一个问题:SOAP没有统一的标准,不同语言对SOAP的实现有微小差别,有可能导致不兼容。

编写SOAP的wsdl是件麻烦而且痛苦的事。你可以试试使用第三方库。Yii框架就提供一个强大的SOAP解决方案。你可以通过注释和类,自动生成wsdl。个人不推荐在PHP中使用SOAP,因为PHP不像其他语言类似JAVA、.NET,提供强大的SOAP支持。

你可以考虑轻量级API,也可以考虑XML-RPC。并不比SOAP差,而且很灵活。

望采纳,谢谢!

❷ php 做的web services 中的wsdl描述文件,我想定义某方法的参数数据类型为数组怎么定义

下面这样:
<part name="t_c" type="xsd:int[]" />
<part name="t_c" type="xsd:string[]" />

❸ php 中 webservice 是如何使用的 调用别人的接口 参数是如何传递的

php调用web service还是非常简单的。下面用一个例子说明:
web service服务是查询QQ用户是否在线
使用php5开发客户端:
<?php
try {
//$client = new SoapClient("HelloService.wsdl",array('encoding'=>'UTF-8'));
$client = new SoapClient("webservices/qqOnlineWebService.asmx?wsdl");
var_mp($client->__getFunctions());
print("");
var_mp($client->__getTypes());
print("");

class qqCheckOnline{
var $qqCode = "10000";
};
$arrPara = array(new qqCheckOnline);

$arrResult = $client->__Call("qqCheckOnline",$arrPara);//$client->qqCheckOnline($arrPara);

echo $arrResult->qqCheckOnlineResult . "";
} catch (SOAPFault $e) {
print $e;
}
?>
代码确实很简单吧,创建SoapClient对象时,可以使用保存在本地WSDL文件,也可以使用远程的地址,后面的array数组里可以带上很多的参数,具体参数可以查php的SoapClient帮助,这里带的是字符集编码,如果调用方法的参数里有中文,一定要指定字符集编码,否则会出错。

用web service前可以先调用SoapClient的__geunctions()和__getTypes()方法看一下你要调用的
web service暴露的方法,参数和数据类型,需要注意的是传入的参数名一定要和soapclient里面定义的一致,否则参数是传不过去的。
需要使用SoapClient的__soapCall()或__call()方法,具体使用方法可以查php的帮助文档。如果参数要求是一个结构体,请用类代替,如上面的代码。
另外发现个问题,如果web service方法返回的是xml格式的字符串,php接收到以后会自己把数据内容解析出来,而不是xml字符串.

❹ php生成WEBSERVICE。wsdl 不能传递参数

看看编码是否正确,也可以通过一些网络抓包工具来看看,转输的数据是不是格式正确等

❺ php调用sap和.net的webservices接口

php连接sapwebservices接口

public function getwebservice($param){

  $user = 'username';

  $password = 'password';

  $wsdl = '*****';   /*wsdl地址*/

$SOAP_CONFIG = array(

          'login' => $user,

        'password' => $password,

          'trace' =>true,

          'soap_version'=>SOAP_1_2,

          'connection_timeout' => 50,

          'encoding' => 'UTF-8',

          'cache_wsdl' => WSDL_CACHE_NONE,

          'keep_alive' => false

          );

        try {

                $client = new \SoapClient($wsdl, $SOAP_CONFIG); //调用sap里的接口

                /* $param= array(

                        '参数1'    =>    '1',

                        '参数2'    => '2',

                        '参数3'    =>  '3',

                        '参数4'    =>    '4');*/

                $ve=$client->__call("ZSdSoInfo", array($param));

              return $ve;

    } catch (Exception $e) {

                  print $e->getMessage();

      }

}

php链接.net接口

$ws = "http://*****?wsdl";//webservice服务的地址

    $client = new SoapClient ($ws);

    $result=$client->kelOtp(array('参数1'=>参数1,'参数2'=>参数2);

    $a= $result->kelOtpResult;/

❻ 怎么根据一段wsdl代码找出具体方法以及参数

可以引出为”可执行jar“(项目必须有mian方法),然后双击运行即可。
第一步:在项目上右击,选择”Export“,之后找到”Runnable Jar file“。

第二步:在”首橘Launch“下拉选中选择”main“方法入口类,然后选择”Browse“后,输入”jar“名称,点击”Finsh“脊祥即可完成可运行jar制樱芹搏作。

❼ PHP 怎样获取,wsdl的数据,有客户端

建立一个包含两个operations(int Adder(int,int))的Web服务

<?php
//server.php
require("nusoap/lib/nusoap.php"); //导入nusoap.php
$server=new soap_server(); //声明一个soap_server对象
$server->configureWSDL('HelloWorld','urn:HelloWorld'); // 配置WSDL
$server->wsdl->schemaTargetNamespace='urn:HelloWorld'; //定碰薯灶义目标命名空间
$server->register("Adder", //注册Adder
array('format'=>'xsd:int','fuck'=>'xsd:int'), //参数类型
array('return'手升=>'xsd:int'), //返回笑扮值类型
'urn:HelloWorld',
'urn:HelloWorld#Adder');
function Adder($a,$b)
{
return ($a+$b);
}
$HTTP_RAW_POST_DATA=isset($HTTP_RAW_POST_DATA)?$HTTP_RAW_POST_DATA:'';
$server->service($HTTP_RAW_POST_DATA);
?>

访问http://localhost/server.php?wsdl即可得该服务的WSDL文档

❽ php怎么生成wsdl文件

办法有两种:
1.zend studio生成
对于zend studio 9之前的版本貌似直接生成:
File ->New -> Other-> Webservice-> WSDL

对于zend studio 9需要安装wsdl插件:
1、打开zendstudio9,选择help(帮助)->welcome
2、在右边的列表中找到WSDL Support,勾选
3、点击Apply changes(应用修改)
4、zde会自动安装,然后提示要重启,点击restart now(现在重新启动)

wsdl支持安装完毕,下面我们来生成一个wsdl文件,步骤如下:
1、选择保存wsdl的项目文件夹
2、右键-new(新建)->other(其他)
3、在弹出的对话框中选择web services,在下级菜单中选择WSDL file,点击next进入下一步
4、命名你的wsdl文件,点击next进入下一步
5、修改target namespace(目标名称空间),其他不变,点击finish。
2.利用SoapDiscovery.class.php生成

❾ php怎么读取wsdl文档

正常情况只要
$client = new SoapClient('wsdl的url');
$Cardholder = $client->retrieveCardholder($a0,$a1,$a2);
就可以了

这种问题属于严重"环境相关",你那拥有测试环境比没有环境的其他人更有优势的
如果搞不定,也尽量把出错信息、代码等原始环境告诉其他人。 切忌自己解释概括

既然语法层面和使用层面都解决不了,你的问题属于“调试层面”,
请给出url和测试帐户,别人替你调试吧。

❿ 如何实现php wsdl webservice 让我的客户端访问

首先我创建的文件有:

api.php api的接口类文件

api.wsdl 我创建产生的最后要调用的接口文件

cometrue.php 注册service api类内容的所有内容的执行文件

creat_wsdl.php 创建wsdl文件的执行方法文件

SoapDiscovery.class.php 必须要调用的soap类文件(可在网上查询喊薯蚂下载)

第一步 :创建一个service的文件夹专门存放您的api接口项目

第二步:下载SoapDiscovery.class.php类文件,放在您的service文件夹里面

第三步:在手改service文件夹下面创建郑埋您自己api接口类文件api.php,

阅读全文

与phpwsdl参数相关的资料

热点内容
单片机状态周期 浏览:620
lua中的android 浏览:441
加密贵还是植发贵 浏览:662
阳光压缩机继电器 浏览:969
修改阿里云服务器密码 浏览:815
lk4102加密芯片 浏览:588
怎么更改app店面 浏览:489
设备部门如何做好服务器 浏览:849
androido下载 浏览:478
神奇高量战法副图源码 浏览:830
汇编语言设计凯撒密码加密器 浏览:392
主次梁加密是加在哪里 浏览:664
模板匹配算法matlab 浏览:825
外地程序员去北京 浏览:24
安卓机换苹果12如何转移数据 浏览:420
互联网ntp服务器地址及端口 浏览:613
pdf到word转换器 浏览:269
飞行解压素材 浏览:498
51单片机指令用背吗 浏览:936
unityai算法 浏览:834