这几天一直在研究axis2的用法,今天突然想到以前用java写的一个单亲遗传算法,想利用axis2发布为一个web服务,为以后用
WSBPEL调用web服务的形式调用这个算法作基础。先不说这么多,先看实现的过程。
1:将原算法中的main()函数,改为一般的函数,如public static String pga() ,实现单亲遗传算法的功能。
2:利用博客axis2创建web service(二)“利用axis2发布为Web服务”
3:axis2创建web service(三)发布为客户端进行调用。代码如下:
package edu.cqu;
public class SimpleClient {
/**
* @param args
*/
public static void main(String[] args) throws Exception {
for(int i=0;i<10;i++){
OrderOptimStub stub = new OrderOptimStub();
System.out.println("/n afd "+stub.OrderOptim().get_return());
}
}
}
调用单亲遗传算法十次,得到的解如下:
log4j:WARN No appenders could be found for logger (org.apache.axis2.description.AxisService).
log4j:WARN Please initialize the log4j system properly.
afd 14 15 8 9 4 10 11 5 19 20 6 12 13 7 2 21 16 3 18 17 1
afd 10 11 5 19 20 6 12 13 7 2 21 16 3 18 17 14 15 8 9 4 1
afd 10 11 5 19 20 6 12 13 7 2 21 16 3 18 17 14 15 8 9 4 1
afd 16 3 18 17 14 15 8 9 4 10 11 5 19 20 6 12 13 7 2 21 1
afd 10 11 5 19 20 6 12 13 7 2 21 16 3 18 17 14 15 8 9 4 1
afd 10 11 5 19 20 6 12 13 7 2 21 16 3 18 17 14 15 8 9 4 1
afd 14 15 8 9 4 10 11 5 19 20 6 12 13 7 2 21 16 3 18 17 1
afd 16 3 18 17 14 15 8 9 4 10 11 5 19 20 6 12 13 7 2 21 1
afd 10 11 5 19 20 6 12 13 7 2 21 16 3 18 17 14 15 8 9 4 1
afd 16 3 18 17 14 15 8 9 4 10 11 5 19 20 6 12 13 7 2 21 1
备注:将一个java应用程序发布为Web服务时,只需要指定对应的.class的服务函数所在路径,axis2会自动打包为对应的.wsdl,并成功发布为Web服务形式,对程序中其他的类,会自动加载。