php如何调用java写的webservice? 你们有没有看我的内容啊???接口参数是一个java类啊,php怎么传啊?? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 webservice传递的数据应该都是xml格式的,看它具体是什么标准的,soap或者xml-rpc的,都有特定格式 我不是关心数据是怎么传递的,我想知道调用的时候该怎么写?因为soap就是把远程方法模拟成本地调用,就像调用本地函数一样,比如call里面有方法名,参数表等等,但是网上例子一般参数都是string的,什么"hello"之类的.如果参数是一个java类呢?有实际工作中用过php调用java写的webservice的么? 导入wsdl。。客户端用什么写都一样 接口参数是一个java写的类???就是连java也调用不成功的 唠叨老大说得对: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 呵呵,从webservice的理念来看,其实楼主的这个问题不算问题的:P比如:java中的类,在php这样的东西怎么表示的?php中怎么定义类似这样的东东的?直接用php的方式访问之~就ok了hoho就好像c中的结构,在php就是所谓的数组一个样子现在的语言高级到 和傻瓜相机差不多的地步了 呵呵,我写反了,原来楼主是说发起请求时的参数,不过差不多。只要按照复合类型定义部分描述的就行。在php你一定能找到方式去定义地:P不过像类中不支持方法等的注意事项楼主要看一看:P传递的参数只要像上面一样的定义下$param 然后 $soap->call('servName',$param); 是的,如果类只是结构简单的,里面有几个string或int就可以直接用php里的class或数组就行了,不过这个类是java里面的dto类,也就是java各层之间传数据的类,也就是像.net里的DataSet吧,具体我也不太清楚,因为我对java不太熟悉,这样的类,好像无法在wsdl里用复合类型就能简单描述的。这个接口参数,在java之间互相调用传递是没问题的,现在我问的就是用php-java的话怎么传递。 好像dataset,datarow都不行。。我也是看资料上这么说。另外,楼主说的,java之间没问题,是通过webservice吧?如果确认没有问题,那么php-java一样没有问题。应用层上楼主不需要关心它怎么传递的,楼主查看wsdl看看那个复合类型如何定义的就是了。在webservice中无论是什么数据类型,对于它来说其实就是一个结构化的字符串,你只要能通过php模拟出同样的xml就没有问题了:P 如果这样正向做比较困难,楼主可以改一下java接口,变成php传递简单参数过去,java返回那个复杂结果。这样分析php得到的东西就知道该如何做了,照着这个结果写参数访问原来那个不就ok了?:P php 上传视频的一个问题。。。请教一个各路高手 求助一下,下面这一段代码有没有办法优化一下性能 求助!PHP做下载地址的问题 怎么获取别人网站的搜索结果 liunx下的php测试,谁能给点资料?? 十分感谢! 大家帮忙看看呀! 我自己写的缓存类,喜欢就拿去,无版权! 问个最简单的问题 关于数型采单: PHP+mysql 数据库的数据查询出来 并插入到另一张表里面 require 相对路径如何定位? 要查询tb1,tb2中相关联的部分的sql语句有三种写法,请大家看看哪种写法最好
看它具体是什么标准的,soap或者xml-rpc的,
都有特定格式
因为soap就是把远程方法模拟成本地调用,就像调用本地函数一样,比如call里面有方法名,参数表等等,但是网上例子一般参数都是string的,什么"hello"之类的.如果参数是一个java类呢?有实际工作中用过php调用java写的webservice的么?
就是连java也调用不成功的
在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
java中的类,在php这样的东西怎么表示的?php中怎么定义类似这样的东东的?直接用php的方式访问之~就ok了
hoho就好像c中的结构,在php就是所谓的数组一个样子现在的语言高级到 和傻瓜相机差不多的地步了
我也是看资料上这么说。另外,楼主说的,java之间没问题,是通过webservice吧?如果确认没有问题,那么php-java一样没有问题。应用层上楼主不需要关心它怎么传递的,楼主查看wsdl看看那个复合类型如何定义的就是了。在webservice中无论是什么数据类型,对于它来说其实就是一个结构化的字符串,你只要能通过php模拟出同样的xml就没有问题了:P