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

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

[复制链接]

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

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

admin 楼主

2018-10-9 01:46:46

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

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

x
+ O' k6 r( O2 m5 `( f9 R& @
Teamenter SOA开发源码:通过user ID 找 User
8 d& w" K5 n- F' e5 n# t& t7 C8 q' q4 M: ~! D
[mw_shl_code=applescript,true]import com.Teamcenter.services.strong.query.SavedQueryService;
  V: s0 u/ }  Q. z7 z) [( B' ^import com.teamcenter.services.strong.query._2006_03.SavedQuery.GetSavedQueriesResponse;
) V% k; F, {. s/ F% l; T0 R# Ximport com.teamcenter.services.strong.query._2007_09.SavedQuery.SavedQueriesResponse;
% R3 Z# F" ^1 L' M: a* Timport com.teamcenter.services.strong.query._2008_06.SavedQuery.QueryInput;
2 x- B' S( n. O9 c0 l9 e, `0 }import com.teamcenter.services.strong.query._2007_09.SavedQuery.QueryResults;
4 C( s. A" Q9 eimport com.teamcenter.services.strong.core.DataManagementService;
) x  [1 M0 C% _% X+ E8 {% ^& E0 ~import com.teamcenter.soa.client.model.ModelObject;
& y( C0 K! j$ h, t3 e( L0 iimport com.teamcenter.soa.client.model.ServiceData;
( [0 N, g' k5 a$ j) [/ _4 qimport com.teamcenter.soa.client.model.strong.ImanQuery;
* Z+ \& A  b! ^2 z
4 x9 F/ m; s4 M5 u( Timport com.teamcenter.soa.client.model.strong.User;- H  U9 |5 Z' A# E: o4 u

* Z. h% x; x+ P+ H! `( _, V( g/ H  T) W  g2 F$ s
    public User findUser(String userId)
+ t/ F+ A+ w/ W4 L( i7 G5 q% r    {" ^, Y- U; k: b: t0 m
        ImanQuery query = null;" p1 Q7 a& v" t; K
        User user = null;
' W, |" z- p. B        7 ~) I) |: L$ V, ]( o3 c7 k, o6 e
. ^1 @4 [+ P9 T/ {- F9 }
        SavedQueryService queryService = SavedQueryService.getService(AppXSession.geTConnection());
' ?  J7 s4 T2 |- ^& `9 w        DataManagementService dmService= DataManagementService.getService(AppXSession.getConnection());6 y5 d5 o. _& T0 n4 c
        
% u# H+ S1 p) {  \( A; z1 \' x        try
, I4 d2 Y: R9 e% ?, Q8 Q+ o        {
( X/ n, S- D7 \2 [; A! U            GetSavedQueriesResponse savedQueries = queryService.getSavedQueries();0 G; V- @5 R3 E4 z
            if (savedQueries.queries.length == 0)2 B# L* p7 C7 n/ ^
            {
9 N- u& t. N5 s4 O- \; u6 N                System.out.println("There are no saved queries in the system.");
+ x6 [6 d  N1 {# l                return user;
. I* u5 q' B  W5 D' ^( a            }. k) V/ \8 L; H# s  |
            2 m% v  I* l0 T* g& h& k
            for (int i = 0; i < savedQueries.queries.length; i++)  Z* Y. h! x1 _  R2 p
            {3 ]5 f! t2 K: T! x  L1 a( a

0 t6 R; |3 H4 }* u                if (savedQueries.queries.name.equals("__WEB_find_user"))" Q5 K) @* h: K! w* ~
                {( ~' W1 R; F& E  ?" A5 t) T
                    query = savedQueries.queries.query;" @# q& q. D0 Z5 S. o
                    break;
1 q/ W$ p1 s" y# y                }
( P( o3 m3 R6 j/ S% L* ~9 k            }) c+ o2 d% a6 ^- d2 p2 I8 ]
        }# H) X9 K5 }, w0 p4 ~: j
        catch (ServiceException e)
7 ?8 g! H' s1 ^1 k. ]" v% |* g9 G        {  P- ]3 }% q6 E
            System.out.println("GetSavedQueries service request failed.");, T: B7 u6 n- L& \& `- A) a
            System.out.println(e.getMessage());
6 r9 X8 D. T$ ~6 g3 W            return user;: w  {  ]; \( d9 u
        }
- g5 T( A* \; i. {
( A* g2 M9 P# F. I) `  p/ D$ w& G        if (query == null)
5 [5 m. K, D; ?& Z- ~. b4 f- F+ ~! M        {4 A" L) h0 I: ~. N& h" C2 f0 D* ]5 H+ ~
            System.out.println("There is not an '__WEB_find_user' query.");& C  }* c8 P% S
            return user;
5 F1 e9 n& J) c& Y# I        }( S! W3 j, I: k9 m1 @3 q4 f% O

2 |! a, c0 Q2 [  A        try
# w) |  P4 X5 a4 j        {
: [' g; a; R/ f; B) i, W* {            QueryInput savedQueryInput[] = new QueryInput[1];% y, h' R& i' v2 J+ R& x
            savedQueryInput[0] = new QueryInput();
+ R9 i1 _# J0 i  n! N3 J3 Z8 }            savedQueryInput[0].query = query;5 ]- f5 w$ i  N7 F
            savedQueryInput[0].entries = new String[1];
& k2 R$ c$ V3 s7 ~            savedQueryInput[0].values = new String[1];
9 E' O5 h. Y7 B9 x4 U            savedQueryInput[0].entries[0] = "User ID" ;8 H5 z  N  Y4 R+ z/ E% ]- j3 v$ C( t
            savedQueryInput[0].values[0] = userId;5 [2 ?2 h9 S: [3 D8 a2 [
            savedQueryInput[0].maxNumToReturn = 25;' z  N% j3 L5 ]9 U
            ( c& ?9 |1 z, O: V
            SavedQueriesResponse savedQueryResult = queryService.executeSavedQueries(savedQueryInput);
$ ?  I  B4 P9 @0 r$ {3 x1 `            QueryResults found = savedQueryResult.arrayOfResults[0];
/ d  r, U" \( T' p) z# N5 A' r0 B5 D* {  L/ h5 f2 W1 B3 b3 R. g/ s; \( X
            int length = found.objectUIDS.length;1 C5 P' T; w( ?
            
0 }7 P) j9 s4 l) h' u' O5 g            String[] uids = new String[length];% x& |! M9 W8 L6 T
            for( int ii = 0; ii < length; ii++)
% q& r" S! L, Z' B            {
8 J2 a% v) K. {4 g& ~0 o                uids[ii]= found.objectUIDS[ii];
1 D3 _" v! I: W3 P4 h) O* q1 t# |* d7 {            }" t. s+ u$ Q2 P" Z+ I
            ServiceData sd = dmService.loadObjects(uids);
+ L! m. y% F8 D, S! l; h' Q6 c            ModelObject[] foundObjs = new ModelObject[ sd.sizeOfPlainObjects()];. p# u! _" U+ a
            for( int k =0; k< sd.sizeOfPlainObjects(); k++)0 g  N+ d; n5 e+ s. m
            {
9 X3 `0 Q0 Z/ o+ ^5 v" k                foundObjs[k] = sd.getPlainObject(k);
* X1 z* J% @3 ?8 f0 c/ T, K            }
4 w( H: x/ C) i+ c; l, y8 [+ b6 R            user = (User) foundObjs[0];   
4 A; H" `6 i- R& P! l) R* X0 `        }6 H5 Z; ~3 `! E+ ^1 `. I
        catch (Exception e)0 z$ E7 a8 ?. e9 A; W5 N) }1 w
        {
; |& K8 k$ g+ _; W            System.out.println("ExecuteSavedQuery service request failed.");
  W: ~9 q2 L1 l( i. Z            System.out.println(e.getMessage());
9 }! E) s$ @8 j+ }        }            ; s( h3 d* e2 k* B0 U8 K! ~
        return user;
; I0 O/ G: P/ k: e    }
# f' V; b) I& [: E; P: z[/mw_shl_code]% y" q; i4 X8 z
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了