基于Zend_Soap的webservice及其多语言通信(java)(二)
前者用Zend_Soap完成webservice以后,需要与java进行通信,这里我们只要用一个WSDL文件就可以搞定,当然,这个文件我们已经有了,IE上已经直接显示了,可以把它保存为wsdl文件,其中具体定义的内容比较复杂,我们这里只谈应用。
?? java端的环境.
???? 1)安装jdk。
???? 2) 用axis1进行与php之间的通信,所以要下载axis1.4。
???? 3)这里用到了ant与axis1对wsdl进行解译成客户端,所以要安装ant.
???? 以下是ant任务的定义,主要是为了生成客户端程序。
?
?生成后的程序结构如下图所示
?将axis1的类库放入到classpath中来,于是调用客户端程序与php通信
?这里请看客户端程序中的一段程序。MsgResp rms =locator.getCustom_Soap_GatewayPort().modifyUser(new String[]{"1","刘少奇","男"}, "1111");?
这里的一个string的数组,原则上应为Object的数组,因为是传入参数,所以比较好理解,这是因为php端定义了一个array类型的数据结构,如果这里的MsgResp是一个这样的数组你觉得这个数据结构好用吗?所以这里就是前篇文章中所说到的array在多语言通信中的不好的地方。