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();
    }
}

?>
时间: 2024-12-05 08:45:55

PHP 调用C# WebService的相关文章

C#远程调用技术WebService葵花宝典

一.课程介绍 直接开门见山吧,在学习之前阿笨想问大家一句,关于WebService远程过程调用技术(RPC) 你真的会了吗?不要跟老夫扯什么WebService技术已经过时,如果你的内心有在偷偷告诉你其实我是真的不会WebService的话,那么恭喜你,因为你在这茫茫的IT编程世界里找到了这本<C#远程调用技术WebService葵花宝典>!曾经有一位不知名的讲师说过这么一句名言: 一门RPC技术不会,那么千万万门RPC技术将都不会! 本次阿笨的分享课包含以下知识点. 1.C# WebServ

微软 BI ssis 中的 script task中用代码直接调用 WCF / Webservice

背景: 在普通的C#项目中,可以直接调用 WCF / Webservice: 在微软BI的 ssis中,有 webservice任务组件,也可以直接调用简单的 WCF / Webservice; 偶这边的情况是,后端的 WCF中用的反射,所以在 ssis中的webservice任务组件中,死活不能识别 WCF对应的方法. 所以只能在ssis的 script task组件中,用纯代码的方式来调用WCF服务. 就这样,可能还是有问题:可能会碰到 不能识别 System.ServiceModel节点的

CXF 调用 .net webservice

1.webservice 接口调用可参考jdk安装bin 下wsimport.exe. 2.本实例是CXF调用 .net webservice,且.net webservice接口参数是一个对象. 3.本实例调用的是文件上传,具体参数可忽略 package com.jr.entity.web; import java.io.BufferedInputStream; import java.io.File; import java.io.FileInputStream; import java.i

PHP中调用Soap/WebService

关于在PHP中如何调用Soap/WebService的描述,网络上有不少帖子.但是主要讲述了如何用PHP开发服务器端.客户端并加以关联,而很少触及在PHP中调用现成的WebService的情况.在本文中我们做一个简单的示范. 一.寻找WebService来源 WebService可以自己编写,但是也可以从网络上去寻找现成的.我用的是www.xmethods.net里的US Zip Validator.它的WSDL文件位置在:http://www.webservicemart.com/uszip.

Java调用doNet webService方法

doNet的webService 浏览器访问测试地址:http://192.168.4.17/JLWWS/sendCommand.asmx,出现 点击getDeviceValue方法,出现 上图的xml代码再贴一遍: POST /JLWWS/sendCommand.asmx HTTP/1.1 Host: 192.168.4.17 Content-Type: text/xml; charset=utf-8 Content-Length: length SOAPAction: "http://tem

调用Axis WebService异常:org.xml.sax.SAXException: Bad envelope tag: definitions

用Eclipse直接创建的webservice客户端,调用webservice: String endpoint = "XXXService?wsdl"; XXXServiceProxy proxy = new XXXServiceProxy(endpoint); try{ String result = proxy.request(); System.out.println(result); }catch(RemoteException e){ e.printStackTrace()

ajax调用.net webservice

JS调用.net  webservice存在跨域问题.调用方式如下: JS前台: var url = "http://localhost:4263/zbhjjcWeb/Service.asmx/HelloWord"; var str = "v1='123'&v2='Boston'&jsonpCallback=HelloWord"; //参数传递,其中v1和v2为.net webservice中函数参数,jsonpCallback为.net webse

java调用CXF WebService接口的两种方式

通过http://localhost:7002/card/services/HelloWorld?wsdl访问到xml如下,说明接口写对了. 2.静态调用 // 创建WebService客户端代理工厂        JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean();        // 判断是否抛出异常        factory.getOutInterceptors().add(new LoggingInIntercept

JAVA调用.NET WebService终极方案(包含对SoapHeader的处理)

一.前言: 今日部门的产品需要用到短信功能,需要走公司统一的接口,而该短信接口是由.net开发的,利用两天时间彻底搞定了用java来调用.net 的web service,包括对soap header的处理. 二.解决方案 查询了下java中对soap的支持,有几种方案,有axis和xfire等,我这里先选择的是axis的1.4版本,随即开始开发,这里面有个大坑啊.就是java对类的属性中的getXXXX方法解析后生成的xml文件的属性首字母是小写的,与.NET的生成的xml对不上,光这个问题耗

调用具体webservice方法时时报错误:请求因 HTTP 状态 503 失败: Service Temporarily Unavailable

添加web引用会在相应项目的app.cofig文件中产生如下代码: <sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >            <section n