详细讲解PHP调用.net webservice

最近由于一些需求需要用PHP来调用.net 写的web service,在尝试很多很多办法后都没有成功。这也是 发本文的原因,希望大家以后可以少走冤枉路!

不废话。。。。。。。。。。。。。


============.net  web service 代码如下===================

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services;
using System.Data;
using System.Web.Script.Serialization;
using System.Data.SqlClient;


namespace WebApplication1
{
    /// <summary>
    /// WebTest 的摘要说明
    /// </summary>
    [WebService(Namespace = "http://tempuri.org/")]
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
    [System.ComponentModel.ToolboxItem(false)]
    // 若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消对下行的注释。
    // [System.Web.Script.Services.ScriptService]
    public class WebTest : System.Web.Services.WebService
    {

[WebMethod]

public string HelloWord()

        {
            return "Helloword";
        }

     }
}

以上web service 只是返回一个Hello word的一个字符串。。


==========PHP代码如下============

<?php
$client = new SoapClient("http://localhost:1653/WebTest.asmx?wsdl");  
$p = $client->HelloWorld();
$array = get_object_vars($p);
$t=$array['HelloWorldResult']);
echo $t;//输出web service返回的字符串“Helloword”
?>

http://localhost:1653/WebTest.asmx?wsdl是web service的地址。肯定有人问"?wsdl"是什么意思,wsdl是web service的描述语言,是一种接口定义语言,用于描述Web Service的接口信息,同时也是必须加的。

使用SoapClient前提是你的PHP文件中没有注释php_soap.dll,如果注释请将前面的分号去掉就OK了。。

出现问题及解决问题:用print_r();打印出具体问题!!

最后望大家不喜勿喷!!!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值