现在做一个东西读取别的网站上的东西
在一个网站上点击超链接 连接另一个网站的API接口 输入自己用户名和密码
注 通过socket传递用户名和密码 等待另一个网站的验证 
如果验证正确(要接受到验证信息)对方发送过信息xml 
解析xml 用html实现
如果验证错误在本网站上显示验证错误
如何实现 如果大家会 请给出详细代码 谢谢 
我只有写思路 具体不会 谢谢

解决方案 »

  1.   

    看来我说的太不能让人理解了 补充下
    php 利用webservice 与.net 传送数据
    .net 服务器端有个User 类 类成员 User username ,User pwd
    现在我要传送User 类对象 不是传两个参数
    代码如下class User
    {
    public $sUserID=null;
    public $sPWD=null;
    function __construct($user,$pwd)
    {
    $this->sUserID = $user;
    $this->sPWD    = $pwd;
    }
    }
    $client = new SoapClient('http://172.16.161.200/TestWebServices/Service1.asmx?wsdl');
    $client->soap_defencoding = 'UTF-8'; 
    $client->decode_utf8 = false; 
    $user = new USer($_GET['user'],$_GET['PWD']);
    $userType = new SoapVar($user,SOAP_ENC_OBJECT,"User","");
    $result= $client->Login(new SoapParam($userType,"user"));关于 SoapVar 【SoapVar($user,SOAP_ENC_OBJECT,"User","")】最后一个参数命名空间 我不懂什么意思 查了半天也不清楚 请大家指教
      

  2.   

    这个我也不大清楚,于是特意翻了下php手册SoapVar::SoapVar ( string $data , string $encoding [, string $type_name [, string $type_namespace [, string $node_name [, string $node_namespace ]]]] )第三个参数是对方需要的参数的类型的名称,你传递的是类的实例化对象所以是对方接收使用的类名
    第四个参数是和第三个参数相关的,之前我做过.net开发,在.net里有命名空间一说,用于区分不同空间相同的类名称,所以这个参数应该是对方那边使用User类所在的命名空间.如果对方没有的话,应该默认可以不填写!
      

  3.   

    我也看手册就前三个参数可以理解 .net 接触过 .net aspx.cs文件确实有命名空间我在看手册实例的时候懵了 它的命名空间是个url地址 new SoapVar($struct, SOAP_ENC_OBJECT, "SOAPStruct", "http://soapinterop.org/xsd");不知道是怎么回事
      

  4.   

    呵呵~~命名空间实际上就是个地址,可以是本地的,也可以是远程服务器的!
    你可以参考下php手册里的include文档!里面有说明的!~~
      

  5.   

    半路出家就是不想 我是半路学Php
    没想到小小的include如此功能 用的时候 从来都是引用本地的
    .net 是服务器 这个命名空间是服务器 文件的命名空间是吧
    等你答复就给分结贴 十分感谢 
     
            $client = new SoapClient('http://172.16.161.200/TestWebServices/Service1.asmx?wsdl');
            $client->soap_defencoding = 'UTF-8'; 
            $client->decode_utf8 = false; 
            $user = new USer($_GET['user'],$_GET['PWD']);
            $userType = new SoapVar($user,SOAP_ENC_OBJECT,"User","");
            $result= $client->Login(new SoapParam($userType,"user"));  
      接下来我要解析xml
       $xml = simpleXml_load_file($result);
       print_r($xml);
       根据输出的xml结构 通过simpleXml 直接解析就可以了吧
      

  6.   

    实际上命名空间就是把一定区域内的代码包含进来!效果和include类似!可以是远程的~
    你写的实例中的地址得问下服务商了,应该有提供!$xml   =   simpleXml_load_file($result);
    通过domxml或者正则都可以!http://topic.csdn.net/u/20101103/10/8b194c51-ed5d-4026-a878-e33223cf0ffb.html
    可参考里面我写的回答!