php调用webservice的几种方法
来源:互联网 发布:sms软件 编辑:程序博客网 时间:2024/05/22 12:23
1.WSDL模式:
- $soap = new SoapClient("http://192.168.6.69:8899/Service1.asmx?wsdl");
- $result2 = $soap->HelloWorld(array(
- 'myName'=>'aaa',
- 'youName'=>'bbb'
- ));
- print_r($result2);
2.non-WSDL模式:
2.1使用SoapParam传递参数:
- $soap = new SoapClient(null,array('location'=>'http://192.168.6.72:8036/Service1.asmx','uri'=>'http://tempuri.org/'));
- $result2 = $soap->__soapCall("HelloWorld",
- array(new SoapParam("aaa", "myName"),new SoapParam("bbb", "youName")),
- //array(new SoapParam("aaa", "ns1:myName"),new SoapParam("bbb", "ns1:youName")),
- array('soapaction'=>'http://tempuri.org/HelloWorld'));
- print_r($result2);
2.2使用SoapVar传递参数
- $ns = 'http://tempuri.org/';
- $soap = new SoapClient(null,array('location'=>'http://192.168.6.72:8036/Service1.asmx','uri'=>$ns));
- $result2 = $soap->__soapCall("HelloWorld",
- array(new SoapVar("AAA", XSD_STRING, null, $ns, "myName", $ns),
- new SoapVar("GBBB", XSD_STRING, null, $ns, "youName", $ns)),
- array('soapaction'=>'http://tempuri.org/HelloWorld'));
- print_r($result2);
- $soap = new SoapClient(null,array('location'=>'http://192.168.6.47/onvif/device_service','uri'=>'http://www.onvif.org/ver10/device/wsdl/'));
- //ws
- $ns_wsse = "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd";//WS-Security namespace
- $ns_wsu = "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd";//WS-Security namespace
- $userT = new SoapVar('admin', XSD_STRING, NULL, $ns_wsse, NULL, $ns_wsse);
- $passwT = new SoapVar('NnYZe7oD81Kd8QRS4tUMze/2CUs=', XSD_STRING, NULL, $ns_wsse, NULL, $ns_wsse);
- $createdT = new SoapVar(time(), XSD_DATETIME, NULL, $ns_wsu, NULL, $ns_wsu);
- class UsernameT1 {
- private $Username;
- //Name must be identical to corresponding XML tag in SOAP header
- private $Password;
- // Name must be identical to corresponding XML tag in SOAP header
- private $Created;
- function __construct($username, $password, $created) {
- $this->Username=$username;
- $this->Password=$password;
- $this->Created=$created;
- }
- }
- $tmp = new UsernameT1($userT, $passwT, $createdT);
- $uuT = new SoapVar($tmp, SOAP_ENC_OBJECT, NULL,
- $ns_wsse, 'UsernameToken', $ns_wsse);
- class UserNameT2 {
- private $UsernameToken;
- //Name must be identical to corresponding XML tag in SOAP header
- function __construct ($innerVal){
- $this->UsernameToken = $innerVal;
- }
- }
- $tmp = new UsernameT2($uuT);
- $userToken = new SoapVar($tmp, SOAP_ENC_OBJECT, NULL, $ns_wsse, 'UsernameToken', $ns_wsse);
- $secHeaderValue=new SoapVar($userToken, SOAP_ENC_OBJECT, NULL,
- $ns_wsse, 'Security', $ns_wsse);
- $secHeader = new SoapHeader($ns_wsse, 'Security', $secHeaderValue);
- $result2 = $soap->__soapCall("GetDeviceInformation",array(),null,$secHeader);
- echo $result2;
0 0
- php调用webservice的几种方法
- php调用webservice的几种方法
- php调用webservice的几种方法
- php调用webservice的几种方法
- 几种调用WebService的方法
- 几种调用WebService的方法
- WebService的几种调用方法
- 几种调用WebService的方法
- 几种调用WebService的方法
- 几种调用WebService的方法
- js调用WebService的几种方法
- 几种调用webservice的方法
- js调用WebService的几种方法
- java 调用webservice的几种方法
- [转]几种调用WebService的方法
- webService调用的几种方法
- webService调用几种方法
- Java调用.NET webservice方法的几种方式
- CF 340A The Wall
- 模拟新浪微博随便看看
- JSP——EL表达式
- 算法六:floyd-warshall和dijkstra
- 完美解决Android SDK Manager无法更新
- php调用webservice的几种方法
- Enea公司----OSE/OSEck RTOS
- 云端开源⾼性能技术架构调研分析报告
- 关于zabbix agent安装配置的一些心得
- RequestAnimationFrame更好的实现Javascript动画
- (三层架构入门)最基本的三层架构搭建方法(详细过程及所有代码)
- 每天一个Linux命令-2(wc)
- Android Sdk升级问题(虽然有点慢,但起码可靠)
- ZOJ 1364 Machine Schedule(二分图最大匹配)