[Teamcenter 2007 开发实战] 获取错误或提示信息

前言

TC 的开发分为CF 端开发和Web 端开发。

CF端和Web 端各自有自己的错误信息提示方式。

两种方式是否可以有一些整合?

整合的好处即统一了显示, 又减少了重复

CF 端错误信息

CF 端错误一般是给OMF 端来使用的。

OMF是一个富客户端的程序。 错误方式就是弹出一个窗口。

代码开发方式如下:

    	CheckDstat(uiShowText("errText001", NULL, UI_ATTENTION_TEXT, *mfail, WHERE));
	*mfail = 11001;
	goto CLEANUP;

errText001 是定义在met  中的错误信息

11001 是给这个错误一个编号, 方便错误定位。

Web 端错误信息

Web 端错误信息提示方式一般是转到一个错误页面, 显示错误的信息:

代码方式:

			ActionComponentUtil.createErrorBean(arguments, errMsg);
			return options.getOption("failure");

这里的errMsg 就是定义的一个错误信息的字符串。

两者的整合

其实默认OOTB 的状况下, 这两者已经进行了一定的整合,就是但出现一些错误信息的时候, 跳转到的错误信息的页面就是CF端的错误信息。

对于开发者来说, 就要知道这两者是如何整合的了。

先说一个可能出现的误区:

就是在java 端通过try catch MfailException 是否就可以取到错误信息了呢? 答案是不可以, 这个异常里只有 mfail 1001 这样的代表服务端出错的信息, 具体的错误信息并没有。

它们之间是通过StatusReporter 这个类进行衔接的, 这个类的实例可从session 中取得, 具体的获取代码如下:

		StatusReporter sr = null;
		try {
			sr = session.getStatusReporter();
		} catch (AuthorizationException e2) {
			// TODO Auto-generated catch block
			e2.printStackTrace();
		} catch (AuthenticationException e2) {
			// TODO Auto-generated catch block
			e2.printStackTrace();
		}
		Status[] status_msg = null;;
		String msg = "";
		try {
			status_msg = sr.getStatus(1);
			if (status_msg != null) {
				for (int len = 0; len < status_msg.length; ++len) {
					msg = status_msg[len].text;
					msg = msg.replace(‘\n‘, ‘ ‘);
					System.out.println("message=" + msg);
				}

			}
		} catch (Exception e1) {
			msg = e1.getMessage();
		}

实际web 端使用类似:

			String errMsg = swcomProcessor.getCFErrMsg();
			ActionComponentUtil.createErrorBean(action_context, arguments, new EnterpriseException(errMsg));
			return options.getOption("failure");	

ActionComponentUtil.createErrorBean(arguments,errMsg);

至于StausReporter 是如何构建出来的, 还有待继续研究了。

[Teamcenter 2007 开发实战] 获取错误或提示信息

时间: 2024-10-12 02:42:40

[Teamcenter 2007 开发实战] 获取错误或提示信息的相关文章

[Teamcenter 2007 开发实战] 调用web service

前言 在TC的服务端开发中, 可以使用gsoap 来调用web service. 如何使用 gsoap  , 参考 gsoap 实现 C/C++ 调用web service 接下来介绍如何在TC中进行开发. 开发的方式与环境搭建 在TC的CF端调用webservice , 可以把gsoap 产生和完成的代码打成一个  .lib 的文件(windows, 在linux 下是 .a 的文件) 这里使用的开发工具是 visual studio . 新建一个空的项目, 语言选 C++的就可以了 创建完成

[Teamcenter 2007 开发系列] web 非空验证

前言 TC 2007 的Web 端,页面简洁也简单. 非空验证的话,直接在后面加上一个 红箭头+ "Required value is not specified." 这样一些红色的提示信息. 而这种验证看上去又是和CF端的form 的定义管理起来的. 定义成require 的属性会做这种验证. 那么在web 端实现的机制是怎样的呢? 是否可以不和CF端绑定,在 Web端直接进行这种验证呢? 实现机制 以创建一个物件为例,关键的action-component 是 ModelEntit

iOS项目开发实战——获取网页源代码的二进制数据

我在上一篇博客<iOS项目开发实战--iOS网络编程获取网页Html源代码>中讲述了如何获取一个网页的HTML源代码,可以满足一定的需求.但是由于特殊原因,我们想获取的是一个网页的二进制数据,那么应该怎么办呢? 具体实现如下: (1)创建一个iOS项目,Language选择Swift,然后在ViewController.swift 中写入如下代码: override func viewDidLoad() { super.viewDidLoad() var data = NSData(conte

微信公众平台网页开发实战--3.利用JSSDK在网页中获取地理位置(HTML5+jQuery)

复制一份JSSDK环境,创建一份index.html文件,结构如图7.1所示. 图7.1  7.1节文件结构 在location.js中,封装“getLocation”接口,如下: 01 wxJSSDK.location = function(locationApi){ 02 if(wxJSSDK.isReady){ //wxJSSDK.isReady 查看微信JSSDK是否初始化完毕 03 if(locationApi){ 04 locationApi.getLocation && wx

Python开发实战教程(8)-向网页提交获取数据

来这里找志同道合的小伙伴!↑↑↑ Python应用现在如火如荼,应用范围很广.因其效率高开发迅速的优势,快速进入编程语言排行榜前几名.本系列文章致力于可以全面系统的介绍Python语言开发知识和相关知识总结.希望大家能够快速入门并学习Python这门语言. 本次课程是在掌握python基础之上进行的.基础没有学习的话建议先查看文章学习基础目录:Python开发实战系列教程-链接汇总,持续更新.进行学习. 最近几天感冒中,四肢乏力以及最近比较忙导致,更新较慢.还请见谅. 概述 很多时候我们需要给网

Node.js继承中的静态类对象(《node.js开发实战详解》书中一些错误的改正)

今天气真好,最近挂掉一些面试之后心情略失落. 神马都是浮云,要永远做好世界第二. 不多提了,你问我心态为啥变好了.-------都是情怀,,. 嗯啊,最近在研究node. 别人问?你这水平还node... 哈哈哈,好伤心.... 不多提了,言归正传. 神马模块化神马的先就不多讲了,就一个module.export和export区别,后者对象的属性属于前者,逆命题不成立. 还有util.inherits(A,B)这个API注意一下A只会继承B的原型方法,原型以外的不会继承.不是说原型中数据是共享的

面向Web Cloud的HTML5 App开发实战:Browser&amp;HTML5&amp;CSS3&amp;PhoneGap&amp;jQuery Mobile&amp; WebSocket&amp;Node.js(2天)

如何理解Android架构设计的初心并开发出搭载Android系统并且具备深度定制和软硬整合能力特色产品,是本课程解决的问题. 课程以Android的五大核心:HAL.Binder.Native Service.Android Service(并以AMS和WMS为例).View System为主轴,一次性彻底掌握Android的精髓. 之所以是开发Android产品的必修课,缘起于: 1,     HAL是Android Framework&Application与底层硬件整合的关键技术和必修技

《iOS 7 应用开发实战详解》

<iOS 7 应用开发实战详解> 基本信息 作者: 朱元波    管蕾 出版社:人民邮电出版社 ISBN:9787115343697 上架时间:2014-4-25 出版日期:2014 年5月 开本:16开 页码:382 版次:1-1 所属分类:计算机 > 软件与程序设计 > 移动开发 > iPhone 更多关于>>><iOS 7 应用开发实战详解> 编辑推荐 新版本 全面讲解了iOS 7开发的各种技术 热门技术 基本控件.数据存储.多场景处理.界

新书《Jfinal极速开发实战》正式发布

JfinalUIB学习交流QQ群 :309647612 书籍整个创作周期从2015年8月1日开始到2015年9月10日,时间仓促,难免有瑕疵,希望大家能够指出存在的问题,我会不断的更新纠正,谢谢大家! 前四章免费阅读,内容会持续定期更新,紧随Jfinal的发展,希望大家看看做出评价,谢谢!   百度阅读地址 :http://yuedu.baidu.com/ebook/3fc54b55d5bbfd0a7956739f 目录 Jfinal极速开发实战... 为什么要写这本书... 3 读者对象...