如何在PHP项目中实现一个Soap通讯功能

介绍

这篇文章将为大家详细讲解有关如何在PHP项目中实现一个Soap通讯功能,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

& lt; ?php

函数HttpSoap(服务器、端口、美元$ url, $名称空间,行动,美元$ data) {
$ fp=@fsockopen(服务器、端口)美元;
如果(! $ fp) {
返回FALSE;
}其他{
$ soapData=https://www.yisu.com/zixun/ConstructData(名称空间,行动,美元$ data);
$长度=strlen ($ soapData);
=懊涝?文章url的HTTP/1.1美元\ r \ n";
$。=爸鞒秩?服务器\ r \ n"美元;
$。=? type: text/xml;charset=utf - 8 \ r \ n";
$。=澳谌莩ざ?长度\ r \ n"美元;
$。=癝OAPAction: \“名称空间行动美元\“\ r \ n \ r \ n";
美元。=$ soapData;
$。=癨 r \ n \ r \ n";
fputs (fp)美元;
stream_set_timeout (fp美元,2),
$头=啊啊?br/>,(行=美元削减(fgets (fp)美元)){
头美元。=$线干净\ n";
}
$ dataPos=大小写敏感(美元的头,“内容长度:“)+ 16;
$ dataEnd=大小写敏感(美元的头,“\ n", dataPos美元);
$ dataLength=substr(头,dataPos美元,dataEnd - dataPos美元);
$ data=https://www.yisu.com/zixun/";
if ($ dataLength祝辞0){
$ data=https://www.yisu.com/zixun/fread (fp, dataLength美元);
}
文件关闭(fp);
如果(strlen(元数据)!=$ dataLength | | $ dataLength & lt;=0) {
返回FALSE;
}
返回$ data;
}
}
函数ConstructData(名称空间,行动,美元$ data) {
$ soapData=https://www.yisu.com/zixun/?br/> & lt; ?xml version=?.0 \“;utf - 8编码=\“\”?在
\ r \ n";
soapData美元。=? lt; soap:信封xmlns: xsi=http://www.w3.org/2001/XMLSchema-instance \ \ xmlns: xsd=\“http://www.w3.org/2001/XMLSchema \“;xmlns: soap=\“\ r \ n # 39;在http://schemas.xmlsoap.org/soap/envelope/\“祝辞\ r \ n";
soapData美元。=?& lt; soap: Body> \ r \ n";
soapData美元。=?& lt;行动xmlns=\“美元命名空间\“祝辞\ r \ n";
foreach(数据作为name=美元比;美元值){
$ name=iconv (“GBK",“UTF-8",美元的名字),
$价值=https://www.yisu.com/zixun/iconv (“GBK”、“utf - 8”,美元值),
soapData美元。=?& lt; name>美元;value<美元/name>美元;\ r \ n";
}
soapData美元。=?& lt;/$ action> \ r \ n";
soapData美元。=?& lt;/soap: Body> \ r \ n";
soapData美元。=? lt;/soap: Envelope>“
返回soapData美元;
}
& lt; ?
$ data=https://www.yisu.com/zixun/array (
& # 39;用户# 39;=祝辞& # 39;测试& # 39;,//如果需要输入二进制数据请采用BASE64编码
& # 39;通过# 39;=祝辞& # 39;测试# 39;
);
回声HttpSoap (& # 39; sample.anyhost.com& # 39; 80年,& # 39;/sampleSoap.asmx& # 39;, & # 39; http://tempuri.org/& # 39;, & # 39;登录# 39;,元数据),
?在

关于如何在PHP项目中实现一个Soap通讯功能就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看的到。

如何在PHP项目中实现一个Soap通讯功能