你们有没有看我的内容啊???接口参数是一个java类啊,php怎么传啊??

解决方案 »

  1.   

    webservice传递的数据应该都是xml格式的,
    看它具体是什么标准的,soap或者xml-rpc的,
    都有特定格式
      

  2.   

    我不是关心数据是怎么传递的,我想知道调用的时候该怎么写?
    因为soap就是把远程方法模拟成本地调用,就像调用本地函数一样,比如call里面有方法名,参数表等等,但是网上例子一般参数都是string的,什么"hello"之类的.如果参数是一个java类呢?有实际工作中用过php调用java写的webservice的么?
      

  3.   

    导入wsdl。。客户端用什么写都一样
      

  4.   

    接口参数是一个java写的类???
    就是连java也调用不成功的
      

  5.   

    唠叨老大说得对:P在webservice中有个"复合类型"的概念,
    在webservice中数据类型分两种:
    复合类型,基本类型基本类型仅包括 string,int,float,datetime等标准类型其余各个语言中的数据类型都要定义成符合webservice规范的复合类型在webservice 服务器端程序中如果遇到这样的参数,那么它需要在wsdl定义中的开始定义复合类型:complex-type当然,它可以传递 结构,对象等复杂类型,但是有一定限制,可以查查看。在php调用接口时,只要按照复合类型定义中的方式去取得值就是了
    $results = $soap->call();根据wsdl中的定义访问结果就是了。比如结果中有2个参数,1个字符串,一个对象,用如下写法去获取结果:
    $results['rt_string'];
    $results['rt_obj']->a_attr;
    呵呵,瞎说瞎说。随便看看:P
      

  6.   

    呵呵,从webservice的理念来看,其实楼主的这个问题不算问题的:P比如:
    java中的类,在php这样的东西怎么表示的?php中怎么定义类似这样的东东的?直接用php的方式访问之~就ok了
    hoho就好像c中的结构,在php就是所谓的数组一个样子现在的语言高级到 和傻瓜相机差不多的地步了
      

  7.   

    呵呵,我写反了,原来楼主是说发起请求时的参数,不过差不多。只要按照复合类型定义部分描述的就行。在php你一定能找到方式去定义地:P不过像类中不支持方法等的注意事项楼主要看一看:P传递的参数只要像上面一样的定义下$param 然后 $soap->call('servName',$param);
      

  8.   

    是的,如果类只是结构简单的,里面有几个string或int就可以直接用php里的class或数组就行了,不过这个类是java里面的dto类,也就是java各层之间传数据的类,也就是像.net里的DataSet吧,具体我也不太清楚,因为我对java不太熟悉,这样的类,好像无法在wsdl里用复合类型就能简单描述的。这个接口参数,在java之间互相调用传递是没问题的,现在我问的就是用php-java的话怎么传递。
      

  9.   

    好像dataset,datarow都不行。。
    我也是看资料上这么说。另外,楼主说的,java之间没问题,是通过webservice吧?如果确认没有问题,那么php-java一样没有问题。应用层上楼主不需要关心它怎么传递的,楼主查看wsdl看看那个复合类型如何定义的就是了。在webservice中无论是什么数据类型,对于它来说其实就是一个结构化的字符串,你只要能通过php模拟出同样的xml就没有问题了:P
      

  10.   

    如果这样正向做比较困难,楼主可以改一下java接口,变成php传递简单参数过去,java返回那个复杂结果。这样分析php得到的东西就知道该如何做了,照着这个结果写参数访问原来那个不就ok了?:P