查看: 3584|回复: 0

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

[复制链接]

4

主题

4

回帖

52

积分

管理员

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

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

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

×

8 E/ I) V% ?. @* n8 [2 ^' OTeamenter SOA开发源码:通过user ID 找 User
$ R1 a4 }( g/ m% g" k  P, S1 }( d( D. p5 C7 M3 q% U$ J
[mw_shl_code=applescript,true]import com.Teamcenter.services.strong.query.SavedQueryService;$ b0 ~% `& i3 r4 X+ y
import com.teamcenter.services.strong.query._2006_03.SavedQuery.GetSavedQueriesResponse;3 q: {, V/ j% @
import com.teamcenter.services.strong.query._2007_09.SavedQuery.SavedQueriesResponse;8 l8 S5 I6 b) f+ K. k
import com.teamcenter.services.strong.query._2008_06.SavedQuery.QueryInput;+ I' t6 Z1 G7 W4 Q; f
import com.teamcenter.services.strong.query._2007_09.SavedQuery.QueryResults;
6 s7 l! {) c4 U$ t2 r( Vimport com.teamcenter.services.strong.core.DataManagementService;
$ I* A* }! l0 A; h& @# d7 h- s- Uimport com.teamcenter.soa.client.model.ModelObject;8 {( D& a* x% j! {) v# A2 o
import com.teamcenter.soa.client.model.ServiceData;( R3 [0 {1 v' r; d! T2 t1 i
import com.teamcenter.soa.client.model.strong.ImanQuery;2 c4 ]. T( ~" G: F) o: H

: h2 o+ o  b8 r9 |( I7 O1 G* Gimport com.teamcenter.soa.client.model.strong.User;. S% }/ ?# d# a

# K5 T1 Z1 n' T! {3 [8 y2 E6 Q( i0 t6 X+ E
    public User findUser(String userId)1 u0 ?* W( c. z4 ?3 m) W
    {  t! r' B, k6 B, t
        ImanQuery query = null;3 d. U& C5 W7 a3 e( D- Z& L
        User user = null;* ~" I3 e9 H3 h9 y; K7 C' v
        7 A$ m! g) A0 q$ }3 m$ t1 o9 n* @  Z" P

. c& F/ d5 J( b" b        SavedQueryService queryService = SavedQueryService.getService(AppXSession.geTConnection());
% L) a1 T# L* w% }  Q1 b! ~        DataManagementService dmService= DataManagementService.getService(AppXSession.getConnection());
$ J5 B0 [' y9 R+ @% w/ n        
+ ^' T: {9 J/ m1 a% X        try  K) n. g0 g3 ?( b
        {
' t& z: D1 `* ^. m( s4 {# B( j            GetSavedQueriesResponse savedQueries = queryService.getSavedQueries();/ G7 \1 K4 X. c& C2 u0 L% C
            if (savedQueries.queries.length == 0)8 b5 ?! Q+ u: U9 A6 [6 ?
            {* j3 E) y! ~; [/ \, ]0 k" i8 [
                System.out.println("There are no saved queries in the system.");- }/ z" m* A9 k% o1 o2 a
                return user;
; Z. K2 Y! R: ?! D            }
- W; O/ E0 `0 Z+ p- {" `% [# S0 ~            
  ?, @8 i: O- z( \! c+ U) i            for (int i = 0; i < savedQueries.queries.length; i++)
; Y6 j4 z) R, O) T. D/ z' e            {$ @! V3 X9 c1 S- U
: G% |1 ?8 B7 J& k3 m
                if (savedQueries.queries.name.equals("__WEB_find_user"))
2 x) m( q) a( Q+ K! F9 f                {
# i! M, I/ `0 c% m+ s0 P' K                    query = savedQueries.queries.query;0 ]# ^- Y5 D6 z; a
                    break;
+ }0 l6 _1 [! @7 }  [                }
7 \: ?9 ^8 Q. }( W+ G2 M            }6 z2 t# X  u6 j- p; c
        }& L/ O1 |5 A' a9 ?0 p
        catch (ServiceException e). g3 t4 @1 t7 N0 U2 w# v( m
        {/ v# ]; h- @& @. \) |" Y' i! _2 ^
            System.out.println("GetSavedQueries service request failed.");$ f! ]2 S# c8 }  E
            System.out.println(e.getMessage());
# o! [4 L& @+ E, {  U1 j& V            return user;( |. I) Y/ u' L& _
        }! w$ A2 y* H. r6 \' B9 Y3 }
( y  ~. V' h8 Q* I
        if (query == null)
7 x, L; n0 @0 e        {( u$ ^) h* e& y7 W1 G: d8 b
            System.out.println("There is not an '__WEB_find_user' query.");  ~$ n* ^' {# s# S- I9 l
            return user;5 ?8 z, T$ x2 v& o
        }5 `+ j5 N) t" z

' T) T2 E& e; y/ g/ l/ O# r        try! [: `& D8 [3 j2 I2 I1 Q
        {
, y' s) q; ^. l( Z6 H            QueryInput savedQueryInput[] = new QueryInput[1];
: V2 {3 P9 `( Q! z$ L- [. Q8 Q6 y            savedQueryInput[0] = new QueryInput();
/ @. J  Q& ~! J7 r" d7 T* n            savedQueryInput[0].query = query;  K" Z) ~- q5 `1 H! s$ U
            savedQueryInput[0].entries = new String[1];
/ ^2 L- K# @9 a            savedQueryInput[0].values = new String[1];
1 [& N8 g! ?) z% s# O            savedQueryInput[0].entries[0] = "User ID" ;
0 F7 k2 r, v% y3 F            savedQueryInput[0].values[0] = userId;
  [: [* T  X4 J" s3 F$ M9 Y3 z  C            savedQueryInput[0].maxNumToReturn = 25;, e: D2 B' F, R" Y  n0 z
            
# g+ b% X/ a% A2 Q) P            SavedQueriesResponse savedQueryResult = queryService.executeSavedQueries(savedQueryInput);
4 H! K5 Z5 s! X+ l/ f7 C3 |            QueryResults found = savedQueryResult.arrayOfResults[0];
# j. \4 ?" D1 K' Y8 o+ z; p# y# H7 W7 ~8 v0 H
            int length = found.objectUIDS.length;  |- j# U/ J% X9 |# [8 h% S
            
1 Z9 P, w* S+ b8 i7 V  ~" {; ?% ]7 ?            String[] uids = new String[length];
0 x: [) P2 B0 E, O3 _( a( h            for( int ii = 0; ii < length; ii++)
0 s: ~0 u) U+ e" h/ d            {4 ^- U( W* s, j) }' p) G4 F5 D0 W
                uids[ii]= found.objectUIDS[ii];
2 T  F8 X* P2 @            }
, R- ]& R, t! \; v+ v            ServiceData sd = dmService.loadObjects(uids);, g' A$ X5 A, g8 g$ \7 H9 G
            ModelObject[] foundObjs = new ModelObject[ sd.sizeOfPlainObjects()];' h6 r- U7 S/ u% E  D7 s
            for( int k =0; k< sd.sizeOfPlainObjects(); k++)
& e- l: Z9 z: ?, w8 H; J; B2 W            {0 f9 S  c9 X, y! @
                foundObjs[k] = sd.getPlainObject(k);* E2 @. ]8 M6 g  k3 l
            }
6 q/ r; c2 U# Y& F( ~7 l/ M) o& I            user = (User) foundObjs[0];   ; d3 n6 D! }# z; S! r; |* O
        }0 }0 C+ _8 g- f+ w% @; z' [: K
        catch (Exception e)6 I7 e/ U' q( ?& T* D
        {# C, [) z* y& s. \+ q6 W9 [
            System.out.println("ExecuteSavedQuery service request failed.");/ p+ p2 }, y" V" ?" v0 b
            System.out.println(e.getMessage());
/ q8 y% T1 R  o/ U        }            
; ]. D2 d8 d6 Q" X% c) P# ?4 ~" r        return user;3 i# S5 q8 P, Z% t* g  s
    }
; q3 U$ e/ W/ T1 _+ _: Q9 P[/mw_shl_code]. \" c1 f  B+ X! ~
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.doteam.tech
回复

使用道具 举报

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

本版积分规则

在本版发帖
关注公众号
QQ客服返回顶部