[原创]JBuilder+WebService实战

王朝java/jsp·作者佚名  2006-02-01
窄屏简体版  字體: |||超大  

这几天在一个成熟的Web系统上增加WebService接口,主要是查询方面的应用。WebService作为一个比较火的技术,相关的概念介绍网上已经很多,这里不再赘述。我只举个例子说明它的用途:假设你要从自己的网站上通过输入名字查询别人论坛上的用户列表,如果你的网站没有相关的资料及数据库,那在原来是不可能的。而现在有了WebService,别人可以从他的论坛提供接口,只要你通过SOAP协议连接上接口。通过方法名及参数,就可以很轻松的获取列表。换言之,WebService的作用就是使internet上的各个网站不再各自为战,不再是孤岛。

接下来说说我的开发过程。

开发工具是JBuilder2005,我想JBuilder的前几个版本应该大同小异。

通过JBuilder导航条上的File|New打开Object Gallery窗口,在窗口左边选择Web Services,接着在窗口右边选择Axis Web Services Server ConfiguRation,点击OK,会出现如下所示界面:

这里是让你选择一个带WEB-INF目录的Web module,如果没有这个目录,则选择New新建一个。我这里已经有了ROOT目录。接下来点击Next,勾选Create runtime……选择Finish,至此WebService框架完成。JBuilder会自动生成一个Apache Axis toolkit页面。

接下来建立类作为WebService接口,,例如我建立了一个WebService类:

import java.sql.*;

import java.util.*;

import org.jdom.*;

import com.hcinfo.egov.newui.DBConnection;

import javax.servlet.http.HttpSession;

import javax.xml.rpc.server.ServletEndpointContext;

import com.hcinfo.egov.webservice.*;

public class WebService {

DBConnection dbtool = new DBConnection();

Statement stmnt = dbtool.stmnt;

static Map userMap = new HashMap();

public String login(String userName, String userPassword) throws SQLException {

String outXml = "<?xml version=\"1.0\" encoding=\"GB2312\"?>";

outXml += "<WebResponse>";

outXml += "<method>login</method>";

ResultSet rs = null;

String sql = "省略……";

rs = stmnt.executeQuery(sql);

if (rs.next()) {

RandomGUID rg = new RandomGUID();

String sesseionid = rg.toString();

String userID = rs.getString("id");

outXml += "<result><code>0</code><message>成功</message><userid>" + userID +

"</userid>";

outXml += "<sessionid>" + sesseionid +

"</sessionid></result></WebResponse>";

userMap.put(userID, sesseionid);

}

else {

outXml +=

"<result><code>1</code><message>登陆失败,请检查用户名和密码</message><userid></userid>";

outXml += "<sessionid></sessionid></result></WebResponse>";

}

return outXml;

}

类建立好之后,在toolkit的Web Services Desiner中选择Create Service|java Service,在生成的图表中进行配置,如图:

如此,你的WebService接口就建立了,接下来运行服务,会自动生成wsdl文件。再接着就是客户端的开发了。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航