zoukankan      html  css  js  c++  java
  • PHP 调用C# WebService

    在VS2010中新建WebService:Finance.asmx

    代码如下:

    using System.Web.Services;
    
    namespace WebTest.WebService
    {
        /// <summary>
        /// Finance 的摘要说明
        /// </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 Finance : System.Web.Services.WebService
        {
            [WebMethod]
            public int add(int a,int b)
            {
                return a + b;
            }
        }
    }

    新建PHP文件:test.php

    代码如下:

    <?php
    
    $client = new SoapClient('http://localhost/WebService/Finance.asmx?wsdl');
    if ($client !== false)
    {
        //解决中文乱码问题
        $client->soap_defencoding = 'utf-8';
        $client->decode_utf8 = false;
        $client->xml_encoding = 'utf-8';
        // 使用关联数组,键名对应C#方法的参数名
        $params = array('a' => 1, 'b' => 2);
        // 可以使用 $client->__soapCall() 或 $client->WebService方法名() 两种方式调用
        // 使用 $client->__soapCall() 调用时应将 $param 再包裹一层
        try
        {
            $result = $client->__soapCall("add", array("parameters" => $params));
            print_r($result->addResult);
            echo "<br/>";
            // 使用 $client->WebService方法名() 调用时无需另行包裹 $param
            $params = array('a' => 3121, 'b' => 2);
            $result = $client->add($params);
            print_r($result->addResult);
        }
        catch(Exception $ex)
        {
            echo $ex->getMessage();
        }
    }
    
    ?>
  • 相关阅读:
    web项目的集成测试:模拟点击
    ignite通过注解配置查询
    log4j打印出线程号和方法名
    函数
    C语言函数的概念
    C语言字符串的输入输出
    C语言字符串处理函数
    C语言字符数组和字符串
    说说M451例程之PWM的寄存器讲解
    如何给地址赋值?(转)
  • 原文地址:https://www.cnblogs.com/wolfocme110/p/4130502.html
Copyright © 2011-2022 走看看