金蝶EAS8.2二次开发,做webservice接口

1.WebService接口调用及调试
2.BoswebService原理
由SAOP,WADL,以及uudi等几块技术组成,以xml格式进行数据的传输
在bos中只能发布Entity和Façade两种元数据类型.在建立webService功能时最好使用Façade
并且提供简单类型的输入和返回值.
3.webService建立
建立需要发布的façade,建立简单的业务逻辑
在设计模式点击右键发布webService(如下图所示)
在这里插入图片描述

在(java发布目录)E:webService里面打开com这个包,找到生成的webService类文件
再打开Java透视图,建一个一模一样的类(包路径,类名一样).以上步骤完成之后

4.webService发布:
注意 :部署应用之前 请先停EAS服务
元数据文件: dev_cjdl_metas.jar
Class文件: dev_cjdl_classes.jar
WS 接口文件:CalcPersonFacade.wsdd
class:
D:\Kingdee82\eas\server\deploy\fileserver.ear\easWebClient\lib\sp
D:\Kingdee82\eas\server\lib\sp
元数据:
D:\Kingdee82\eas\server\deploy\fileserver.ear\easWebClient\metas\sp
D:\Kingdee82\eas\server\metas\sp
webService 地址:
D:\Kingdee82\eas\server\deploy\eas.ear
WS部署:
1、以压缩软件打开文件 :D:\Kingdee82\eas\server\deploy\eas.ear\web.war,
2、把WS 接口文件放到web.war\web-inf 路径下
2、以文本打开:server-config.wsdd
3、将WS接口文件的service节点放到server-config.wsdd 对应的节点
3、生成子系统树
4、重启服务,输入地址测试:http://localhost:6888/ormrpc/services,出现下图为部署正常
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
5.测试webService:
注意在调试自己的webService时,一定要先调用登录的方法再对自己的webService进行调试
在这里插入图片描述
在这里插入图片描述
打开浏览器,输入地址:http://server-ip:port/ormrpc/services,应该可以看到新建的Webservice,右键点击相应的wsdl,选择另存为…,扩展名改为wsdl,就可以下载客户端开发使用的wsdl文件。
五.客户端开发
注意:

  1. 在myeclipse上通过wsdl创建客户端好像有问题,请使用eclipse
  2. 使用EAS的WebService之前,必须先通过EASLogin Web服务登录(运行EAS登录接口),否则会产生认证错误。EASLogin里有两个login方法,只调用参数如下的login:
    String userName//EAS登录用户名,可以是user或其他有效的用户名
    String password//EAS用户登录密码
    String slnName //eas
    String dcName //注册的数据中心名称
    String language//登录的语言 L2
    Int32 dbType //数据类型,0:MSSQL,1:ORACLE
    新建java项目,把下载的wsdl文件拷贝到项目中,右键点击,选择:Web Services—>Generate Client,产生客户端代理类。

打开浏览器,输入地址:http://server-ip:port/ormrpc/services,应该可以看到新建的Webservice,右键点击相应的wsdl,选择另存为…,扩展名改为wsdl,就可以下载客户端开发使用的wsdl文件。
五.客户端开发
注意:

  1. 在myeclipse上通过wsdl创建客户端好像有问题,请使用eclipse
  2. 使用EAS的WebService之前,必须先通过EASLogin Web服务登录(运行EAS登录接口),否则会产生认证错误。EASLogin里有两个login方法,只调用参数如下的login:
    String userName//EAS登录用户名,可以是user或其他有效的用户名
    String password//EAS用户登录密码
    String slnName //eas
    String dcName //注册的数据中心名称
    String language//登录的语言 L2
    Int32 dbType //数据类型,0:MSSQL,1:ORACLE
    新建java项目,把下载的wsdl文件拷贝到项目中,右键点击,选择:Web Services—>Generate Client,产生客户端代理类。
    客户端代码示例:
    package test;
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.IOException;
    import java.io.InputStream;
    import java.rmi.RemoteException;
    import javax.xml.rpc.ServiceException;
    import _252._10._168._192.ormrpc.services.EASLogin.EASLoginProxy;
    import _252._10._168._192.ormrpc.services.EASLogin.EASLoginProxyServiceLocator;
    import _252._10._168._192.ormrpc.services.WSImportBudgetDataFacade.WSImportBudgetDataFacadeSrvProxy;
    import _252._10._168._192.ormrpc.services.WSImportBudgetDataFacade.WSImportBudgetDataFacadeSrvProxyServiceLocator;
    import client.WSContext;
    public class test {
    /**
  • @param args
    /
    public static void main(String[] args) {
    try {
    EASLoginProxyServiceLocator loginLocator = new EASLoginProxyServiceLocator();
    EASLoginProxy loginProxy = loginLocator.getEASLogin();
    System.out.println("------ 开始登录服务器 … “);
    WSContext context = loginProxy.login(“user”, “kduser”, “eas”, “test01”, “L2”, 1);
    System.out.println(”------ 登陆成功,SessionID:" + context.getSessionId());
    WSImportBudgetDataFacadeSrvProxyServiceLocator importBudgetDataLocator = new WSImportBudgetDataFacadeSrvProxyServiceLocator();
    WSImportBudgetDataFacadeSrvProxy importBudgetDataProxy = importBudgetDataLocator.getWSImportBudgetDataFacade();
    System.out.println("------ 导入预算数据开始 … “);
    String filePath = “F:/汇中金融集团-重庆江北个贷一部-2016年-测试模板1.xls”;
    InputStream is = new FileInputStream(filePath);
    int fileSize = is.available();
    byte[] datas = datas = new byte[fileSize];;
    String orgNumber=“01102”;
    String templateName=“汇中金融集团-重庆江北个贷一部-2016年-测试模板1”;
    is.read(datas);
    String result = importBudgetDataProxy.importBudgetData(datas, orgNumber, templateName);
    System.out.println(result);
    System.out.println(”------ 导入预算数据结束 … ");
    } catch (ServiceException e) {
    e.printStackTrace();
    } catch (RemoteException e) {
    e.printStackTrace();
    } catch (FileNotFoundException e) {
    e.printStackTrace();
    } catch (IOException e) {
    e.printStackTrace();
    }
    }
    }
    2、
    package test;
    import java.io.FileInputStream;
    import java.io.IOException;
    import java.io.InputStream;
    import java.net.MalformedURLException;
    import java.net.URL;
    import javax.xml.namespace.QName;
    import javax.xml.rpc.ParameterMode;
    import javax.xml.rpc.ServiceException;
    import javax.xml.rpc.encoding.XMLType;
    import org.apache.axis.client.Call;
    import org.apache.axis.client.Service;
    public class test2 {
    /
    *
  • @param args
    */
    public static void main(String[] args) {
    try {
    String filePath = “F:/XX个贷一部-2016年-测试模板1.xls”;
    InputStream input = new FileInputStream(filePath);
    int fileSize = input.available();
    byte[] datas = datas = new byte[fileSize];
    String orgNumber=“01102”;
    String templateName=“XX个贷一部-2016年-测试模板1”;
    input.read(datas);
    Service service = new Service();
    Call call = (Call)service.createCall();
    //wsdl地址
    call.setTargetEndpointAddress(new URL(“http://192.168.10.252:6888/ormrpc/services/WSImportBudgetDataFacade”));
    //设定调用3分钟不返回则超时
    call.setTimeout(new Integer(180000));
    //你需要远程调用的方法
    call.setOperationName(new QName(“http://192.168.10.252:6888/ormrpc/services/WSImportBudgetDataFacade”,“importBudgetData”));
    //方法参数,如果没有参数请无视
    call.addParameter(“datas”, XMLType.XSD_BASE64, ParameterMode.IN);
    call.addParameter(“orgNumber”, XMLType.XSD_STRING, ParameterMode.IN);
    call.addParameter(“templateName”, XMLType.XSD_STRING, ParameterMode.IN);
    //设置返回类型,接口返回的json,用string接收
    call.setReturnType(XMLType.XSD_STRING);
    String result = (String) call.invoke( new Object[] { datas,orgNumber,templateName });
    System.out.println(result);
    } catch (ServiceException e) {
    e.printStackTrace();
    } catch (MalformedURLException e) {
    e.printStackTrace();
    } catch (IOException e) {
    e.printStackTrace();
    }
    }
    }
  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
金蝶EAS 8.2数据字典是一个用于管理企业应用系统中各种数据元素的工具。它包含了系统中使用的所有数据项的定义和描述,帮助用户更好地理解和管理系统中的数据。这个数据字典可以在系统开发和维护过程中提供重要的参考和指导。 首先,金蝶EAS 8.2数据字典包括了各种数据项的定义。这些定义包括了数据的名称、类型、长度、格式等信息,使得用户可以清楚地了解每个数据项的含义和特征。例如,可能有一个数据项叫“客户姓名”,它的类型是字符串,长度为30个字符,格式为中文或英文。 其次,数据字典还包括了数据之间的关系和依赖关系。通过数据字典,用户可以清楚地看到不同数据项之间的关系,比如一个数据项是否是另一个数据项的子集,或者两个数据项之间是否存在某种关联。这样的信息对于系统的设计和开发非常重要,可以帮助开发人员准确地理解和处理数据之间的关系。 此外,金蝶EAS 8.2数据字典还提供了数据项的描述和用途。用户可以在数据字典中找到每个数据项的描述,了解其具体的用途和功能。这个描述信息可以帮助用户更好地理解系统中的数据,在使用系统时出正确的决策。 总的来说,金蝶EAS 8.2数据字典是一个重要的工具,可以帮助用户更好地管理和理解系统中的数据。通过数据字典,用户可以清楚地了解每个数据项的定义和描述,掌握数据之间的关系,以及了解每个数据项的用途和功能。这些信息对于系统的开发、维护和使用都非常有帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值