当前位置:首页 » 编程语言 » phpnetwebservice

phpnetwebservice

发布时间: 2022-04-26 00:14:41

1. 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字符串.

2. .net调用php的webservice时的安全身份认证该怎么做谁做过给点思路

webservice传递的参数中可以包括几个系统级的验证参数,比如客户端独有的ID,密码,时间戳。
然后客户端通过约定好的加密方式把这几个参数加密后得到一个密码字符串,三个参数连加密结果一起发过去。
服务器端也按同样方式把这三个参数加密一次,如果得到的结果和客户端发来的相同,就通过认证。
时间戳是发送的时间,毫秒级的,这个一直在变,所以每次的加密结果都不同,即使被人拦截到了也不能重用上一次的加密结果。记得设置时间戳的超时和判断大小,不要让过时的消息骗了你

3. webservice接口怎么写 php

webservice 发展了好久了,有好多种客户端部署调用方式 ,流程大致是先创建服务,再调用。
下面的代码是创建一个简单的Webservice服务.
server.php
<?php

require_once "lib/nusoap.php";
function webserver() {
return "This is a Webservice Server";
}
$soap = new soap_server;
$soap->register('webserver');
$soap->service($HTTP_RAW_POST_DATA);
?>

上面的代码就创建了一个Webservice服务程序,接下来创建调用Webservice接口的程序:
<?php
require_once "soap/lib/nusoap.php";

$web_url = "";
$client = new soapclient($web_url."/server.php");

$param = array();
$ret = $client->call('webserver', $param, $web_url, $web_url);

echo $ret;

?>
基本上流程就是这样,当然,实际应用上能写出很复杂的东西,这个你可以找找相关资料学习一下,上面的php调用Webservice程序是通用的,适合于PHP调用其它ASP.NET及Java等各类语言的Webservice接口。一些技术博文里有很详细的介绍和学习。

参考地址:

4. PHP处理.Net的webservice返回的dataset

AjaxMethod()]
public DataSet GetDataSet()
{
OleDbConnection conn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:工作项目分析 estdb.mdb;Persist Security Info=True;");
DataSet ds = new DataSet();
try
{
OleDbCommand cmd = conn.CreateCommand();
cmd.CommandText = "select * from t_name";
cmd.CommandType = CommandType.Text;

OleDbDataAdapter da = new OleDbDataAdapter(cmd);
da.Fill(ds);
return ds;
}
catch
{
conn.Close();
throw;
}
}

<script language="JavaScript">

// var ds =test.GetDataTable().value; //table数据源
//alert(ds.Rows[i].level2;

function getDataSet()
{
var ds =test.GetDataSet().value;
if(ds != null && typeof(ds) == "object" && ds.Tables != null)
{
var s = new Array();
s[s.length] = "<table style='border: #000000 1px solid; color: #993333; font-family: 'Microsoft Sans Serif'; background-color: #ffff99;'>";

for(var i=0; i<ds.Tables[0].Rows.length; i++)
{
s[s.length] = "<tr>";
s[s.length] = "<td>" + ds.Tables[0].Rows[i].id + "</td>";
s[s.length] = "<td>" + ds.Tables[0].Rows[i].f_date + "</td>";
s[s.length] = "<td>" + ds.Tables[0].Rows[i].f_name + "</td>";
s[s.length] = "</tr>";
}

s[s.length] = "</table>";
document.getElementById("div1").innerHTML = s.join("");
}
else
{
alert("调用Ajax接口函数错误!");
}
}
</script>

通过js调用WebService

另外,团IDC网上有许多产品团购,便宜有口碑

5. php 调用.net的webservice 进行身份认证问题

这种情况,只能在服务器的IIS上设置了,就像操作系统一样,做一个guest用户名,默认为可访问的用户,但权限受到限制;
PHP做不了这种匿名的认证!

6. PHP如何向.NET接口webservice发送url请求 获取.net的内容

按照约定好的接口定义,用SOAP或者HTTP直接发请求即可,你试试直接请求服务的URL,获取返回的XML然后解析看看

7. PHP调用.net的wcf和webservice服务

PHP要么用第三方的soap封装类,或者用自带的扩展soap client,这个默认是关闭的。需要去php.ini进行修改。

soap client :
$soap = new SoapClient('http://127.0.0.1/soap_ss.php?wsdl');
$reData = $soap->Helloworld(array('in0'=>'Ken'));

具体的传递的参数、方法可以直接在浏览器访问查看接口

8. net怎么调用php的webservice

<?php
$client = new SoapClient('http://webservice.webxml.com.cn/WebServices/MobileCodeWS.asmx?wsdl');
$parm=array('mobileCode'=>'1528604','userID'=>'');
$result=$client->getMobileCodeInfo($parm);
echo ($result->getMobileCodeInfoResult);
?>

测试通过

热点内容
吃鸡低配置手机如何开极致画质 发布:2025-05-16 18:15:20 浏览:191
空密码访问 发布:2025-05-16 18:08:51 浏览:892
腾讯云服务器安全规则设置 发布:2025-05-16 17:51:33 浏览:650
k3服务器不可用怎么办 发布:2025-05-16 17:51:30 浏览:537
编辑html源码 发布:2025-05-16 17:45:45 浏览:65
边的存储方法 发布:2025-05-16 17:33:16 浏览:927
海量服务器怎么拆 发布:2025-05-16 17:31:07 浏览:211
运行与编译的区别 发布:2025-05-16 17:25:02 浏览:824
c语言for中continue 发布:2025-05-16 17:20:14 浏览:648
ftp储存 发布:2025-05-16 17:04:08 浏览:505