C#使用PHP服务端的Web Service通信实例
发布:smiling 来源: PHP粉丝网 添加日期:2020-11-07 11:29:01 浏览: 评论:0
这篇文章主要介绍了C#使用PHP服务端的Web Service通信实例,需要的朋友可以参考下。
注:本例中构建Web Service采用SOAP方式,通过php插件NuSoap来搭建SOAP服务器,代码如下:
- <?php
- require_once("lib/nusoap.php"); //调用NuSoap
- $server = new soap_server(); //创建soap服务端
- $server->configureWSDL("login_service"); //配置WSDL
- $namespace = "http://www.abcd9.com";
- $server->wsdl->schemaTargetNamespace = $namespace; //设置wsdl命名空间为http://www.abcd9.com
- $server->register( // 注册Web服务
- 'login_verifiy', //定义名称
- array('name'=>'xsd:string','pw'=>'xsd:string'), //接受参数
- array('return'=>'xsd:string'), //返回
- $namespace, //命名空间
- false, // soapaction:默认
- 'rpc', // 类型: rpc or document
- 'encoded', // 参数:encoded(编码)或 literal(文字)
- 'A web method of login' //描述
- );
- $POST_DATA = isset($GLOBALS['HTTP_RAW_POST_DATA'])? $GLOBALS['HTTP_RAW_POST_DATA'] : '';
- $server->service($POST_DATA); //将提交的数据传递给soap服务
- function login_verifiy($user,$pw) { //服务执行内容,本示例中为显示输入的帐号密码
- return 'user:'.$user.' password:'.$pw);
- }
- ?>
C#客户端调用:
- [DllImport("kernel32")] //调用api函数读ini文件。返回值为字符串缓冲区的长度
- private static extern long GetPrivateProfileString(string section, string key, string def, StringBuilder retVal, int size, string filePath);
- private void Form1_Load(object sender, EventArgs e)
- {
- StringBuilder temp = new StringBuilder(256);
- GetPrivateProfileString("system", "url", null, temp, 256, System.IO.Directory.GetCurrentDirectory()+"\\config.ini");
- //通过读取config.ini配置文件(结构见附加内容)来获取webservice url
- Program.server_url = temp.ToString(); //Program.cs中的全局变量server_url用以储存webservice url
- }
- private void button1_Click(object sender, EventArgs e)
- {
- WebReference.login_service l = new WebReference.login_service();
- string s=l.login_verifiy(username.Text, password.Text);
- MessageBox.Show(s);
- }
附config.ini内容:
- [system]
- url=http://127.0.0.1:100/
Tags: C Web Service
- 上一篇:PHP中的Memcache详解
- 下一篇:关于PHP的curl开启问题探讨
相关文章
- ·PHP中通过Web 执行C/C++应用程序(2013-11-13)
- ·FastCGI 不完全高级指南(PHP版,Windows平台)(2013-11-28)
- ·PHP require/include顺序详解(2013-11-29)
- ·CentOS系统下Apache环境安装GBK编码程序网页乱码问题(2013-11-30)
- ·XSLTProcessor 中 registerPHPFunctions 后无法调用 php 函数(2013-11-30)
- ·php curl常见错误:SSL错误、bool(false)(2013-11-30)
- ·mysql_connect提示"No such file or directory"错误"(2013-12-04)
- ·淘宝API返回的json数据无法用json_decode的问题(2013-12-05)
- ·php memcached 扩展 timeout 问题(2013-12-06)
- ·php中json_encode格式中文问题解决方法(2013-12-06)
- ·hp在IIS下和apache下urlrewrite返回不同的REQUEST_URI解决办法(2013-12-06)
- ·curl out of memory window下PHP调用curl报内存不够(2013-12-06)
- ·windows 下 php curl 的支持配置方法(2013-12-06)
- ·PHP Fatal error: Call to undefined function bcmul()(2013-12-07)
- ·PHP生成CSV文件用Excel打开乱码问题(2013-12-07)
- ·php中Memcached连接超时问题解决办法(2013-12-07)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)