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

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

[复制链接]

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

2470

主题

1275

回帖

8万

积分

管理员

PLM之家站长

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

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

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

x
* N6 d! _# m+ ]
Teamenter SOA开发源码:通过user ID 找 User# Z' q# z' k; Z, W' V

/ l' r$ t; K# [0 d9 F  I/ W0 d3 v[mw_shl_code=applescript,true]import com.Teamcenter.services.strong.query.SavedQueryService;
& m9 B# U9 ?! ~import com.teamcenter.services.strong.query._2006_03.SavedQuery.GetSavedQueriesResponse;9 W+ u! G  t, k+ l
import com.teamcenter.services.strong.query._2007_09.SavedQuery.SavedQueriesResponse;
8 G* Z' u* t; M  n. jimport com.teamcenter.services.strong.query._2008_06.SavedQuery.QueryInput;$ l3 Q1 @! {& q  Y: N, A6 X$ h8 }3 s
import com.teamcenter.services.strong.query._2007_09.SavedQuery.QueryResults;  |( C  Y1 M% v/ M+ G( g8 w. l+ i; w7 O
import com.teamcenter.services.strong.core.DataManagementService;
- Y1 @4 Z6 N1 \. }$ ^import com.teamcenter.soa.client.model.ModelObject;. W$ Z. W% S, ~
import com.teamcenter.soa.client.model.ServiceData;: e! W; i( A- U9 @% V5 m0 X
import com.teamcenter.soa.client.model.strong.ImanQuery;0 Y' v/ D# G" y9 H

( ?: G# V" S0 Bimport com.teamcenter.soa.client.model.strong.User;
- ]5 }) Z2 L4 m2 u; f4 o, a' @( I, r

, z  x4 |- _4 o! A9 b# C    public User findUser(String userId)
" X7 V+ f5 M  a& o    {" H6 g* l3 k  J% s* X4 }
        ImanQuery query = null;
6 o8 c" L. u6 z1 ?3 K  p        User user = null;5 x, ?/ A9 G3 b/ k- y: n0 w; W# b
        
. c( e0 L" z' H6 W$ `" ]: I" j" Q* ]6 h, I* W
        SavedQueryService queryService = SavedQueryService.getService(AppXSession.geTConnection());
, }8 i7 v6 I7 j! h; W  [        DataManagementService dmService= DataManagementService.getService(AppXSession.getConnection());# q  G" K2 H' O5 x
        
' \7 I2 R* ^1 n- O7 ~2 M3 S        try( K2 x0 e1 F4 ?' h
        {
: g2 C9 j3 W& t; s            GetSavedQueriesResponse savedQueries = queryService.getSavedQueries();" y- M- \; c9 w8 A
            if (savedQueries.queries.length == 0)
% _3 W0 ]4 Q! K/ w3 p# U2 b            {
3 s4 k6 ^- K+ l, S) i# U* @                System.out.println("There are no saved queries in the system.");
- r# E8 t, o, @* C: _                return user;, g2 X) c/ B3 e3 \4 K( U
            }
' n! i9 @% J: [            
) y, U1 l5 v  J            for (int i = 0; i < savedQueries.queries.length; i++)
6 C7 J. [) k/ ~            {7 W+ c5 J6 M  P0 v# Y1 G# V1 v
. M8 V7 G$ ^2 J, [+ x* T
                if (savedQueries.queries.name.equals("__WEB_find_user"))
; |6 K1 [( i" J/ t' {% g                {. G9 g* P$ @$ q* m5 \
                    query = savedQueries.queries.query;, }; c! g6 x( L, C: A, Q& s0 [/ l
                    break;$ {; ^4 {4 }1 ]4 O
                }
) |+ r9 `! [/ U& n! E, _4 Y4 S            }% m0 V! a: ^* F9 ~% m
        }4 z8 g* \7 q. U% [% s/ R, Z
        catch (ServiceException e)' [6 R. j+ x3 z
        {
+ S; @6 Z6 e6 h0 ^            System.out.println("GetSavedQueries service request failed.");3 H+ C3 \/ Z2 o+ \2 z' x
            System.out.println(e.getMessage());7 o% I0 G. o- ~1 M! e' V" o0 q# M
            return user;
, a" J. s  }& {7 x$ _# u& r        }
7 t" k4 \) g0 [8 m1 Y0 Q
" E/ P: k1 Z: L1 W        if (query == null)
7 ?! s1 {  V4 k7 _8 H* ]        {
- `0 C  n& J+ b0 ?# c            System.out.println("There is not an '__WEB_find_user' query.");
: ^- ~# r; u* j            return user;- Y( S, \+ s, f: g- s) R
        }
- O" I6 d6 [& ]1 v. F6 p8 Y" |" K+ y2 b4 Z2 ~
        try
$ R1 R  O7 d3 P        {
4 Q7 I- i4 q: T7 B6 M2 \            QueryInput savedQueryInput[] = new QueryInput[1];) z2 R% E6 r# {
            savedQueryInput[0] = new QueryInput();# ?8 O% \+ H8 d( r* C7 B8 B+ h
            savedQueryInput[0].query = query;$ F& j) s( e0 v( ?& J& b3 s
            savedQueryInput[0].entries = new String[1];, X2 D3 E  \* K
            savedQueryInput[0].values = new String[1];1 Y! h) R2 }2 D3 x3 j
            savedQueryInput[0].entries[0] = "User ID" ;$ ^/ y! [! ^/ E, `! d5 H: P: D
            savedQueryInput[0].values[0] = userId;" ?0 Y$ B1 d- c: E
            savedQueryInput[0].maxNumToReturn = 25;+ r, p" _! }' |' l# I7 f* q
            
/ O& [# R! z. [9 N. ~  T$ c/ \/ E            SavedQueriesResponse savedQueryResult = queryService.executeSavedQueries(savedQueryInput);
2 v( F+ C" F. d& `            QueryResults found = savedQueryResult.arrayOfResults[0];+ F! e6 u$ ]2 b9 I1 q, M# \: i
7 _9 i5 O' H! n+ m. T% ^
            int length = found.objectUIDS.length;! U8 ?: d6 o) a) P3 }
            
: j8 f9 g$ R% t. Y  y' s            String[] uids = new String[length];* o8 P: X7 |( |- X8 ]4 h! w* J9 R
            for( int ii = 0; ii < length; ii++)  Z  f0 u$ e+ j3 v0 y6 F$ \
            {. Z( y. d+ P) ?5 {& Y
                uids[ii]= found.objectUIDS[ii];
0 q8 b6 }2 P0 e. R' w            }
9 Y& Q7 G6 E$ i            ServiceData sd = dmService.loadObjects(uids);
7 x% E# m* m% N( c* r% E- ]7 E' c            ModelObject[] foundObjs = new ModelObject[ sd.sizeOfPlainObjects()];2 o% n& s- z1 K8 I! A: t  C8 ]5 ^2 p* v
            for( int k =0; k< sd.sizeOfPlainObjects(); k++), \- j! I/ Q! B9 N; H+ O% V, Y
            {/ Z/ q- M9 z% y
                foundObjs[k] = sd.getPlainObject(k);
2 B( B& y; v& i4 ~  X            }6 p# ]0 `/ l5 Z4 D6 w! h' U6 J
            user = (User) foundObjs[0];   
0 l/ Z. U$ B! G' m/ E) u        }
- N; T6 k2 x! L& {" m        catch (Exception e)  w2 `- Z9 m% }& g
        {
) [2 Z  A: {! @" N7 H$ T4 w4 p            System.out.println("ExecuteSavedQuery service request failed.");7 @$ A) G( ~7 I# Y  y; i# M
            System.out.println(e.getMessage());6 [( D. |, f8 G& \
        }            
7 q/ h% t0 H- q( ?& r) A5 G- S        return user;4 X1 Z: {. ^% t) R8 R
    }
! {0 O4 d' i( f/ E2 s/ z7 U7 Q$ z[/mw_shl_code]1 z7 l) }# O. i+ v4 k
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了