WebServices原理与开发实务这本书,但是里面服务端,客户端都是vb写的,客户端要调用时,就是把那个复杂类型的ActivexDll拿过来引用一下就可以了,但是java和VB我就真不知道要怎么办了,喜欢那位大哥教教我,谢谢,分不够再加.*^_^*

解决方案 »

  1.   

    在webservice传递自定义数据类型 ,不符合soap这个协议规定的数据类型。在soap数据类型中不包括对象类型和自定义类型。请确认!vb调用java的ws ,那么一般通过微软ms soap toolkit 。动态下载wsdl。至于java在服务器端怎么写,只是不重要的,重要的是传入的类型和传出的类型符合soap的规定。
      

  2.   

    coolyylu(将来是我) 你可以去看看<<WebServices原理与开发实务>>这本书,soap连ADO数据集都可以传,对象类型和自定义类型肯定是没有问题,但是他服务端和客户端都是VB写的
    所以他们的类型的对应的.但是java和vb我就真不知道咯不管我怎么写都不可以啊.
      

  3.   

    shipp(嘎子):我想coolyylu(将来是我) 说得没错,你说得ado数据集传递是被串行化的数据集吧,不是真正的对象,如果真要传递对象可能只能把对象序列化再传了吧
      

  4.   

    WebServices是一种远程调用。
    远程调用与本地调用的不同之处:远程调用传值,本地调用传引用。
    因此被传递的复杂对象在客户端和服务端都要有原型,这样程序才能够把串行化的字节流重新构造成一个对象。
    楼主的问题在于vb写的VO_ShateData和java写的VO_ShateData根本不是同一个原型,所以必须要将vb写的VO_ShateData映射为java写的VO_ShateData,这就有点想CORBA要解决的问题。映射的通常实现都是以一个xml来描叙其类型、域的对应关系,就象ejb描叙文件中映射java数据类型和数据库类型一样。
    往这方面想,再去找有关资料,应该就能解决了。
      

  5.   

    这样的调用很普通,没什么特别的地方,就是个对象数组,所有的Web Service都会支持的。
    不要着急,慢慢来。如果你已经调用VB的服务端成功了,把soap xml信息打印出来。
    跟java 的对照一下,估计是很小的细节问题。具体是什么错误呢。
      

  6.   

    首先可以明确,不同语言的自定义对象实例是不能直接传递调用的,VB和Java写的自定义对象内部根本是不相同的嘛。
    解决方法是:
        转换双方的对象,例如你上面的例子,其中主要是为了传递一些值吗,可以将它们转为一个特定的String组,或其他形式然后传递,分别在VB和Java处转为各自定义的对象。不知可否。
      

  7.   

    如里你用VB6,通过ms soap toolkit调用ws,传递简单的参数只需引入wsdl就可以了,如果传递复杂的参数,如自定义类型、数组、消息等,除了要引入wsdl,还要引入另外一个文件,这个文件是微软定义的一种xml文件,这里服务器端也得用ms soap toolkit才能生成这种文件,也就是如果你用ms soap toolkit传递复杂参数服务器端就不能用java了,如果服务器想要用java,客户端就只能用vs.net了。
      

  8.   

    刚才查过SOAP Toolkit 3.0帮助文件,那个文件叫做WSML,全称Web Services Meta Language,标准的Web Service开发是不需要的,微软的SOAP Toolkit专用,如果你的客户端不想用vs.net,那就用Delphi7好了,只需要引入wsdl。
      

  9.   

    hehe,两端都自己来,转换的标准自己掌握,就不会有这些狗屁问题了。对象实例的xml串行化在java中可以做,在vb中也可以做
      

  10.   

    你能在类型中看到VO_ShateData这个类型吗?在发布的web services中这个类型的名称是什么?你看看是否发布的名称跟你用的不一样!
    这个跟其它类型一样的使用!
      

  11.   

    在webservice传递自定义数据类型 ,不符合soap这个协议规定的数据类型。在soap数据类型中不包括对象类型和自定义类型。请确认!vb调用java的ws ,那么一般通过微软ms soap toolkit 。动态下载wsdl。至于java在服务器端怎么写,只是不重要的,重要的是传入的类型和传出的类型符合soap的规定。
      

  12.   

    http://community.csdn.net/Expert/topic/3384/3384194.xml?temp=.2089044
    进这里来看看......