??????? axis是apache开源组织的一个soap服务器引擎。它是一个独立的东东,它可以运行在tomcat ,jboss等容器里。至于它的介绍csdn文档中心里已有很多文件。我之所以写这编文章,是想对这两天工作的一个总结。同时对初学者有所帮助,俺第一次写文章,写得不好,请大家见谅!。
1 )下载axis,解压放到tomcat/webapps/ 里。在浏览器里输入http://localhost:8080/axis? 看是否能正常运行,如果正常就进入下一步.不正常请查阅相关资料.
2)
??????? 用jcreator 建立一个类源文件如下:
???????????????? public class pdw {
?
???????????????????????? ?public int add(int a ,int b){
??
??????????????????????????????? ??return a+b;
???????????????????????????? }
?
??????????????????????? ?public int sub(int a,int b){
??
??????????????????????????????? ??return a-b;
?????????????????? ?}
}
这个源文件名为pdw.java,把这个类拷贝到tomcat/webapps/axis 里面,并把文件的扩展名改为pdw.jws。然后在浏览器里输入http://localhost:8080/axis/pdw.jws?wsdl 看能不能生成wsdl标准的xml文件,如果生成那么就ok!我们进入第三步!
3)soap的客户端必须得要用delphi 开发,这个项目要求,因为这个信息平台是建立在linux上的。而我的那个块是运行在windows上的应用。
??????? 运行delphi-新建一个application?-保存,然后下图放下相应的控件
窗件编辑完了以后,我们必须要引入wsdl接文件件。方法如下:
??? 文件-new -other-webservice? 选择wsdl import 引入我们的wsdl文件。在弹出的窗体的location of wsdl file or url 文件框里输入http://localhost:8080/axis/pdw.jws?wsdl (第二步用过的)。点击"next "如果不需要改就再单击"完成"这样就在delphi里生成了一个pdw1.pas(实际上这就是一个接口文件,通过这个接口就可以访问我们pdw.jws里的函数)。这样我们的delphi项目里就有了两个unit文件了,在窗件的源文件unit1.pas 里的implementation 下面引入我们的接口文件(pdw1.pas)方法是添加一句代码(uses pdw1)
?4) 编辑我们的按钮事件。代码如下!
procedure TForm1.Button2Click(Sender: TObject);
var
?pobj:pdw;
?a,b,c:integer;
begin
? pobj:=httprio2 as pdw;
? a:=strtoint(edit1.Text);
? b:=strtoint(edit2.Text);
? c:=pobj.add(a,b);
? edit3.Text:=inttostr(c);
end;
注:httprio2 是在webservice控件栏里的一个thttprio控件,把这个控件拖进窗体并设置它的WSDLLocation 的值为http://localhost:8080/axis/pdw.jws?wsdl? 和service ,port 的值就ok了!
5)运行程序测试吧!