我在php中调用asp.net web servicr [英] I canot call asp.net web servicr in php

查看:63
本文介绍了我在php中调用asp.net web servicr的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我使用asp.net框架4创建了Web服务:

 [WebMethod] 
public DataSet GetMembers( string memberId, string thirdName)
{
string connStr = ConfigurationManager.ConnectionStrings [ conStr ] .ConnectionString;
SqlConnection cn = new SqlConnection(connStr);
SqlDataAdapter da = new SqlDataAdapter();
DataSet ds = new DataSet();

da.SelectCommand = new SqlCommand( @ SELECT MemberMaster.MemberId,MemberMaster.FirstName,MemberMaster.SecondName,MemberMaster.ThirdName,MemberMaster.CivilNo,MemberMaster.DateOfBirth,MemberSubcription.MemberId
FROM MemberMaster内部联接MemberMub上的MemberSubcription.MemberId = MemberSubcription.MemberId
WHERE MemberMaster.MemberId =@MemberId和MemberMaster.ThirdName=@ThirdName
,cn);
da.SelectCommand.Parameters.Add( @ MemberId,SqlDbType.NVarChar)。 Value = memberId;
da.SelectCommand.Parameters.Add( @ ThirdName,SqlDbType.NVarChar)。 Value = thirdName;

ds.Clear();
da.Fill(ds);
return ds;
}





它在localhost中运行良好,但是当我在php中调用它时:

 <?php  

$ wsdlUrl = http://xxxx/WS/WebService.asmx?WSDL;

$ client = new soapclient($ wsdlUrl);

$ params = array(' memberId' => ' W1100045'
' thirdName' => ' 阿里');

$ result = $ client-> GetMembers($ params);

$ echoText = ' ;

if (is_null($ result-> GetMembersResult))
{

echo no result;
}

else
{
echo $ result-> GetMembersResult;
}

?>





出现此错误:可捕获的致命错误:类stdClass的对象无法在第23行转换为字符串



有什么问题,我该如何解决这个问题问题?

解决方案

wsdlUrl = HTTP://xxxx/WS/WebService.asmx WSDL;


client = new SoapClient的(

WSDLURL);


I created web service using asp.net framework 4 :

[WebMethod] 
public DataSet GetMembers(string memberId, string thirdName) 
{ 
string connStr = ConfigurationManager.ConnectionStrings["conStr"].ConnectionString; 
SqlConnection cn = new SqlConnection(connStr); 
SqlDataAdapter da = new SqlDataAdapter(); 
DataSet ds = new DataSet();

da.SelectCommand = new SqlCommand(@"SELECT MemberMaster.MemberId,MemberMaster.FirstName,MemberMaster.SecondName,MemberMaster.ThirdName,MemberMaster.CivilNo,MemberMaster.DateOfBirth,MemberSubcription.MemberId
                                        FROM MemberMaster inner join MemberSubcription on MemberMaster.MemberId=MemberSubcription.MemberId
                                        WHERE MemberMaster.MemberId=@MemberId and MemberMaster.ThirdName=@ThirdName", cn);
    da.SelectCommand.Parameters.Add("@MemberId", SqlDbType.NVarChar).Value = memberId;
    da.SelectCommand.Parameters.Add("@ThirdName", SqlDbType.NVarChar).Value = thirdName;

    ds.Clear();
    da.Fill(ds);
    return ds;
}



it work good in localhost but when i call it in the php :

    <?php

$wsdlUrl = "http://xxxx/WS/WebService.asmx?WSDL";  

$client = new soapclient($wsdlUrl);

$params = array('memberId' => 'W1100045',
'thirdName' => 'Ali');              

$result = $client->GetMembers($params);

$echoText = '';

if (is_null($result->GetMembersResult))
{

echo "no result";
}

else
{
  echo $result->GetMembersResult;
}

?>



this error appear : Catchable fatal error: Object of class stdClass could not be converted to string on line 23

what is the problem and how can i solve this problem ?

解决方案

wsdlUrl = "http://xxxx/WS/WebService.asmx?WSDL";


client = new soapclient(


wsdlUrl);


这篇关于我在php中调用asp.net web servicr的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆