一个php创建webservice,并通过c#调用的真实实例(转)
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
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)
二、生成.wsdl文件
本来我想简单一点,用SoapDiscovery.class.php来生成,可是总是出现各种奇葩问题;迫不得已安装了Zend Studio12.5,可是还是出现另外的奇葩问题;最终我找到一个可行的方案,是用vs2010来生成,C#调用没有问题。
1、打开vs2010,新建项目-ASP.NET空Web应用程序;
2、解决方案资源管理器-项目(右键)-添加-新建项-web服务,名称修改为TestWebService.asmx,代码如下:
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同目录下。
代码如下:
把 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
会显示出如下窗口:
点击[添加引用]
3、修改Default.aspx.cs代码为:
4、CTRL+F5运行,看到最上面出现“welcome to dongzi world”,表示成功调用!
一个php创建webservice,并通过c#调用的真实实例(转)的更多相关文章
- 一个php创建webservice,并通过c#调用的真实实例
最近需要用php创建webservice供C#和JAVA来调用,通过3天的搜索和尝试,终于成功在C#下调用,JAVA的调用还没开始,为防止忘记,在这里记录下来全过程. 本文参考了许多文章,文中也采用了 ...
- 如何使用C#创建WebService
使用C#创建WebService,服务端的webservice是必须,中间的soap,Xml我们不用去关心.下面是使用C#创建WebService的简单介绍. AD:51CTO技术沙龙 | 赋予APP ...
- (转)Web Service入门简介(一个简单的WebService示例)
Web Service入门简介 一.Web Service简介 1.1.Web Service基本概念 Web Service也叫XML Web Service WebService是一种可以接收从I ...
- Web Service入门简介(一个简单的WebService示例)
Web Service入门简介 一.Web Service简介 1.1.Web Service基本概念 Web Service也叫XML Web Service WebService是一种可以接收从I ...
- C#中WebService的创建、部署和调用的简单实例
webservice 可以用于分布式应用程序之间的交互,和不同程序之间的交互. 概念性的东西就不说太多,下面开始创建一个简单的webservice的例子. 一:WebService的创建开发 先新建一 ...
- 一个简单的webservice的demo(下)winform异步调用webservice
绕了一大圈,又开始接触winform的项目来了,虽然很小吧.写一个winform的异步调用webservice的demo,还是简单的. 一个简单的Webservice的demo,简单模拟服务 一个简单 ...
- 一个简单的Webservice的demo(中)_前端页面调用
首先新建项目,这里有两种调用方式,为了能方便理解,新建页面WebserviceTest如下图: 先引用写好的服务,这里用上次写好的服务.见上次写的一个简单的Webservice的demo,简单模拟服务 ...
- 22.编写一个类A,该类创建的对象可以调用方法showA输出小写的英文字母表。然后再编写一个A类的子类B,子类B创建的对象不仅可以调用方法showA输出小写的英文字母表,而且可以调用子类新增的方法showB输出大写的英文字母表。最后编写主类C,在主类的main方法 中测试类A与类B。
22.编写一个类A,该类创建的对象可以调用方法showA输出小写的英文字母表.然后再编写一个A类的子类B,子类B创建的对象不仅可以调用方法showA输出小写的英文字母表,而且可以调用子类新增的方法sh ...
- Axis2创建WebService服务端接口+SoupUI以及Client端demo测试调用
第一步:引入axis2相关jar包,如果是pom项目,直接在pom文件中引入依赖就好 <dependency> <groupId>org.apache.axis2</gr ...
随机推荐
- Mysql 根据时间取出每组数据中最新的一条
下策——查询出结果后将时间排序后取第一条 select * from a where create_time<="2017-03-29 19:30:36"order by c ...
- 2019/7/18----2.1.tomcat启动报错问题
问题描述:java.lang.UnsupportedClassVersionError: filters/SetCharacterEncodingFilter : Unsupported major. ...
- am335x system upgrade kernel uart(七)
1 Scope of Document This document describes UART hardware design, uart driver porting 2 Re ...
- uic
uic user interface complieruic mainwindow.ui >> ui_mainwidow.h
- Kindle Touch 修砖手札
首先是网上的修砖教程: 最近有多人反映按照修砖程序走过后依然板砖,和碎平联系和WA沟通后对帖子作新的修改. 新教程直接使用5.1.2的镜像,特别说明. 特别感谢kn007的专业指导 小白帖子现为简化过 ...
- svg坐标转换
本文内容转自 how-to-translate-from-dom-to-svg-coordinates-and-back-again svg coordinate system Why we need ...
- Go程序员面试算法宝典-读后感2-链表
链表作为最基本的数据结构,它不仅仅在实际应用中有着非常重要的作用,而且也是程序员面试笔试必考的内容. 详情请Google吧. 1.如何实现链表的逆序 就地逆序 package main import ...
- Java 线程之间的通讯,等待唤醒机制
public class ThreadNotifySample { public static void main(String[] args) { // Res res = new Res(); / ...
- docker容器连接
前面我们实现了通过网络端口来访问运行在docker容器内的服务.下面我们来实现通过端口连接到一个docker容器 网络端口映射 我们创建了一个 python 应用的容器. runoob@runoob: ...
- [Android] 安卓手机不用root删除自带app
声明:本文档仅供测试,因删除引起的一切问题,本人概不负责 声明:本文档仅供测试,因删除引起的一切问题,本人概不负责 声明:本文档仅供测试,因删除引起的一切问题,本人概不负责 转载请注明出处:https ...