首页 > Windows开发 > 详细

PHP 调用C#的WCF

时间:2016-01-23 00:42:50      阅读:197      评论:0      收藏:0      [点我收藏+]

步骤一:用C#声明WCF

   [ServiceContract]
    public interface IService1 {
        [OperationContract]
        void DoWork();

        [OperationContract]
        string GetData();

        [OperationContract]
        string GetData2(string msg);

        [OperationContract]
        string GetData3(Order order);

        [OperationContract]
        IList<Order> GetList();
    }

    public class Service1 : IService1 {
        public void DoWork() {
        }
        public string GetData() {
            return DateTime.Now.ToString("成功:" + "yyyy-MM-dd");
        }
        public string GetData2(string msg) {
            return DateTime.Now.ToString("成功:" + "yyyy-MM-dd 您输入的内容是:" + msg);
        }
        public string GetData3(Order order) {
            return string.Format("成功:{0},OrderId:{1},Qty:{2}", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), order.OrderId, order.Qty);
        }
        public IList<Order> GetList() {
            IList<Order> orders = new List<Order>();
            orders.Add(new Order { OrderId = "A001", Qty = 10 });
            orders.Add(new Order { OrderId = "A002", Qty = 20 });
            orders.Add(new Order { OrderId = "A003", Qty = 30 });
            return orders;
        }
    }

    public class Order {
        public string OrderId { get; set; }
        public int Qty { get; set; }
    }

 

步骤二:用PHP调用:

1.PHT调用WCF无参数
<?php
$wcfURL = ‘http://192.169.1.100:8090/FPosServer_xncs/r/Service1.svc?wsdl‘;
$wcfClient = new SoapClient ( $wcfURL );
$result1 = $wcfClient->GetData();
print_r ( $result1 );
?>


2.PHT调用WCF传递一个string参数
<?php
$wcfURL = ‘http://192.169.1.100:8090/FPosServer_xncs/r/Service1.svc?wsdl‘;
$wcfClient = new SoapClient ( $wcfURL );
$args = array(‘msg‘ => ‘312‘);
$result1 = $wcfClient->GetData2($args);
print_r ( $result1 );
?>

3.PHT调用WCF传递一个对象参数
<?php
$wcfURL = ‘http://192.169.1.100:8090/FPosServer_xncs/r/Service1.svc?wsdl‘;
$wcfClient = new SoapClient ( $wcfURL );
$param = array(‘OrderId‘=>‘A001‘,‘Qty‘=>‘1‘);
$result1=$wcfClient->GetData3(array(‘order‘=>$param));
print_r ( $result1 );
?>

PHP 调用C#的WCF

原文:http://www.cnblogs.com/ycdx2001/p/5152362.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!