虽然在MSSOAP的帮助文档中提到过数组的传输,在apache的SOAP的帮助文档中也相应的提到过,但是对于JAVA与VB这两对怪胎所组成的webService服务并没有太多相关的文档咨询,更多的是.NET平台与Apache互联.虽然依照各类的example,但终究是直接传递数据的愿望落空了.兴许是我还没有研究到此类东西吧,不过偶然的是,我们在初期探索的时候,通过使用在复杂对象数据类型中包含数组,居然可以进行传递,惟一的麻烦就是你需要进行一次复杂对象的代理.在没有找到更好的方法之前,只能先使用了,可能也会像传文件那样出现峰回路转吧.另,此处说的数组指的是一维的,二维数组在调用的时候,会提示内存空间不足.
    此中说的数组,byte[]不在其中,因为其已经被视为用来传类文件了.在wsdl文件中,对其的定义为xsd:base64Binary.是可以直接进行传递的.当然你可以用它来进行此处所说的数组传递了,但是你得保证你的值的范围不会超出-128-127.由于在VB端对于8位的byte的定义为无符号整数(0-255),所以你需要在传输某些你非常确定其数据范围的值时,需要在说明文件中给出负数的转换原则:(if getByte>255) then getByte =getByte- 256.
    如果我们在服务器端中的JAVA代码中,声明了一个公有类Staff(必须为公有),此类中拥有一个简单对象的数组int[] ints.同时我们拥有另外一个用来发布webservice的类Demo,(在一个类中进行自引用是不被接受的),此类拥有一个Staff的引用,并有其公有方法getStaff().)在使用Demo发布服务后,我们开始使用VB编写相应的客户端.基本上是按照复杂数据类型中模式来进行的.对应于服务器端Staff类中的数组ints我们在VB的类中声明一个public ints as variant.在VB中,我们就可以使用类映射,将此含有数组的类接收过来,同时可以直接调用实例名.ints(i)就可以得到此数组的某个序列的值了,也可以通过isArray(ints)来测试接收到的是否为数组.
    至此,我们就完成了对简单数组的传递了,在上次我们说到了,对复杂数据类型的传递,同样的,将两者合起来,组成一维的对象数组也是可以进行传递的,但是比较别扭的是你不可以直接将得到的数组某个序列的值转换成相对应的类, 只能引用那么一大串来进行调用了.基本上关于webservice的相关知识已经写完了,可能还有相关的附件传输,不过我觉得已经有了文件的传输,附件的传输则显得有点复杂.对了,还有一个我空闲时间写的DLL,用来将JAVA的ResultSet对象转换为vb的RecordSet.

阅读全文>>

文件附件:
SOAPVBClient.rar 3.56 Kb
SOAPJavaService.rar 14.68 Kb

标签: SOAP webservice 复杂对象处理与传递 数组处理与传输

    通常来说,由于语言的设计思想不一样,在JAVA中定义的类并不能直接被VB拿来使用.在两者需要使用WebService来进行通信的时候,我们应该尽可能的减少使用复杂类型来传递数据.尽可能的从相关业务着手,尽最大可能将传输的类型转换成SOAP所支持的那些基本类型.由于VB的特殊性,并不能向其它的.NET或JAVA语言那样,所以在用VB做为客户端与JAVA所生成的服务器进行交互时,需要进行一些简单的处理,从而来达到传输复杂数据类型的目的.当然,也可能会有更好的方法来解决这些问题的,在MSSOAP30的帮助文档就相当的晦涩,当然更多的理由可能是自己的英文太不好了,当然,也可能是由于盗版的原因,我得到的资源并不是完整的,反正看得糊涂.不过庆幸的是,在计算机这行业里,特殊之于编程而言,计算机总是最好的老师.
    由于我的那个项目对方使用的是一种比较特别的数据库(cache),对于其而言,表可能是被当做一个对象处理了.(可能是错误的,因为我并没有弄过,只是和他们协助的时候,看过他们编码,呵呵,cache应该是一个混合体的怪物),由于需求,有时候可能会需要返回一条刻录集.就像我上面所言,记录集被当做一个对象来处理了,也就是刚所说的复杂的数据类型.通过JAVA模拟,我们可以简单的得知,其只是一个简单的类似于Bean结构的类.有各种属性,然后相对应的get与set方法,并必须得有一个默认的显式的构造函数.OK,我们进行了简单的模拟.按照我在传文件里写的方法,在成功生成完服务器端后,我们进行VB客户端的编写.OK,一切就绪.在正确的完成了上述工作后,我们可以得到以下结果,在此,我首先将JAVA构造类所需要的参数传递过去,然后接收到JAVA所构造好了的类.虽然我能接收到此类,但是也只局限于其参数,并且VB自己所映射的类的参数需要与JAVA相对应,并且,JAVA中此类的类属性必须为public.

阅读全文>>

标签: SOAP webservice 复杂对象处理与传递

我并没有这么好的文采,这笑话纯IT笑话.

我能抽象出整个世界...   
但是我不能抽象出你...   
因为你在我心中是那么的具体...   
所以我的世界并不完整...   
我可以重载甚至重写这个世界里的任何一种方法...   
但是我却不能重载对你的思念...   
也许命中注定了 你在我的世界里永远的烙上了静态的属性...   
而我不慎调用了爱你这个方法...   
当我义无返顾的把自己作为参数传进这个方法时...   
我才发现爱上你是一个死循环...   
它不停的返回对你的思念压入我心里的堆栈...   
在这无尽的黑夜中...   
我的内存里已经再也装不下别人...   
我不停的向系统申请空间...   
但却捕获一个异常---我爱的人不爱我...   
为了解决这个异常...   
我愿意虚拟出最后一点内存...   
把所有我能实现的方法地址压入堆栈...   
并且在栈尾压入最后一个方法---将字符串”我爱你,你爱我吗?”传递给你...   
如果返回值为真--我将用尽一生去爱你...   
否则--我将释放掉所有系统资源...   
给你更多的空间去追求幸福.......

       其实每个月都有那么篇用来描写这个月生活的文章,由于各种原因,我都没有及时发表.呵呵,昨天整理了下,现在一一放出.

        八月,这是一个充满着激情的月份,特别是在北京,由于奥运会的召开,往日热闹的人们变得更加的热闹了.大伟入手了一个相机,让我想买相机的心情变得更加的迫切了,后来发现剑锋也入手了一个,我先忍住我这骚动的心.这个月周六日基本上都是在外面看看朋友,基本上是从小学同学,初中同学,高中同学到大学同学.呵呵,好久没见,大家都相互想念了.对了九月,还有我的增肥计划......预计成功.

       我喜欢开源的东西,在月未的时候.由于负责的项目的另一方提供者迟迟没有提供解决方案,我的时间又变得多了些.没事,就去弄了下javafx,这算是比较新的一个东西,不过也是去年就提出来的东西了,不过使用的人现在看起来并不是很多,因为早之前就有相应的flex出现.看起来JAVA向桌面程序方面又加强了点,不过还是很不好.由于工作上并没有使用到它,所以我也基本上只当作兴趣只进行了一些简单的学习,当然,根据时间上我接着弄这东西的,因为看起来还是不错的.

        这是用JavaFx写的一个时针的窗体.

点击查看原图

标签: 生活

        在大多数SOAP中,其实需要使用到文件传输的机会不多,但是对于一些特殊的应用,则需要使用到图片或文件,在进行这方面的探索的时候,着实是走了一些弯路.近来心情开始变得不再那么的忧郁,思维也开始活跃起来,其实发现是自己将问题复杂化而已,枉费狂啃各种传输的机制,实属费力不讨好.在我的最近一个项目应用中,需要与另一将服务提供商进行webservice设计,在此,抱怨一下这工作效率,哎,我也没有办法,由于他们负责的service端,我只能先把client相关的调用方法写好,而进行了几个测试后,他们让我等待的是无限的等待,由此导致我的项目进展缓慢.在等待对方答复的时间里,我对文件的传输进行了再一步探究,因为按我以前的方法进行处理,虽然成功了,但是代码很长,需要进行些复杂的控制,着实累人,而已,我认为已经脱离了SOAP协议,去繁复简,其实用SOAP传输文件真的不是我做时想的那么难.在此,将我修改后的方法放出来,不过,就这东西,现在使用已经很落后了.哎,我也在努力跟随着时代,但有些事不是我能决定的.
       先将我的环境简单说下:服务器端环境如下:Eclipse 3.4(J2EE)/
       客户端如下:vb6.0/mssoap30.dll
       提供给客户端使用的方法. 发送文件:boolean uploadFile(String fileName,byte[] fileBytes)
点击查看原图
          

阅读全文>>

标签: SOAP SOAP发送文件 base64Binary webservice

        七月,是在迷茫的等待中度过的.那个我带的人也离职了.公司的年度计划时时时时刻刻都在改变,我也不知道自己能在年未的时候为公司作出什么自己应有的贡献,从年初的RPC到后来的JSF,最后到现在的无所事事,难道公司就是为了花工资而叫我们啥也不做吗?不过,在这段时间内,我倒是又沉迷于一些小算法上去了,写了好些算法,并对程序中的SQL算法进行了一些优化,我并没有啥特殊的爱好,惟一的足球也由于各种原因,现在都不踢了,一直说要找个场找个场,可一直没有行动.北京的街头开始有些奥运的气味了,可我的奥运门票并没有得到,虽然第四阶段可以现场买票,不过那对于我们这些朝九晚五的人来说那是不可能的事.七月,我弟也回家了,呵呵,虽然他可能不太喜欢回家,可耐不住我每次打电话都叫他回家看看,哎,无奈谁叫自己离家太远了,想家也只能把这个想法强加于弟弟身上去实现了.有一个不太好的消息是我发现自己的体重好像处于一个倒增长序列中去了.在农村的时候,七月其实是一个辛苦却充满着收获的喜欢的月份,4月份的稻子可以进行收割了,其他的副作物都已经快成熟了,而又得忙于下半年的播种,小时候真的就是在这样的喜悦中度过的,因为,可以不用去上学了.呵呵,大底我是不喜欢上学的.北京的天和家里的比起来一点都不热,真的不习惯于这冷气吹的,人也许就是这样被一些不应该需要的东西给惯的吧.如果有选择,我会选择没有不吹空调与冷气的.

阅读全文>>

标签: 生活

       月初的时候,发现自己是不是患上了强迫症,明明想干的是这件事,而我偏偏去干这件的相反处,特别是对对自己特别重要的人干得越多,我也不是小孩子了,都过了22岁的生日了,这是一个在法定可以结婚的年龄了,自己还如此的小孩子气.这个月的端午我又跑去天津了,再次看见了大海,天津有我高中的好哥们在那,不过我去的时候好像他出海了,再加上去得匆忙,我却没有联系他.在天津到处转转了,并没有去吃传说中的狗不理包子,连天津麻花有人买了都没给我吃点,呵呵,不过我倒并不是好吃,因为我当时也没有想着吃点啥.只是回来后去大伟那尝了点,他比我先去,回来的时候,虽然在一车,不过并没有遇上.大概和家里卖的那种是一个味道吧.可能公司走的人是有点点多吧,在我带新人的时候,公司也才给加了那么一小点公司,哎,我对此表示一定的沉默.从这月开始,得有4个月左右没有假期,真难过.这个月说实话,过得有点糊涂,当思想还在天津的时候,发现已经走到了6月的结尾了.哎,时间过得真快.

标签: 生活

       五月都快过完啦,嗯 嗯 心情不是很好。我想辞职,公司好多人都走了,待遇也不好算的。不过,这些仅仅是自己的想法而已,由于各种原因,我觉得很难实施,从个人来讲,我还是希望能再学习些东西,再进行打算,毕竟只有自己强大了才硬道理.我也在这个季节里打算考研,哎,看起来这个月自己的心思有点过于分散了,不知道为什么,总是有点想法的,我的注意力在很多时候非常的分散,我有时候都感觉到自己是不是需要进行些心理辅导,因为我的思维跳跃的幅度很多时候实在是过大.由于走了些人,又来了些新人,总是相对来说有点忙,公司可能出于战略上的考虑,给发了点补偿金.哎,不过杯水车薪呀.本来是打算去订购奥运会门票的,可惜,我们这的中国银行不提供此业务,哎,我又没有VISA卡,想当初真应该和大伟一起办张VISA的信用卡,8月能不能看到奥运会则只能看个人运气了.一个长长的五一,我跑去看海了,呵呵,远远的看海水真黑,不过走近了,当海浪拍打着石头的时候或海浪涌向沙滩的时候,海水则显示出其的纯白,突然,发现很不喜欢吃海鲜的我,在吃起海里的螃蟹时,并没有多少忌口.不过对于大多数海鲜,我是没有碰的欲望的.哎,没有相机,不能可以带点照片回来.如果今年一切顺利的话,我打算买个相机来玩玩.呵呵.留住自己走过的脚印.

阅读全文>>

        其实整个四月都是很忙的。因为我是在这个月份出生的(按公历算的,一般我们都按农历算的),呵呵,自己已经23了,哎,大了.整个工作忙得我有点晕头转向,忘记了很多重要的事,连我妈过生日也没打电话回去,真的很惭愧.古语有云,儿行千里母牵挂,我过生日每次都是我家提前一个星期就通知我,而我怎么就这么自私呢,真的有点想母亲了.这里的四月不像家里的四月,家里的四月雨基本上是下个不停的,而在这,则显得很是干燥,嘴巴老起皮,而我记得在家的时候,这样的事是不可能发生的,因为家里的墙在这个时候就像在下雨,整个墙上都是水珠,而地则永远是湿的,而天气则开始热了,打着赤脚在家乡田间行走感觉真的很好,到处都是绿油油的,在水沟里,你有时都能看到鱼苗.而在这由混泥土组成的城市,则基本上是看不到这样的情形的,有的只是回住的地方的一条绿水沟,每每上从其旁边经过的时候,都是用跑代替走的.

运气好的话,你能看到田地里到处黄黄的油菜花.(三月未4月初)



点击查看原图

        还记得毕业那会,我们宿舍几个兄弟每每晚上吃完饭就跑到园西路那卖药店的地方去称体重,呵呵,那时候怪好玩的,我那时虽然是几个兄弟中最轻的,但好歹也基本上都在58公斤左右.还不时调侃自己身材苗条.今天我到医院与人家做合作做接口时,中午吃完饭特意去称了称我的体重,嗯,冷不经吓我一跳,我居然只有50公斤了.虽然我对自己体重下降已有了一定的准备,但掉到这个重量还是很没想法,以这样的体重回家,我想我妈再也不会同意我出来了.是我不太会照顾自己吗?不大像,一日三餐,也没有厌食什么其他的,又没有害过病,饭量也很好.哎,我说怎么最近睡觉老咯得痛,木板与骨头硬碰硬的感觉真的不好受,我必须得让自己壮起来,不然,我身体真的会就这样的垮了.我的兄弟朋友们也要照顾好自己.

标签: 生活