广告
返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >php soap 方法如何调用
  • 721
分享到

php soap 方法如何调用

phpsoap 2015-01-05 12:01:24 721人浏览 才女
摘要

PHP soap 方法如何调用?php下调用soap实现对接PHP5下SOAP调用实现过程本文以某公司iPhone 6手机预约接口开发为例,介绍PHP5下SOAP调用的实现过程。一、基础概念SOAP(Simple Object Access

PHP soap 方法如何调用?

php下调用soap实现对接

PHP5下SOAP调用实现过程

本文以某公司iPhone 6手机预约接口开发为例,介绍PHP5下SOAP调用的实现过程。

一、基础概念

SOAP(Simple Object Access Protocol )简单对象访问协议是在分散或分布式的环境中交换信息的简单的协议,是一个基于XML的协议,它包括四个部分:SOAP封装(envelop),封装定义了一个描述消息中的内容是什么,是谁发送的,谁应当接受并处理它以及如何处理它们的框架;SOAP编码规则(encoding rules),用于表示应用程序需要使用的数据类型的实例; SOAP rpc表示(RPC representation),表示远程过程调用和应答的协定;SOAP绑定(binding),使用底层协议交换信息。

WSDL(WEB Service Description Language)就是描述XML Web服务的标准XML格式,WSDL由Ariba、Intel、IBM和微软等开发商提出。它用一种和具体语言无关的抽象方式定义了给定Web服务收发的有关操作和消息。就其定义来说,你还不能把WSDL当作一种对象接口定义语言,例如,CORBA或COM等应用程序体系结构就会用到对象接口定义语言。 WSDL保持协议中立,但它确实内建了绑定SOAP的支持,从而同SOAP建立了不可分割的联系。所以,当我在这篇文章中讨论WSDL的时候,我会假定你把SOAP作为了你的通讯协议。

SOAP和WSDL虽然是web service的两大标准,但是两者并没有必然的联系,都可以独立使用。它们之间的关系就类似Httphtml之间的关系。前者是一种协议,后者是对一个Web Server的描述。

二、PHP5下的配置

在php的的配置文件php.ini中,找到

extension=php_soap.dll

然后将前面的;号去掉,然后重启web服务

三、查询web service方法与参数、数据类型

某省电信公司的入单接口为http://***.******.com/services/AcceptedBusiness?wsdl
我们使用SoapClient的__geunctions()和__getTypes()方法查看该接口的方法,参数和数据类型
只有__getFunctions中列出的接口才能被soap调用。
在根目录下创建代码soap.php

<?php
header("content-type:text/html;charset=utf-8");try {    $client = new SoapClient("http://***.******.com/services/AcceptedBusiness?wsdl");    print_r($client->__getFunctions());    print_r($client->__getTypes());  
} catch (SOAPFault $e) {    print $e;
}
?>

在浏览器运行:http://localhost/soap.php后,返回结果如下

Array(
    [0] => ArrayOf_xsd_anyType introduceAcceptedBusiness(string $c3, string $c4, string $linkman, string $linknum, string $num, string $idcard, string $remark, string $address)
    [1] => ArrayOf_xsd_anyType introduceAcceptedBusinessByaiZhuangWei(string $subname, string $linkphone, string $idcard, string $address, string $businesstype, string $marketcode, string $surveycode, string $commanager, string $commanagerphone, string $bendiwang, string $fenju, string $zhiju, string $remark)
    [2] => string introduceAcceptedBusinessByStandardInterface(string $xmlStr)
    [3] => string introduceAcceptedBusinessByCallOut(string $xmlStr)
    [4] => string introduceAcceptedBusinessByYddj(string $xmlParam)
    [5] => ArrayOf_xsd_anyType queryAcceptedBusinessByAiZhuangWei(string $surveycode, string $starttime, string $endtime)
    [6] => string queryCallOutOrderByConfig(string $xmlParam)
)Array(
    [0] => anyType ArrayOf_xsd_anyType[]
)

其中有个方法 introduceAcceptedBusinessByStandardInterface(string $xmlStr),将是开发文档中提到的要使用的接口,参数为xml字符串

另外有的接口中提到有SoapHeader认证,这就需要加入__setSoapHeaders方法,具体可查看http://php.net/manual/zh/soapclient.setsoapheaders.php


四、提交入单

这一步就是需要根据开发文档拼接xml字符串,然后作为introduceAcceptedBusinessByStandardInterface的参数传入
创建acceptedbusiness.php,内容如下

<?php
header("content-type:text/html;charset=utf-8");try {    $client = new SoapClient('http://***.*******.com/services/AcceptedBusiness?wsdl');    $xml = "
    <?xml version='1.0' encoding='UTF-8' ?>
    <PACKAGE>
      <C3>**电信</C3>
      <C4></C4>
      <LINKMAN>张三</LINKMAN>
      <LINKNUM>13412341234</LINKNUM>
      <LINKADDRESS>广东深圳</LINKADDRESS>
      <REMARK>iPhone 6</REMARK>
      <CHANNEL></CHANNEL>
      <GRIDCODE>1111111111111111111111111111111</GRIDCODE>
      <AGENTCODE>2111</AGENTCODE>
      <KEY>1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111</KEY>
    </PACKAGE>
  ";    $return = $client->introduceAcceptedBusinessByStandardInterface($xml);    print_r($return);
} catch (SOAPFault $e) {    print_r('Exception:'.$e);
}
?>

在浏览器中执行后,返回

<?xml version="1.0" encoding="UTF-8"?>
<PACKAGE>
    <STATUS>0</STATUS>
    <REASON>入单成功!</REASON>
    <ORDERSEQ>2014100905523549742</ORDERSEQ>
</PACKAGE>

--结束END--

本文标题: php soap 方法如何调用

本文链接: https://www.lsjlt.com/news/752.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • php soap 方法如何调用
    php soap 方法如何调用?php下调用soap实现对接PHP5下SOAP调用实现过程本文以某公司iPhone 6手机预约接口开发为例,介绍PHP5下SOAP调用的实现过程。一、基础概念SOAP(Simple Object Access...
    99+
    2015-01-05
    php soap
  • php的soap方法怎么调用
    本篇内容介绍了“php的soap方法怎么调用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!php soap方法调用:1、在php.ini文件...
    99+
    2023-06-21
  • 如何使用SoapClient类进行PHP SOAP调用
    要使用SoapClient类进行PHP SOAP调用,可以按照以下步骤进行操作:1. 创建SoapClient对象:使用SoapCl...
    99+
    2023-09-27
    PHP
  • php方法如何调用方法
    这篇“php方法如何调用方法”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“php方法如何调用方法”文章吧。PHP是一种流行的...
    99+
    2023-07-05
  • php如何调用static方法
    本篇内容主要讲解“php如何调用static方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“php如何调用static方法”吧!php调用static方法:1、创建一个PHP示例文件;2、定义...
    99+
    2023-07-04
  • javascript如何调用php方法
    这篇文章给大家分享的是有关javascript如何调用php方法的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。javascript调用php的方法:首先创建一个HTML示例文件和PHP示例文件;然后在HTML中添...
    99+
    2023-06-06
  • php不同页面方法调用方法调用方法调用方法
    PHP是一种广泛使用的服务器端脚本语言,它支持多种不同的方法调用方式,使得程序开发者可以更加灵活地进行编程。本文将简要介绍PHP中不同页面方法调用的方法及其调用方式。一、函数的定义在PHP中定义函数可以使用以下的语法:function fu...
    99+
    2023-05-24
  • php如何调用抽象方法
    在 PHP 中,抽象方法是一种不能在抽象类中实现但必须在其实现类中实现的方法。抽象方法可以定义在抽象类或接口中,并且其定义方式类似于普通方法,但以 abstract 关键字开头并省略方法体实现。抽象方法必须在子类中覆写实现。如果您想学习如何...
    99+
    2023-05-14
  • php如何调用对象方法
    今天小编给大家分享一下php如何调用对象方法的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。一、创建对象在PHP中,调用对象方...
    99+
    2023-07-05
  • php内部方法如何调用
    这篇文章主要介绍“php内部方法如何调用”,在日常操作中,相信很多人在php内部方法如何调用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”php内部方法如何调用”的疑惑有所帮助!接下来,请跟着小编一起来学习吧...
    99+
    2023-07-05
  • php中如何异步调用方法
    php中异步调用方法的操作步骤在返回客户端的html代码中,嵌入ajax调用或者嵌入一个img标签,src指向要执行的耗时脚本。使用popen函数打开一个指向进程的管道,该进程由派生给定的command命令执行而产生。使用CURL,设置CU...
    99+
    2022-10-08
  • 如何在html中调用php方法
    这篇“如何在html中调用php方法”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“如何在html中调用php方法”文章吧。在...
    99+
    2023-07-05
  • 如何在PHP中使用SOAP函数
    随着互联网的发展,Web服务变得越来越普及,并且成为了许多企业和组织之间交换数据的重要方式。SOAP(Simple Object Access Protocol)是一种基于XML的通信协议,可以在Web服务中使用。在本篇文章中,我们将介绍如...
    99+
    2023-05-18
    使用 PHP SOAP函数
  • JS调用PHP和PHP调用JS的方法
    JS调用PHP和PHP调用JS的方法 1、JS方式调用PHP文件并取得PHP中的值 举一个简单的例子来说明: 如在页面test_json1中用下面这句调用: alert(jstext); 在test_json2.php中有这样一段PH...
    99+
    2023-09-21
    php javascript 开发语言
  • php如何指定调用某个方法
    PHP是一种非常流行的服务器端脚本语言,常用于Web开发和动态网页的生成。在PHP中,调用方法是非常重要的一个操作,因为它可以让我们方便地重复使用代码,并且可以让我们更加高效地完成各种编程任务。在本篇文章中,我们将详细讨论在PHP中如何指定...
    99+
    2023-05-22
  • php如何调用文件类的方法
    要调用一个文件类的方法,首先需要先创建一个该类的实例对象,然后通过该对象调用相应的方法。以下是一个示例代码:```php```在上述...
    99+
    2023-10-09
    php
  • 如何在js中调用php的方法
    JavaScript与PHP是两种不同的编程语言,前者运行在浏览器中,而后者则运行在服务器端。尽管两种语言的运行环境不同,但是它们可以通过特定的方式来进行交互。在本文中,我们将会介绍如何在JavaScript中调用PHP方法。一、使用AJA...
    99+
    2023-05-22
  • php如何调用class类中的方法
    这篇文章主要介绍“php如何调用class类中的方法”,在日常操作中,相信很多人在php如何调用class类中的方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”php如何调用class类中的方法”的疑惑有所...
    99+
    2023-07-02
  • php如何通过变量调用方法
    这篇“php如何通过变量调用方法”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“php如何通过变量调用方法”文章吧。1.使用可...
    99+
    2023-07-06
  • php调用css的方法
    小编给大家分享一下php调用css的方法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!方法:首先将css样式代码写在一个“.css”文件中;然后在PHP文件中,使...
    99+
    2023-06-15
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作