本文实例讲述了PHP中soap的用法,分享给大家供大家参考。具体用法分析如下:
PHP 使用soap有两种方式。
一、用wsdl文件
服务器端:
<?php class service { public function HelloWorld() { return "Hello"; } public function Add($a,$b) { return $a+$b; } } $server=new SoapServer('soap.wsdl',array('soap_version' => SOAP_1_2)); $server->setClass("service"); $server->handle(); ?>
<?xml version="1.0" encoding="UTF-8"?> <wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://localhost/interface/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="soap" targetNamespace="http://localhost/interface/"> <wsdl:types> <xsd:schema targetNamespace="http://localhost/interface/"> <xsd:element name="HelloWorld"> <xsd:complexType> <xsd:sequence> <xsd:element name="in" type="xsd:string"/> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:element name="HelloWorldResponse"> <xsd:complexType> <xsd:sequence> <xsd:element name="out" type="xsd:string"/> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:element name="Add"> <xsd:complexType> <xsd:sequence> <xsd:element name="in" type="xsd:int"></xsd:element> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:element name="AddResponse"> <xsd:complexType> <xsd:sequence><xsd:element name="out" type="xsd:int"></xsd:element> </xsd:sequence> </xsd:complexType> </xsd:element> </xsd:schema> </wsdl:types> <wsdl:message name="AddRequest"> <wsdl:part name="a" type="xsd:int"></wsdl:part> <wsdl:part name="b" type="xsd:int"></wsdl:part> </wsdl:message> <wsdl:message name="AddResponse"> <wsdl:part name="c" type="xsd:int"></wsdl:part> </wsdl:message> <wsdl:portType name="TestSoap"> <wsdl:operation name="Add"> <wsdl:input message="tns:AddRequest"></wsdl:input> <wsdl:output message="tns:AddResponse"></wsdl:output> </wsdl:operation> </wsdl:portType> <wsdl:binding name="soapSOAP" type="tns:TestSoap"> <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" /> <wsdl:operation name="Add"> <soap:operation soapAction="http://localhost/interface/Add" /> <wsdl:input> <soap:body use="literal" namespace="http://localhost/interface/" /> </wsdl:input> <wsdl:output> <soap:body use="literal" namespace="http://localhost/interface/" /> </wsdl:output> </wsdl:operation> </wsdl:binding> <wsdl:service name="TestSoap"> <wsdl:port binding="tns:soapSOAP" name="soapSOAP"> <soap:address location="http://localhost/interface/myservice.php"/> </wsdl:port> </wsdl:service> </wsdl:definitions>
<?php $soap = new SoapClient('http://localhost/interface/soap.wsdl'); echo $soap->Add(1,2); ?>
服务器端:
<?php class service { public function HelloWorld() { return "Hello"; } public function Add($a,$b) { return $a+$b; } } $server=new SoapServer(null,array('uri' => "abcd")); $server->setClass("service"); $server->handle(); ?>
<?php try{ $soap = new SoapClient(null,array( "location" => "http://localhost/interface/soap.php", "uri" => "abcd", //资源描述符服务器和客户端必须对应 "style" => SOAP_RPC, "use" => SOAP_ENCODED ));echo $soap->Add(1,2); }catch(Exction $e){ echo print_r($e->getMessage(),true); } ?>
希望本文所述对大家的PHP程序设计有所帮助。
本文向大家介绍PHP实现Soap通讯的方法,包括了PHP实现Soap通讯的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了PHP实现Soap通讯的方法。分享给大家供大家参考。具体实现方法如下: 希望本文所述对大家的PHP程序设计有所帮助。
本文向大家介绍PHP使用SOAP扩展实现WebService的方法,包括了PHP使用SOAP扩展实现WebService的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了PHP使用SOAP扩展实现WebService的方法。分享给大家供大家参考,具体如下: 最近在一个PHP项目中对接外部接口涉及到WebService,搜索引擎上相关文章不是很多,找到的大都是引用一个号称很强大的开源软件
这是在 PHP 应用中开发 SOAP 通讯程序的工具包,可用于客户端和服务器端的开发。
我有一个PHP中的SOAP客户机,它调用WSDL服务。其中一个函数返回base64binary数据。我一直在试着解码,但没有任何运气。 base64_decode($encoded_base64data)将不起作用。我尝试使用带有各种参数的base_convert()和mv_convert_encoding(),但无法得到正确的结果。 编码的结果数据以: 谢谢 编辑 我使用一个新的__doRequ
问题内容: 由于php.net上的SOAP手册不是很友好,并且我找不到任何好的示例,因此我将在此处发布我的问题。 如何创建如下所示的PHP SOAP请求? 请注意: 有用户/通过身份验证 SSL连接 任何建议/链接/示例,不胜感激。 问题答案: 经过测试,可以正常工作! 使用https,用户名和密码
本文向大家介绍C# Soap调用WebService的实例,包括了C# Soap调用WebService的实例的使用技巧和注意事项,需要的朋友参考一下 实例如下所示: 以上这篇C# Soap调用WebService的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持呐喊教程。