PLM之家PLMHome-国产软件践行者

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

[复制链接]

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

admin 发表于 2018-10-9 01:46:46 |阅读模式

admin 楼主

2018-10-9 01:46:46

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

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

x
8 u" ~. n& E* g* ?3 S  ?  r( {
Teamenter SOA开发源码:通过user ID 找 User' c6 \4 i7 @, a2 Y8 p
/ v+ T# g- H% F5 V
[mw_shl_code=applescript,true]import com.Teamcenter.services.strong.query.SavedQueryService;3 G. i7 {! d5 m1 H
import com.teamcenter.services.strong.query._2006_03.SavedQuery.GetSavedQueriesResponse;7 L2 k* [9 T, ]1 r: [5 }/ S/ I. k# P
import com.teamcenter.services.strong.query._2007_09.SavedQuery.SavedQueriesResponse;9 l# M' X% F# l! x0 r8 n
import com.teamcenter.services.strong.query._2008_06.SavedQuery.QueryInput;
8 c$ H7 ]5 y1 Q, J8 i0 Q, vimport com.teamcenter.services.strong.query._2007_09.SavedQuery.QueryResults;
, m2 j6 Y* f9 q- Z% Bimport com.teamcenter.services.strong.core.DataManagementService;
  |( W+ z9 Y- W& L% d/ U# i$ b" timport com.teamcenter.soa.client.model.ModelObject;2 q. F! O: D$ W: @& L2 u: {
import com.teamcenter.soa.client.model.ServiceData;" F  R3 {$ v2 X) @  a
import com.teamcenter.soa.client.model.strong.ImanQuery;
; {0 w! W# r- m) c% u$ X/ D0 A1 \9 `0 I. ^8 X* g/ x7 Z. T
import com.teamcenter.soa.client.model.strong.User;
3 U3 d: s, |, u7 f: e8 @. F
2 e) o  m' V7 i& k
5 ~: Y4 ]# k4 o' p/ D& K& }& M1 G    public User findUser(String userId)
/ F  J6 s' {1 \" p' g    {9 _. s' E% R+ v; M. D/ I2 L% I
        ImanQuery query = null;3 r( m1 f& ?8 {4 Q  @; T: ^2 H
        User user = null;
' P" s" u7 B" B9 l( Y. `        $ {! o' G2 w8 f) q. D) N4 P. P
" z9 s5 m# @1 a  `
        SavedQueryService queryService = SavedQueryService.getService(AppXSession.geTConnection());
; _+ p$ A4 w$ H0 C( l        DataManagementService dmService= DataManagementService.getService(AppXSession.getConnection());
2 f$ l4 T' M4 H* d" k        . y% j9 t4 x3 c; V+ [
        try
9 j" j, X, |5 h& @        {
! Y8 I( u9 j! d" ^; q            GetSavedQueriesResponse savedQueries = queryService.getSavedQueries();; V7 d8 u1 g# D  i9 S1 v9 E
            if (savedQueries.queries.length == 0)
" O: G) U( a1 W( Z" P: D0 \            {6 h1 b2 E" e) T5 }% u
                System.out.println("There are no saved queries in the system.");
4 S& g6 M4 a5 }! H0 c                return user;
) x" v' ]; q4 E% `; a$ Y4 `  q7 K            }9 b4 z# Y, Y( y) }# H
            
! M. s1 X# W# z% [0 O5 J. H+ m            for (int i = 0; i < savedQueries.queries.length; i++)
# _6 d" W: f3 \; b) T. Y3 B& ], _: \            {2 Y2 z# I  y! g0 L. y
1 r0 Y& n6 q! Q1 T
                if (savedQueries.queries.name.equals("__WEB_find_user"))
) c8 T2 r0 Z6 X                {  D$ }' g( K& S1 w: ^& Q# F1 n
                    query = savedQueries.queries.query;( E& m+ `: e. B; d1 P: h# K
                    break;
, @( Z: p6 u. X; g5 B0 N                }3 T4 X' c5 e. r# s! M
            }8 X: T+ D/ W* g, u
        }2 C/ Z+ k5 B9 @( I, ~
        catch (ServiceException e)7 L2 k" F. H; B$ W6 n! o/ d# `
        {
, w4 G8 e3 _" C            System.out.println("GetSavedQueries service request failed.");
3 {9 D/ B! I0 ?8 j4 x% u            System.out.println(e.getMessage());/ K1 U/ q. i$ S: o0 a5 X4 v1 Y
            return user;+ e6 @) I& a% t2 O% X
        }* i$ L' b- d3 j( {

( p" e4 Y  Z) T. j/ y' y        if (query == null)
' M. |# U* g+ R  H, M0 [2 H0 }8 `/ `        {8 W% X! d# D0 t* G$ i5 k, o
            System.out.println("There is not an '__WEB_find_user' query.");- r9 B" G8 \4 [; ]! W
            return user;
8 l+ K- j, {0 f) x# z        }
! l4 [" P/ `9 x( n
) {# l1 R7 a& X) b2 `2 [# Z        try
1 z2 a3 Q# G/ J, I* c1 e! @        {% c8 P7 o/ `  r
            QueryInput savedQueryInput[] = new QueryInput[1];
# h/ H0 J  X* F# H7 {  D! c3 l8 N. f            savedQueryInput[0] = new QueryInput();
  h5 X) a# ^" _* x# f# V            savedQueryInput[0].query = query;4 W6 B7 @0 w; H
            savedQueryInput[0].entries = new String[1];
* W$ Q; a& j& O5 x- f( \% [+ g0 ]            savedQueryInput[0].values = new String[1];
9 l: j0 s: M; H2 V( y7 v* ?            savedQueryInput[0].entries[0] = "User ID" ;6 f& K5 H: P1 r$ |  \
            savedQueryInput[0].values[0] = userId;- U3 |; a0 b6 R3 i7 ^8 d
            savedQueryInput[0].maxNumToReturn = 25;
8 t+ I9 W) o3 T5 G/ O            8 O) D' ~8 g3 c; z; L
            SavedQueriesResponse savedQueryResult = queryService.executeSavedQueries(savedQueryInput);& o) n# g: s5 y3 h' M
            QueryResults found = savedQueryResult.arrayOfResults[0];
$ A% |- r& t+ J& F; d$ L7 h( o& P' n+ u# N
            int length = found.objectUIDS.length;' p# g' @+ g9 h1 T, Y
            
. R9 F$ Z3 _+ o! }            String[] uids = new String[length];* Q. \5 y  Y6 a7 \$ Y9 Y2 M. Y
            for( int ii = 0; ii < length; ii++); [6 S2 m" m* y+ J% E9 r5 [
            {# t2 D* n4 W0 j. l. f
                uids[ii]= found.objectUIDS[ii];
2 G) [' W4 t% Q1 B5 h+ K5 ~; ^/ b            }
0 u) a) d4 H3 X1 s            ServiceData sd = dmService.loadObjects(uids);
1 U# y9 b* S/ p            ModelObject[] foundObjs = new ModelObject[ sd.sizeOfPlainObjects()];; a9 n' g: F" f3 o+ K
            for( int k =0; k< sd.sizeOfPlainObjects(); k++), J7 q9 K( v/ L2 M6 S% X; D
            {
  h) H: H/ G  [8 L                foundObjs[k] = sd.getPlainObject(k);- p) P" O2 {! E4 U; h& z7 z
            }
1 I5 T3 n  k! T" j            user = (User) foundObjs[0];   
. J4 ]" C& t, h- a- ?4 h! s! A+ ?        }
6 b: e) K; ]8 z        catch (Exception e)6 j* M5 V0 v6 R- N& R2 ~
        {0 X2 V% m  C' Y" w" N
            System.out.println("ExecuteSavedQuery service request failed.");
& t: p4 X" G' d8 E            System.out.println(e.getMessage());
6 O7 [5 Y7 t6 m8 }5 k4 S        }            ' v- t1 n9 a4 B5 r  f
        return user;/ x% K# V4 Q3 Y7 q
    }
+ u6 _- O2 O/ J' z6 ]* M  b3 S[/mw_shl_code]* O( e/ h. x% @6 Z- Q+ p9 W: c. 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二次开发专题模块培训报名开始啦

    我知道了