PLM之家PLMHome-工业软件践行者

Teamenter SOA开发源码:通过user ID 找 User

[复制链接]

2018-10-9 01:46:46 3404 0

2470

主题

1275

回帖

8万

积分

管理员

PLM之家站长

积分
82162
QQ
发表于 2018-10-9 01:46:46 | 显示全部楼层 |阅读模式

请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!

您需要 登录 才可以下载或查看,没有账号?注册

x

& K! i' e1 ?$ W- k# HTeamenter SOA开发源码:通过user ID 找 User; z6 a$ v2 J4 ]) e
, u( B7 g% u* U3 E
[mw_shl_code=applescript,true]import com.Teamcenter.services.strong.query.SavedQueryService;  J5 \) x! [3 ?1 I
import com.teamcenter.services.strong.query._2006_03.SavedQuery.GetSavedQueriesResponse;2 p" \$ i  C& q+ E
import com.teamcenter.services.strong.query._2007_09.SavedQuery.SavedQueriesResponse;
4 {6 `7 K7 Y! s5 B  ^* Bimport com.teamcenter.services.strong.query._2008_06.SavedQuery.QueryInput;
, G# Y7 w/ e: @3 q0 \3 q5 aimport com.teamcenter.services.strong.query._2007_09.SavedQuery.QueryResults;1 o0 k7 [0 B6 ^  ^, U0 {0 t. t
import com.teamcenter.services.strong.core.DataManagementService;* i8 a$ L# }/ N: h3 S& j
import com.teamcenter.soa.client.model.ModelObject;
: |, Y7 x7 I9 J$ aimport com.teamcenter.soa.client.model.ServiceData;
% M3 W. o1 M8 g! E8 D1 E. z0 x! T1 himport com.teamcenter.soa.client.model.strong.ImanQuery;# e6 p- ^1 |; D* O, q- M9 b

' l! K: b8 d- \  r% P, g# Timport com.teamcenter.soa.client.model.strong.User;: P! r6 n$ C6 D5 j9 x8 @% A

( r( S  _- t, b# J) }9 b
7 {( S$ |, ^3 a  U! s. w, ]: w0 i    public User findUser(String userId), m& i% ~: {$ c6 {
    {2 K! E& Q* D* [8 o5 m" o8 p
        ImanQuery query = null;
# Z' Z" p' l' v" c6 M        User user = null;: i$ o8 f: ~, v
        2 f9 B* M, m6 j/ P6 B

9 y0 X  L# V& x        SavedQueryService queryService = SavedQueryService.getService(AppXSession.geTConnection());
$ {; q# C  |+ S+ M( {4 {% M        DataManagementService dmService= DataManagementService.getService(AppXSession.getConnection());" z0 z7 Q+ E6 e' Y5 J3 [; P* N
        
8 T; f& r, [- F, R  j        try
) l' @4 v( d% O" ~0 j        {
0 i8 A! b* T* C5 }) D3 d$ M" U% T            GetSavedQueriesResponse savedQueries = queryService.getSavedQueries();
9 ^# K$ Y3 }' F- e7 z            if (savedQueries.queries.length == 0)
. G7 l6 A; G. W0 {% B& B, ~            {
1 }0 r. Y/ P- @- X; b                System.out.println("There are no saved queries in the system.");
4 k( o0 Q6 m$ o) A, K- V                return user;- r- H, `( R4 m
            }
3 \7 r3 |/ r4 f4 @            & ?- f/ |* @, z/ o( u2 {
            for (int i = 0; i < savedQueries.queries.length; i++)) j$ x7 O9 I6 v6 p" l
            {  H' l3 l2 J8 j  n9 w+ l0 x

* V' g" n& l$ a' i4 c                if (savedQueries.queries.name.equals("__WEB_find_user"))
, Z+ e' e) ^+ q' e                {# W' _& J) `# ?$ A5 B
                    query = savedQueries.queries.query;3 R" K. t' |0 _% k$ g
                    break;
0 h/ d% L) s9 x& _5 @+ i9 U8 ?                }
7 |: W" T0 K: _  b            }
& A( E1 `$ E# G5 Y  Y        }
- u% [' |0 d* y: `        catch (ServiceException e)
& F6 |7 H# e& m* v+ @1 v# U        {
1 ^0 u6 U2 {/ w: [6 G9 |            System.out.println("GetSavedQueries service request failed.");
- H" E5 E9 h( X# L3 _            System.out.println(e.getMessage());3 g. |9 n  U! e3 ~
            return user;5 g% O$ z' y/ f! k; U
        }( [, s+ A8 Y3 U1 R& y2 \
; ^# g5 y2 h5 c* x) e7 p& ^
        if (query == null)
: F% R/ D" ]/ W5 @0 ]3 C        {
4 n6 a% k/ C$ m            System.out.println("There is not an '__WEB_find_user' query.");
) ?0 X# Z! O0 n5 L) ?. y" W4 |" f( m            return user;  I* @6 B* I7 @7 ]+ W, D6 Q
        }
- u8 f- i7 r* P; F
$ }9 D* x, X7 H        try4 o5 H8 C4 R5 o, Y4 U5 }/ b
        {
4 c9 U4 \) B! ~7 o- f# J+ v            QueryInput savedQueryInput[] = new QueryInput[1];
1 L- E  C0 v- \$ g% U' q3 }: t: g% D            savedQueryInput[0] = new QueryInput();
. g; }8 e" `6 o. ~2 e            savedQueryInput[0].query = query;
' S: {$ e: ]9 k* r9 _% j$ H            savedQueryInput[0].entries = new String[1];
4 `# K5 f, Z/ @7 Z2 Q/ w  j! u4 A            savedQueryInput[0].values = new String[1];
. }; }$ j2 j& x( u            savedQueryInput[0].entries[0] = "User ID" ;
8 v+ W8 w; K8 @+ I. [, t; w" K            savedQueryInput[0].values[0] = userId;
1 n( k) G( v/ D3 h            savedQueryInput[0].maxNumToReturn = 25;$ X- b1 l0 G4 K8 ?9 y# ]; g
            4 L. M" L% ]7 J! l
            SavedQueriesResponse savedQueryResult = queryService.executeSavedQueries(savedQueryInput);* h9 u! L7 r: ?  W- e
            QueryResults found = savedQueryResult.arrayOfResults[0];; H* Z+ P4 I5 q+ [/ a; R+ `

. k8 p' c( P8 _3 Z- f) x            int length = found.objectUIDS.length;2 R- b/ G4 \. g& x
            + k! q5 M8 y* G. Q. t) X( @
            String[] uids = new String[length];
! Z. w7 t- p( Y: T6 {+ u1 E7 u            for( int ii = 0; ii < length; ii++)) i! Z* Y, V& C
            {! N3 K, Y0 u  r- G. `
                uids[ii]= found.objectUIDS[ii];. u) l$ e/ {& }) T; m) F/ \( e
            }
- A  C* t( @6 k% m! K5 C8 i            ServiceData sd = dmService.loadObjects(uids);
% M, h( ^9 _6 E" q0 r* A' _' C            ModelObject[] foundObjs = new ModelObject[ sd.sizeOfPlainObjects()];( e5 r, R, r/ B* h- \
            for( int k =0; k< sd.sizeOfPlainObjects(); k++)' }* o) q4 O" \) ]6 w  @
            {5 T% R6 q/ i" v; e
                foundObjs[k] = sd.getPlainObject(k);+ s9 `/ l! ^# i. h
            }1 u- y0 E! M- C% q
            user = (User) foundObjs[0];   
/ U: n+ h& ^6 V: ^9 h2 D/ c$ K4 P        }
  p" b; y; |' F        catch (Exception e)
( b) ~6 a8 d* J# \% a1 `        {
' E4 @+ K: v; G, `7 Z            System.out.println("ExecuteSavedQuery service request failed.");/ h7 v7 i2 U1 _. ^, x
            System.out.println(e.getMessage());( D- P' a+ N3 B; O7 r4 C6 i9 v
        }            7 S4 T% B1 U" C* p
        return user;+ m# `4 c8 _1 l
    }6 _( U6 M1 _0 q, \. q" l
[/mw_shl_code]
* e: R0 S% C2 K4 I$ R* d. s
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 doTeam.tech
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 注册

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

    本网站(plmhome.com)为PLM之家工业软件学习官网站

    展示的视频材料全部免费,需要高清和特殊技术支持请联系 QQ: 939801026

    PLM之家NX CAM二次开发专题模块培训报名开始啦

    我知道了