想通过我的网站登录XXX网站  
但是XXX网站是用ASP写的 而我的是用PHP写的我在网上查到的有关web service 的解决办法大都如下我本地的例子也成功了
但是我不明白 ASP、PHP两个不同的语言 PHP如何接受ASP返回的数据
我能否通过如下的方法 登陆上去//client.php<?php
require_once("lib/nusoap.php");
//初始化客户端对象,这个对象是类 soapclient 的一个实例,
//把服务程序的 URL 地址传递给soapclient类的构造函数。
$client = new soapclient('http://localhost/Example/nusoap/server.php'); //利用客户端对象的 call 方法调用 WEB 服务的程序
$str=$client->call('hello'); //客户端对象的 getError() 方法可以用来检查调用过程是否出现错误。
//如果没有错误, getError() 方法返回 false ;如果有错误, getError()方法返回错误信息。
if (!$err=$client->getError()) {
    echo " 程序返回 :",htmlentities($str,ENT_QUOTES);
} else {
    echo " 错误 :",htmlentities($err,ENT_QUOTES);
}
?>
//server.php<?php
require_once("lib/nusoap.php");
//定义服务程序
function hello() {
  return 'Hello World!';
}
//初始化服务对象 , 这个对象是类 soap_server 的一个实例
$soap = new soap_server; //调用服务对象的 register 方法注册需要被客户端访问的程序。
//只有注册过的程序,才能被远程客户端访问到。
$soap->register('hello'); //最后一步,把客户端通过 post 方式提交的数据,传递给服务对象的 service 方法。
//service 方法处理输入的数据,调用相应的函数或方法,并且生成正确的反馈,传回给客户端。
$soap->service($HTTP_RAW_POST_DATA);
?>

解决方案 »

  1.   

    通过语言处理的xml机制可以完成。比如php发布了server  
    asp是client接收server返回的xml解析
    client也可以post至server处理,在返回xml解析参考asp调用asp.nethttp://blog.csdn.net/paolei/archive/2008/09/14/2879280.aspx
      

  2.   

    从你的代码看没有用到WSDL,而是NON-WSDL的模式,代码修改如下:
    //client.php<?php
    require_once("lib/nusoap.php");
    //初始化客户端对象,这个对象是类 soapclient 的一个实例,
    //把服务程序的 URL 地址传递给soapclient类的构造函数。
    $client = new soapclient(null,array('location'=>'http://localhost/Example/nusoap/server.php','uri'=>'test')); //利用客户端对象的 call 方法调用 WEB 服务的程序
    $str=$client->call('hello'); //客户端对象的 getError() 方法可以用来检查调用过程是否出现错误。
    //如果没有错误, getError() 方法返回 false ;如果有错误, getError()方法返回错误信息。
    if (!$err=$client->getError()) {
        echo " 程序返回 :",htmlentities($str,ENT_QUOTES);
    } else {
        echo " 错误 :",htmlentities($err,ENT_QUOTES);
    }
    ?>
    //server.php<?php
    require_once("lib/nusoap.php");
    //定义服务程序
    function hello() {
      return 'Hello World!';
    }
    //初始化服务对象 , 这个对象是类 soap_server 的一个实例
    $soap = new soap_server(null,'uri'=>'test'); //调用服务对象的 register 方法注册需要被客户端访问的程序。
    //只有注册过的程序,才能被远程客户端访问到。
    $soap->register('hello'); //最后一步,把客户端通过 post 方式提交的数据,传递给服务对象的 service 方法。
    //service 方法处理输入的数据,调用相应的函数或方法,并且生成正确的反馈,传回给客户端。
    $soap->service($HTTP_RAW_POST_DATA);
    ?>
      

  3.   

    特别要注意SOAP的扩展是否启用了,没有启用的话也是不行的
      

  4.   


    牛人们,这也发到基础板块。这也算PHP基础吗。
      

  5.   

    web service简单点说就是http 请求body里的数据是个xml格式的串,不同语言通过解析http请求和返回的body进行交互。
      

  6.   

    感谢大家给的意见和帮助 初次接触web service 还在学习中