(SOS)VB调用Java所写WebServices服务端,当方法是复杂类型是怎么处理,不会的兄弟也来看看up一下吧.分不够再加?

shipp 2004-01-06 10:16:21
VB调用Java所写WebServices服务端,当方法是复杂类型怎么处理
例如:服务端有这样一个方法:
Public Boolean GetTest(VO_ShateData[] s1){}
VO_ShateData类型为:
public class VO_ShareDataItem implements Serializable {
private String itemname;
private String itemtype;
private String itemvalue;
下面省去get,set方法...
}
当我在VB中调用GetTest方法时参数s1为VO_ShateData类型,所以在VB中应该对应写一个VO_ShateData,但是不管我怎么写都不对,总是不能作为参数传过去,我想应该是他们找不多对应关系吧。小弟参考了
...全文
236 22 打赏 收藏 转发到动态 举报
写回复
用AI写文章
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
chn217 2004-09-21
  • 打赏
  • 举报
回复
up
pdw2009 2004-09-21
  • 打赏
  • 举报
回复
http://community.csdn.net/Expert/topic/3384/3384194.xml?temp=.2089044
进这里来看看......
nwpulipeng 2004-09-21
  • 打赏
  • 举报
回复
up混分
zhushizu 2004-06-11
  • 打赏
  • 举报
回复
在webservice传递自定义数据类型 ,不符合soap这个协议规定的数据类型。在soap数据类型中不包括对象类型和自定义类型。请确认!

vb调用java的ws ,那么一般通过微软ms soap toolkit 。动态下载wsdl。至于java在服务器端怎么写,只是不重要的,重要的是传入的类型和传出的类型符合soap的规定。
kekechen1223 2004-05-14
  • 打赏
  • 举报
回复
你能在类型中看到VO_ShateData这个类型吗?在发布的web services中这个类型的名称是什么?你看看是否发布的名称跟你用的不一样!
这个跟其它类型一样的使用!
littlecpu 2004-05-13
  • 打赏
  • 举报
回复
hehe,两端都自己来,转换的标准自己掌握,就不会有这些狗屁问题了。对象实例的xml串行化在java中可以做,在vb中也可以做
nwpulipeng 2004-05-12
  • 打赏
  • 举报
回复
帮你顶一把~~~
91大白兔奶糖 2004-05-11
  • 打赏
  • 举报
回复
首先可以明确,不同语言的自定义对象实例是不能直接传递调用的,VB和Java写的自定义对象内部根本是不相同的嘛。
解决方法是:
转换双方的对象,例如你上面的例子,其中主要是为了传递一些值吗,可以将它们转为一个特定的String组,或其他形式然后传递,分别在VB和Java处转为各自定义的对象。

不知可否。
fangjf 2004-05-11
  • 打赏
  • 举报
回复
刚才查过SOAP Toolkit 3.0帮助文件,那个文件叫做WSML,全称Web Services Meta Language,标准的Web Service开发是不需要的,微软的SOAP Toolkit专用,如果你的客户端不想用vs.net,那就用Delphi7好了,只需要引入wsdl。
fangjf 2004-05-11
  • 打赏
  • 举报
回复
如里你用VB6,通过ms soap toolkit调用ws,传递简单的参数只需引入wsdl就可以了,如果传递复杂的参数,如自定义类型、数组、消息等,除了要引入wsdl,还要引入另外一个文件,这个文件是微软定义的一种xml文件,这里服务器端也得用ms soap toolkit才能生成这种文件,也就是如果你用ms soap toolkit传递复杂参数服务器端就不能用java了,如果服务器想要用java,客户端就只能用vs.net了。
usabcd 2004-05-10
  • 打赏
  • 举报
回复
这样的调用很普通,没什么特别的地方,就是个对象数组,所有的Web Service都会支持的。
不要着急,慢慢来。如果你已经调用VB的服务端成功了,把soap xml信息打印出来。
跟java 的对照一下,估计是很小的细节问题。具体是什么错误呢。
BOBO1981 2004-05-10
  • 打赏
  • 举报
回复
up
workfish 2004-04-05
  • 打赏
  • 举报
回复
up
goes_kad 2004-04-03
  • 打赏
  • 举报
回复
WebServices是一种远程调用。
远程调用与本地调用的不同之处:远程调用传值,本地调用传引用。
因此被传递的复杂对象在客户端和服务端都要有原型,这样程序才能够把串行化的字节流重新构造成一个对象。
楼主的问题在于vb写的VO_ShateData和java写的VO_ShateData根本不是同一个原型,所以必须要将vb写的VO_ShateData映射为java写的VO_ShateData,这就有点想CORBA要解决的问题。映射的通常实现都是以一个xml来描叙其类型、域的对应关系,就象ejb描叙文件中映射java数据类型和数据库类型一样。
往这方面想,再去找有关资料,应该就能解决了。
foxsnow 2004-01-15
  • 打赏
  • 举报
回复
up
filippo1980 2004-01-08
  • 打赏
  • 举报
回复
up看看
joygxd 2004-01-08
  • 打赏
  • 举报
回复
up
shipp 2004-01-06
  • 打赏
  • 举报
回复
coolyylu(将来是我) 你可以去看看<<WebServices原理与开发实务>>这本书,soap连ADO数据集都可以传,对象类型和自定义类型肯定是没有问题,但是他服务端和客户端都是VB写的
所以他们的类型的对应的.但是java和vb我就真不知道咯不管我怎么写都不可以啊.
coolyylu 2004-01-06
  • 打赏
  • 举报
回复
在webservice传递自定义数据类型 ,不符合soap这个协议规定的数据类型。在soap数据类型中不包括对象类型和自定义类型。请确认!

vb调用java的ws ,那么一般通过微软ms soap toolkit 。动态下载wsdl。至于java在服务器端怎么写,只是不重要的,重要的是传入的类型和传出的类型符合soap的规定。
shipp 2004-01-06
  • 打赏
  • 举报
回复
WebServices原理与开发实务这本书,但是里面服务端,客户端都是vb写的,客户端要调用时,就是把那个复杂类型的ActivexDll拿过来引用一下就可以了,但是java和VB我就真不知道要怎么办了,喜欢那位大哥教教我,谢谢,分不够再加.*^_^*
加载更多回复(2)

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧