您好,欢迎访问一九零五行业门户网

php怎么调用.net的webservice?100分送上

php如何调用.net的webservice???100分送上
php如何调用.net的webservice?请高手赐教,我写了一面一段程序,可是总是提示错误:没有创建实例对象,大家帮我看一下,哪里错了?
客户端php程序:
'fiekscos'); 
$s=new soapclient('http://www.yy-sports.com/webservice/memberinfo.asmx?wsdl'); 
$s->soap_defencoding = 'utf-8';  
$s->decode_utf8 = false;
$result = $s->__soapcall('validuserloginname',array('userloginname' => $userinfo));  
echo $result;
?>
服务器端.net的webservice程序:
using system;
using system.collections;
using system.web;
using system.web.services;
using system.web.services.protocols;
using com.basic;
///
///memberinfo 的摘要说明
///
[webservice(namespace = http://tempuri.org/)]
[webservicebinding(conformsto = wsiprofiles.basicprofile1_1)]
//若要允许使用 asp.net ajax 从脚本中调用此 web 服务,请取消对下行的注释。 
// [system.web.script.services.scriptservice]
public class memberinfo : system.web.services.webservice
{
  //
  /// soap认证类
  ///
  public securityheader currentuser
  {
  get { return _currentuser; }
  set { _currentuser = value; }
  }
  private securityheader _currentuser;
public memberinfo()
  {
//如果使用设计的组件,请取消注释以下行 
  //initializecomponent(); 
  }
private bool validateuser(string user, string pass)
  {
  boolean reval=false;
edboperator oo = new edboperator();
  try
  {
  string sql = select count([id]) from webservice_user where [name]='{0}' and pass='{1}' and [status] = 1;
  user = tools.filtersql(user.trim());
  pass = tools.filtersql(pass.trim());
  sql = string.format(sql, user, pass);
  int32 count = convert.toint32(oo.dboperator.execscalar(sql));
  if (count > 0)
  {
  reval = true;
  }
  }
  finally
  {
  oo.dispose();
  }
return reval;
  }
///
  /// 根据系列代码,返回系列名称
  ///
  /// 系列代码
  /// 系列名称
  [webmethod(description = 输入一个新的用户登录名称,判断是否已经注册 0为未注册 非0为已注册或出错), soapheader(currentuser)]
  public int32 validuserloginname(string userloginname)
  {
  if (!validateuser(currentuser.username, currentuser.userpass)) { throw new exception(出错); }
int32 reval = 1;
edboperator oo = new edboperator();
  try
  {
  string sql;
  sql = select count([id]) from yy_user where [username] = ' + userloginname + ';
  reval = convert.toint32(oo.dboperator.execscalar(sql));
  }
  finally
  {
  oo.dispose();
  }
return reval;
  }
}
//自定义soap header class 
public class securityheader : system.web.services.protocols.soapheader
{
  public string username;
  public string userpass;
}
------解决方案--------------------
其它类似信息

推荐信息