php soap调用asp.net webservice
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了php soap调用asp.net webservice,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2459字,纯文字阅读大概需要4分钟。
内容图文
原文:php soap调用asp.net webservice首先做一下准备工作,找到安装环境里的php.ini把;extension=php_soap.dll去掉前面的;。我这里使用的是wamp,php-php扩展里把php_soap启用就可以了。
一、用vs2008新建一个webservice:using System;
using System.Linq;
using System.Web;
using System.Web.Services;
using System.Web.Services.Protocols;
using System.Xml.Linq;
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
// 若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消对下行的注释。
// [System.Web.Script.Services.ScriptService]
public class Service : System.Web.Services.WebService
{
public Service () {
//如果使用设计的组件,请取消注释以下行
//InitializeComponent();
}
#region 返回一个字符串测试数据
[WebMethod(Description = "测试方法")]
public string trainNumber(string name)
{
return DateTime.Now.ToString()+"——"+name;
}
#endregion
#region 返回一个整形
[WebMethod(Description="测试方法")]
public int trainInt(int ID)
{
return ID;
}
#endregion
}
二、使用iis发布webservice,并记下webservice地址http://localhost/SerPhp/Service.asmx。
(发webservice和发布一般网站是一样的。)
三、新建一个php文件
3.1、定义一下变量,并赋值webservice的地址
$ws=http://localhost/SerPhp/Service.asmx?wsdl",这里的wsdl是一种通信模式
3.2、创建一个SoapClient对象 $client=new SoapClient($ws);
3.3、查看WebService的方法和方法里的参数需要的类型(这里可以使用var_dump输出,查看webservice的方法)
查看方法$client->__getFunctions()
查看方法参数的类型$client->__getTypes()
3.4、给所需要的参数赋值(需要说明的是:如果有多个参数时可以使用不$parameters,$parameters是我本人使用的,可以使用不参数名)
$parameters=array("name"=>"张三")
3.5、调用方法,并取得返回值:$username=$client->trainNumber($parameters)
3.6、打印返回的结果:这里提供三种方法var_dump($username)、print_r($username)、foreach($username as $key=>$var){echo var}
<?php
$ws="http://localhost/SerPhp/Service.asmx?wsdl";
$client=new SoapClient($ws);
echo "SOAP服务器提供的开放函数:";
echo ‘<pre>‘;
var_dump($client->__getFunctions());
echo ‘</pre>‘;
echo "SOAP服务器提供的Type:";
echo ‘<pre>‘;
var_dump($client->__getTypes());
echo ‘</pre>‘;
echo "执行trainNumber的结果";
try{
$parameters1=array(‘name‘=>"张黎明");
$parameters2=array("ID"=>123);//123带双引号不带都一样的啊
$password=$client->trainInt($parameters2);
$username=$client->trainNumber($parameters1);
}catch(SoapFault $fault){
echo "Fault! code:".$fault->faultcode."string:".$fault->faultstring;
}
//echo(htmlspecialchars($client->__getLastRequest()));
echo "<pre>";
var_dump($password);
foreach($password as $key=>$val1){
echo $val1;
}
echo "</br>";
var_dump($username);
print_r($username);
foreach($username as $key=>$val){
echo $val;
}
echo "</pre>";
?>
原文:http://www.cnblogs.com/lonelyxmas/p/4139313.html
内容总结
以上是互联网集市为您收集整理的php soap调用asp.net webservice全部内容,希望文章能够帮你解决php soap调用asp.net webservice所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。