一、安装
1、解压压缩包到同一个文件夹
2、点击即可打开
二、配置home
1、关联home,配置数据库
打开UAP_STUDIO集成环境:窗口——>首选项——>UAP-STUDIO集成开发环境——>开发配置
选择home目录,配置数据库
2、开发设置
窗口——>首选项——>Java——>已安装的JRE
设置参数:-Dorg.owasp.esapi.resources=${FIELD_NC_HOME}/ierp/bin/esapi
三、配置服务器
h o m e home home/bin中双击SysConfig.bat启动
1、配置服务器信息
点击读取
JAVA_Home路径改为: h o m e home home/ufjdk,IP地址改为:127.0.0.1,设置端口号随意,但不能被占用。
修改后保存。
2、配置数据源
选择左侧数据源,点击读取。配置如下,保存
四、配置客户端
UAP_STUDIO集成环境:窗口——>首选项——>UAP-STUDIO集成开发环境——>开发配置——>客户端连接
设置主机名和端口需要和之前配置的服务器端口一致
五、创建项目
1、创建项目
UAP_STUDIO集成环境:文件——>新建——>其他
第一次创建最好指定项目位置
2、创建项目组件
UAP_STUDIO集成环境:文件——>新建——>其他
创建需要一段时间,观察右下角的进度条
3、运行配置
先运行一下,然后终止运行
再进行运行配置
配置自变量:-Duap.hotwebs=lfw,portal,fs,uapws
4、创建接口类
先在public 建包,再在包下建类
5、为类配置rest
在之前的模块内开发:在** h o m e home home/modules/组件/META-INF**,找到后缀为rest 的文件,
做新模块:在modules下面创建组件/META-INF/*.rest文件。
<?xml version="1.0" encoding='gb2312'?>
<module>
<rest>
<resource classname="nc.pubitf.pu.m23.api.rest.ArriveBillResource" exinfo=""/>
<resource classname="nc.pubitf.pu.m21.api.rest.PurchaseOrderResource" exinfo=""/>
<resource classname="nc.pu.Hello" exinfo=""/>
</rest>
</module>
启动项目,调试运行都可以
启动需要很久,看到下面这个就是启动了
启动成功后:在浏览器上请求:http://127.0.0.1:2100/uapws/restmanage,看到刚刚配置的类就是成功了
六、编写接口
package nc.pu;
import javax.ws.rs.Consumes;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import nc.vo.scmpub.api.rest.utils.RestUtils;
import org.json.JSONString;
import uap.ws.rest.resource.AbstractUAPRestResource;
@Path("pu")
public class Hello extends AbstractUAPRestResource{
@Override
public String getModule() {
// TODO 自动生成的方法存根
return "pu";
}
@POST
@Path("helloword")
@Consumes({ "application/json" })
@Produces({ "application/json" })
public JSONString HelloWord(Object obj) {
return RestUtils.toJSONString(obj);
}
}
七、导补丁
找到导出的压缩包解压
把 **F:\NC接口\demo\replacement\modules ** 下的对应补丁复制到 h o m e home home/modules 下
八、重要方法语句
private static String UserId = "1001K11000000005ZN4N";
private static String pk_group = "0001K1100000000007Y8";
public static void SetEnvironment() throws BusinessException {
//1、免登录语句
NCLocator.getInstance().lookup(ISecurityTokenCallback.class).token("NCSystem".getBytes(), "pfxx".getBytes());
//2、设置用户
InvocationInfoProxy.getInstance().setUserId(UserId);
//3、设置集团
InvocationInfoProxy.getInstance().setGroupId(pk_group);
}
//如果没有执行以上代码,调用nc接口时会出错
//4、得到任意类,之后可以调用其方法
NCLocator.getInstance().lookup(类.class).方法(参数)
九、快捷键
F6:逐条调试
F8:下一个断点
ctrl+shift+t:搜类
ctrl+/:注释