最近在写一个WebService可以动态加载其他WebService的项目
看似写的这个WebService就是一个二道贩子 不过我却犯难了……
目前为止也没什么思路 不过 搞清楚如何利用cmd命令(bat文件)生成WebService并调用
先说下生成WebService命令
这个命令分为五部分
一:
D:\tools\JDK6\bin\wsimport
这段是 你电脑上的jdk路径
二:
-d D:\tools\JDK6\bin
一样是JDK路径 不过具体是干嘛用的 没搞清楚
三:
-s D:\tools\JDK6\src
生成到那个文件夹下
四:
-p com.test.wbs.client
生成后文件需要在哪个包里
五:
然后接WebService的地址
这样就会在D:\tools\JDK6\src这个文件夹下 生成com/test/wbs/client文件夹
然后再这个文件夹下 就会生成需要的类
(*主意这五个部分中间需要有空格分割 另外 当使用cmd命令时第一部分bin目录以前可以直接用CD读取到 如果选择此方法 第二部分可以简化为 ../bin)
再说一下调用部分
网上说的调用 只有两个java文件(感觉很好弄的说) 可是…… 尼玛我从来就没生成出两个java文件 看着网上的帖子说的神乎其神的 不知道对不对反正我是没遇到过
好了吐槽结束
看接下来我们生成了很多个java文件 初学WebService的我(还是自学的)乍一看 好蒙 不过仔细看一下 还是很简单的
这里面的类大多都是说明方法之类的东西主要用到的确实是两个
仔细看这里面所有文件里 会有一个继承Service类的JAVA文件(后面叫做文件一)
还有一个接口的JAVA文件(后面叫做文件二)
这个文件一里有一个get方法 正好是get文件二的(get方法后面加上文件二的文件名)
文件二里的接口方法恰巧又是整个WebService的调用方法
所以 答案就简单了
先实例化文件一
然后文件二 = 文件一.get文件二
紧接着 文件二.方法名
这么说好像不太直观
举个例子
假如 有个WebService里有一个需要传入String并返回String的方法 test(String a);
然后对应的文件一 叫做TestService 文件二叫做Test
那么 上面的代码就可以写成这样:
TestService ts = new TestService();
Test t = ts.getTest();
String i = t.test("传入的字符串");
这个i 就是需要得到的结果……