- 1、本文档共16页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
BOS_WebService开发指南
BOS_WebService开发指南
BOS_WebService开发指南
BOSWebService开发指南
LE开发部冯侃2014-05-19
建立Fa?ade或者Entity,本案例中以Fa?ade为例,Entity可以参考
在BOSStudio工具中建立fa?ade,在fa?ade加入相应的调用方法,可以加入多个。将新建的facade发布,生成相应的JAVA代码(注意:发布时要勾选“生成配置文件”)。
详细操作,及需要注意的地方,如下面所示:
1、如下图所示,在路径com.kingdee.eas.custom.webinterface.app下,新建方法fa?ade:PublicServiceFacade.fa?ade。
2、如下图所示,进入到PublicServiceFacade.fa?ade方法页签中,点击右侧的“增加”按钮,在“详细信息”分类下面填入:名称(inputData)、别名(inputData)、描述(inputData)、返回值类型(String),其它为默认值。在“参数”分类下面填入:名称(StringXML)、数据类型(String)、别名(StringXML)、描述(StringXML)。此时方法添加完毕,保存PublicServiceFacade.fa?ade。
二.在BOSStudio中选择Fa?ade发布WebService
1、如下图所示,在“金蝶BOS设计开发工具透视图”模式中,选中PublicServiceFacade.fa?ade右击鼠标,弹出下拉框,选择“发布WebService”操作,会弹出下图二中的对话框:“请选择要发布的方法”。这里:勾选“全选”复选框、勾选“追加到配置文件”复选框、在“JAVA发布目录”中填入D:\Tmps路径、在“WSDL发布目录”中填入D:\Tmps路径。点击“完成”按钮。在控制台中会打印出相关提示语句,见本组图三显示的内容。
2、“发布WebService”操作成功后,会在上面图二的路径中,自动生成一个.wsdd后缀的文件。如下图中所示的为:D:\Tmps\PublicServiceFacade.wsdd。
3、如下图所示,在“金蝶BOS设计开发工具透视图”模式中,选中PublicServiceFacade.fa?ade右击鼠标,弹出下拉框,选择“发布”操作,见下面的图一所示,生成相应的JAVA代码,切换到“Java透视图”模式,刷新该工程,可见生成的JAVA代码,见下面图二。
4、代码整理工作一:由于BOS7.0.1自身的BUG缺陷引导致,无法发布生成一重要接口方法,这里我们只能手工添加,其包路径为:com.kingdee.eas.custom.webinterface.app.webservice,注意:该包路径的由来是在PublicServiceFacade.fa?ade路径:com.kingdee.eas.custom.webinterface.app的基础上加上webservice包而成。所以这里新建包:com.kingdee.eas.custom.webinterface.app.webservice,在其中新建类:WSPublicServiceFacadeSrvProxy.java,详细的代码如下(注意:代码中红色标注单词的对应关系,其它都为通用的,其它webservice接口程序该类的新建,直接可以将标红处,换成新接口的定义的类名即可):
publicclassWSPublicServiceFacadeSrvProxy{
publicvoidinputData(StringStringXML)throwsWSInvokeException{
try{
getController().inputData(StringXML);
}catch(Throwablee){
thrownewWSInvokeException(e);
}
}
privateIPublicServiceFacadegetController(){
try{
if((WSConfig.getRomoteLocate()!=null)(WSConfig.getRomoteLocate().equals(false))){
Messagemessage=MessageContext.getCurrentContext().getRequestMessage();
SOAPEnvelopesoap=message.getSOAPEnvelope();
文档评论(0)