Java SOA Client - HelloTeamcenter详解

客户数据模型(CDM)

客户端数据模型用于保存所有Teamcenter业务模型对象(ModelObject)。

该数据存储是服务操作返回的所有数据的累积。由于不同的服务操作返回相同对象实例(由UID标识)的副本,该存储中的该对象的单个实例将被更新。

只有当客户端应用程序进行显式调用以删除数据或服务器使用DeleteObjectEvent标记对象时,才会从该存储区删除对象。

ModelObject (com.teamcenter.soa.client.model)

这是存储在CDM中的对象的基本java类

该对象是TC服务器对象的客户端表示

对于松散类型的CDM,这个类用于表示任何TC服务器对象

对于强类型CMD,这个类是TC服务器对象的基类

Property(com.teamcenter.soa.client.model)

属性接口表示一个CMD对象上的单个属性。

通常,只有使用松散类型CDM的客户端应用程序才会使用这个接口。

强类型CDM将在ModelObject扩展的特定getXXX方法后面隐藏属性。

每个TC SOA服务客户端程序必须包含以下构建块

(都来自com.teamcenter.soa.client包)

CredentialManager

允许用户提供用户名和密码

CredentialManager只是一个接口。

实现接口的自定义类必须被实现(例如。通过在控制台上请求用户名和密码,如我们的程序中所示)

在HelloTeamcenter中,AppXCredentialManager是CredentialManager的实现

连接

使用指定的协议(HTTP、IIOP、TCCS)建立到指定服务器的连接

这个类通常只是实例化和进一步使用。

连接在AppXSession类中实例化,并在HelloTeamcenter程序执行过程中进一步使用

ModelManager

包装清洁发展机制

当创建Connection对象时,ModelManager会自动创建。

它存储ModelObject实例

提供向对象上发生的各种事件注册自定义监听器的可能性。

ModelEventListener

监听模型对象中的更改

例如,localObjectChange方法在加载的对象发生改变时被调用(作为调用某些服务操作的结果)。

类似地,当加载的对象被删除时,将调用localObjectDeleted。

AppXModelEventListener实现了ModelEventListener(在控制台显示事件)

PartialErrorListener

监听在调用服务操作时发生的部分错误。

这在日志记录中非常有用。

否则,对服务操作的调用可能会在调用操作的代码中本地处理部分错误。

AppXPartialErrorListener实现了PartialErrorListener(向控制台显示错误)

ExceptionHandler

处理InternalServerException类型的异常

ConnectionException表示服务器关闭

ProtocolException通常是由于程序代码中的错误——错误的HTTP报头,编组)

CanceledOperationException通常来自于登录操作

AppXExceptionHandler实现ExceptionHandler

对于ConnectionException,它询问用户是否想重试最后一次服务调用

对于其他异常,它将向控制台显示错误消息并重新抛出RuntimeException,这将导致程序HelloTeamcenter程序退出

调用SOA服务操作需要以下典型步骤。

1)获取服务实例

每个服务类(例如SessionService)都提供了一个静态方法来获取单例

2)准备操作的输入

输入的准备可能很简单,也可能相当复杂。

有些操作接受单个字符串,其他操作接受包含数组的结构体。

3)调用服务操作

调用操作通常不需要try-catch块,因为错误通常存储在ServiceData中。

因此,捕获异常的唯一地方是ExceptionHandler,它处理低级别的问题(例如服务器暂时关闭等)。

4)处理结果(检查部分错误或对结果做一些事情)

操作的通常结果是一个包含实际结果(例如String, ModelObject)的结构,以及ServiceData对象的实例。ServiceData对象还包含一个已创建、更新和删除的对象列表。

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

腿毛ger

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值