一个php创建webservice,并通过c#调用的真实实例(转)

摘要:
本文目录如下一、php创建webservice二、生成.wsdl文件三、c#调用php的webservice一、php创建webservice1、php环境我用的是windows的apache,php.ini文件中extension=php_soap.dll去掉注释即可,前提是已经安装了php_soap.dll。wsdl4、点击IE浏览器的文件-另存为菜单,保存为TestWebService.wsdl文件,放到和TestWebService.php同目录下。

https://www.cnblogs.com/sequh/archive/2015/09/18/4819832.html

最近需要用php创建webservice供C#和JAVA来调用,通过3天的搜索和尝试,终于成功在C#下调用,JAVA的调用还没开始,为防止忘记,在这里记录下来全过程。

本文参考了许多文章,文中也采用了其中的示例。

本文目录如下

一、php创建webservice

二、生成.wsdl文件

三、c#调用php的webservice

一个php创建webservice,并通过c#调用的真实实例(转)第1张

一、php创建webservice

1、php环境

我用的是windows的apache,php.ini文件中 extension=php_soap.dll 去掉注释即可,前提是已经安装了 php_soap.dll。

环境测试,在cmd窗口中输入如下命令来检测soap是否正常

c:>php --ini    ;用来查看ini文件中的soap模块是否正常,它和phpinfo()看到的未必一致

c:>php -i |findstr "soap"  ;用来看soap模块是否正常

c:>php -r "new SoapClient('http://localhost/wsdl/person.wsdl');"  ;用来直接运行soap

2、php服务端文件(TestWebService.php)

View Code

二、生成.wsdl文件

本来我想简单一点,用SoapDiscovery.class.php来生成,可是总是出现各种奇葩问题;迫不得已安装了Zend Studio12.5,可是还是出现另外的奇葩问题;最终我找到一个可行的方案,是用vs2010来生成,C#调用没有问题。

1、打开vs2010,新建项目-ASP.NET空Web应用程序;

2、解决方案资源管理器-项目(右键)-添加-新建项-web服务,名称修改为TestWebService.asmx,代码如下:

View Code

HelloWorld()和GetArray()是我们希望暴露的方法,我写成空方法了。

3、F5运行,在弹出的IE浏览器中复制运行的url地址

http://localhost:63463/TestWebService.asmx

打开一个新的IE浏览器窗口,粘贴并修改为,然后回车,此时窗口会展示wsdl文件的xml格式内容:

http://localhost:63463/TestWebService.asmx?wsdl

4、点击IE浏览器的文件-另存为菜单,保存为TestWebService.wsdl文件,放到和TestWebService.php同目录下。

代码如下:

View Code

把http://localhost:63463/TestWebService.asmx 修改为你最终要访问的网址,我的是:

http://192.168.1.5/wsdl/006/TestWebService.php

三、c#调用php的webservice

1、新建网站-ASP.NET网站;

2、解决方案资源管理器-项目(右键)-添加Web引用,在URL中输入:

http://192.168.1.5/wsdl/006/TestWebService.php?wsdl

会显示出如下窗口:

一个php创建webservice,并通过c#调用的真实实例(转)第2张

点击[添加引用]

3、修改Default.aspx.cs代码为:

View Code

4、CTRL+F5运行,看到最上面出现“welcome to dongzi world”,表示成功调用!

一个php创建webservice,并通过c#调用的真实实例(转)第3张

免责声明:文章转载自《一个php创建webservice,并通过c#调用的真实实例(转)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇mac下安装fastdfs 完全版mac终端(terminal)里的快捷键下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

hprose for php

1.客户端和服务器简单DEMO 通过工厂方法 create 创建客户端 $client = HproseClient::create($uriList = null[, $async = true]); create 方法与构造器函数的参数一样,返回结果也一样。但是第一个参数 $uriList 不能被省略。 使用 create 方法更加方便,因此,除非...

PHP输入流php://input介绍

在使用xml-rpc的时候,server端获取client数据,主要是通过php输入流input,而不是$_POST数组。所以,这里主要探讨php输入流php://input 对一php://input介绍,PHP官方手册文档有一段话对它进行了很明确地概述。 “php://input allows you to read raw POST data. It...

PHP-异常处理

异常说明 异常是推荐的错误处理方式,传统的错误处理方式要判断并一层一层返回到调用点,如下所示: <?php class Code { protected $len; public function make(int $len) { $this->len = $len; if ($this-...

php-兄弟连(2014版)

主讲:高洛峰 一、PHP全系     版本:5.4 二、MySQL全系 三、HTML&CSS全系 四、JavaScript全系 参考资料:《细说PHP》第二版 2012年出版               《细说PHP》第三版 2014年出版 微博:bbs.lampbrother.net     weibo.com/gaoluofeng B/S结构软...

CentOS7彻底卸载Erlang和RabbitMQ

CentOS7卸载Erlang和RabbitMQ # 卸载erlang yum list | grep erlang yum -y remove erlang-* rm -rf /usr/lib64/erlang # 卸载RabbitMQ yum list | grep rabbitmq yum -y remove rabbitmq-server.no...

PHP pdf转png windows版本

链接:https://pan.baidu.com/s/1Bli-2HkucRTYTeujkcsmjg&shfl=sharepset提取码:2une 1.php_imagick扩展    (1)下载php_imagick扩展   下载地址一: http://windows.php.net/downloads/pecl/releases/imagic...