各位大神,小弟.NET开发3年多 突然转PHP,好多不明白,求救 我写了个最简单的WCF, 具体方法如下 public string GetData(string value) { return "You entered is : " + value; } 然后在PHP中去调用 <?php /* Step1:初始化SoapClient对象 */ $wcfURL = 'http://192.168.3.102/Service1.svc?wsdl'; $wcfClient = new SoapClient ( $wcfURL ); $result = $wcfClient->GetData(312); echo $result->GetDataResult; echo '<br>'; print_r ( $result ); 返回的结果是 You entered is : stdClass Object ( [GetDataResult] => You entered is : ) 我在网上搜索了很久,PHP调用WCF的资料少又少,求各位大神指教,这个该怎么弄??? 刚刚入门PHP一周,求别嘲讽 |
大神发话,万分荣幸,我也是参照那篇来做的,刚刚又仔仔细细的查看了一次,
我又写了个不带参数的最简单的
public string SayHello()
{
return "Hello World";
}
然后在PHP端调用
$wcfURL = 'http://192.168.3.102/Service1.svc?wsdl';
$wcfClient = new SoapClient ( $wcfURL );
$result1 = $wcfClient->SayHello ();
print_r ( $result1 );
echo $result1->SayHelloResult;
输出如下
stdClass Object ( [SayHelloResult] => Hello World ) Hello World
这个说明配置是OK的,so....我木有招了
@Lionel Andrés Messi: 问题在哪里?
@dudu:
GetData的这个方法有个参数,我在PHP代码中传入了的
$result = $wcfClient->GetData(312);
但是无法输出
echo $result->GetDataResult;//输出的是You entered is : 如果正确的话,应是输出You entered is :312
@Lionel Andrés Messi: 参数类型是string,你传的是int,试试 $wcfClient->GetData("312");
@dudu:
还是不行~~~
以及再次更改WCF服务,并且各种重启,还是不行
@Lionel Andrés Messi:
改为这样试试:
$args = array('text' => '312'); $wcfClient->GetData($args);
@dudu: 多谢大神~
<?php
/* Step1:初始化SoapClient对象 */
$wcfURL = 'http://192.168.3.102/Service1.svc?wsdl';
$wcfClient = new SoapClient ( $wcfURL );
$args = array (
'text' => '312'
);
$result = $wcfClient->GetData ( $args );
echo $result->GetDataResult;
echo '<br>';
print_r ( $result );
echo '<br>';
$result1 = $wcfClient->SayHello ();
print_r ( $result1 );
echo $result1->SayHelloResult;
?>
可以上还是不行
这是测试
我都不知道该检查哪里了...多谢大神费心
@Lionel Andrés Messi: 建议先用C#客户端调用一下,看能不能正常调用
@Lionel Andrés Messi: 你抓个包看下就清楚了。
@dudu: 稍等
@dudu: 把text改为value,对应方法的参数名称:
$args = array('value' => '312'); $wcfClient->GetData($args);
@dudu:
不行
使用C#可以换调用,会不会是PHP版本问题呢,我的是
5.2.3
@Lionel Andrés Messi: 你现在WCF服务端方法的参数名称究竟是什么?从测试截图看,是不是变成t了?
$args = array('t' => '312'); $wcfClient->GetData($args);
@dudu: 谢大神!!!!!!!!!万分感谢!!!!!!!!!就是这个问题,就是这个问题!!!