步骤一:用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 ); ?>
原文:http://www.cnblogs.com/ycdx2001/p/5152362.html