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

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

[复制链接]

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

2470

主题

1275

回帖

8万

积分

管理员

PLM之家站长

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

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

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

x

6 c# R) W- |0 W0 t5 d2 j1 V: qTeamenter SOA开发源码:通过user ID 找 User
0 @2 U. t) e; w! |5 m, u. U
* c. k( Z6 T- j8 ]( n- X3 n) {# O[mw_shl_code=applescript,true]import com.Teamcenter.services.strong.query.SavedQueryService;8 Z" j8 T4 C& `9 T- R7 u
import com.teamcenter.services.strong.query._2006_03.SavedQuery.GetSavedQueriesResponse;) r  n7 g5 w, f
import com.teamcenter.services.strong.query._2007_09.SavedQuery.SavedQueriesResponse;
% X9 z! C) L' z' ximport com.teamcenter.services.strong.query._2008_06.SavedQuery.QueryInput;' J8 o: B5 U) Q6 {# ]
import com.teamcenter.services.strong.query._2007_09.SavedQuery.QueryResults;
' N! F* X: A. {* @8 d1 H% zimport com.teamcenter.services.strong.core.DataManagementService;
6 E: e2 N* L: h. U- g! ?import com.teamcenter.soa.client.model.ModelObject;
3 T' p5 [5 Y9 f/ Y2 |! |import com.teamcenter.soa.client.model.ServiceData;
& {* r( q+ e# ximport com.teamcenter.soa.client.model.strong.ImanQuery;6 D! J6 m7 D1 ~$ q8 P$ X
* n; H% j: i, g4 `% o
import com.teamcenter.soa.client.model.strong.User;( D. C) |6 _. S) o# x2 d
+ e0 J0 F, S* [0 x! g9 D; Z9 ]2 |& z

0 `. z4 h* ]7 u3 w$ a    public User findUser(String userId)
# V/ G- x0 ?% e$ {0 Z& ~! h    {
( F/ f" ^/ \9 }  D: i4 V        ImanQuery query = null;
7 S" D$ ~/ t3 s6 X- W2 j- y4 Z; d2 r        User user = null;
# k% p( m& k; L1 [' ^- j; g+ {        
4 z. {1 u* V, k5 A  D" O$ u7 T
; u- f5 w" V* s- @$ v# g        SavedQueryService queryService = SavedQueryService.getService(AppXSession.geTConnection());
1 ]1 r( m% z, o+ Y- t' T! i7 ]& o        DataManagementService dmService= DataManagementService.getService(AppXSession.getConnection());9 I8 a* T" a6 t+ j3 z) W  U
        3 C9 T% V) Z* q3 v; W) F
        try
- s6 X  g1 N2 D% I( a        {) x1 u( Z) A3 U4 N1 o3 ?
            GetSavedQueriesResponse savedQueries = queryService.getSavedQueries();6 n5 |5 D* J& @
            if (savedQueries.queries.length == 0)
6 h* V5 K' S" c6 W" f( e$ ?            {
4 B; q# ^8 ~  ]! z                System.out.println("There are no saved queries in the system.");/ p9 [9 k8 j+ O& V5 h% E2 D: T/ m
                return user;
9 N7 x( R* r* G$ r( q            }
1 o! e' s9 C! c5 @, G0 X* c            
( J3 E. K: y. y6 p/ a, E            for (int i = 0; i < savedQueries.queries.length; i++)
: c8 D2 D4 U3 s6 s            {
  H) Q$ d2 J- X' E! Q! \
0 [! s8 S' b# P$ b8 B1 \                if (savedQueries.queries.name.equals("__WEB_find_user"))9 X, H, h# u" _& c- ^
                {
, Z" H3 H2 }1 X* c" f. D                    query = savedQueries.queries.query;+ _( r2 K6 A& Q- S" I4 A6 _: @
                    break;
4 Y- `0 m  r# L2 u5 ~                }! Y6 s/ v* f4 b4 {; e  y
            }
  A" y; B( q4 y        }8 Y+ l; g6 K3 x9 h9 Y
        catch (ServiceException e), U* N3 g7 c4 o& X: _
        {
  X1 D  `6 S/ u            System.out.println("GetSavedQueries service request failed.");' x( U! D1 w* c" \
            System.out.println(e.getMessage());! Y6 k* M+ V- t" a6 ?, M7 L# c8 p+ V
            return user;- n' t5 b- z, M
        }
; {5 N5 p# i0 G( \: ~- D+ f  K( H4 y( \2 c
        if (query == null)
+ u9 ]: Z2 @" A! k        {, n6 B+ q* B, D# n7 {
            System.out.println("There is not an '__WEB_find_user' query.");
& X' {* z9 B8 O            return user;
; ^2 b6 x  C2 J        }
4 D1 `4 B! L' M/ C1 D9 b! U5 g3 O8 x$ s* f8 L) a6 p# R" G. U
        try. k/ b' w& l$ f) V  R  [
        {
4 B! x3 o$ w' Z7 ]$ U$ Z: U            QueryInput savedQueryInput[] = new QueryInput[1];, Y5 M7 V6 y' k" `: V& B2 P
            savedQueryInput[0] = new QueryInput();+ _  j, x( k7 t: J, l. [9 u
            savedQueryInput[0].query = query;' Q. c5 z7 O5 ?$ ~! X0 l! A  S+ q
            savedQueryInput[0].entries = new String[1];
6 E' p; G* F: t+ z- O            savedQueryInput[0].values = new String[1];2 |" Q, ?8 m' u0 J2 G3 S* Q4 T3 i
            savedQueryInput[0].entries[0] = "User ID" ;
! T" N4 t$ Y6 ^* a9 Q7 J            savedQueryInput[0].values[0] = userId;
, V' Y+ D( J' J+ S0 l# g7 k9 M/ O            savedQueryInput[0].maxNumToReturn = 25;
% k0 E, u5 k! B" m4 B# ^- c            
) F' u, G% L& L% [            SavedQueriesResponse savedQueryResult = queryService.executeSavedQueries(savedQueryInput);
' Y0 a, \+ r) c( m' M$ ?1 k            QueryResults found = savedQueryResult.arrayOfResults[0];
5 X" p' B. z% q+ S" |9 P9 R
2 D8 p. I! G4 i! w( Q' t2 A1 P+ s/ @            int length = found.objectUIDS.length;
" A; d& W$ X/ X5 |6 s7 b9 p            
7 ^* k/ J% x% W            String[] uids = new String[length];
# I, O, r# o- }0 Y            for( int ii = 0; ii < length; ii++)6 W2 @- ?2 m# i; H; k# n; O! ?( @9 S
            {$ k! H7 o+ u% u5 `; ~3 U. N
                uids[ii]= found.objectUIDS[ii];, O7 J* V: p3 P7 S: e) N  N# j9 Z
            }
7 e9 W5 D. r7 y% N5 z  a& i            ServiceData sd = dmService.loadObjects(uids);
; S* A6 k" U5 B, z$ g2 g  Z7 Q            ModelObject[] foundObjs = new ModelObject[ sd.sizeOfPlainObjects()];  C) h% Y5 S3 s' b3 k4 G: d
            for( int k =0; k< sd.sizeOfPlainObjects(); k++)
5 O- ~" L' a, `0 h6 q            {+ O( {* K. o/ ~
                foundObjs[k] = sd.getPlainObject(k);
7 {& B4 V( K  u# s            }9 |4 j  u- s, u. r! o' _
            user = (User) foundObjs[0];   
3 `7 ^( U6 D; o+ Q/ E( ~$ |# M7 X# f        }
& }1 K5 D/ k& K* B        catch (Exception e)5 _4 y( r* Z7 j
        {3 l3 W1 i: V2 j, o: N. b; ~
            System.out.println("ExecuteSavedQuery service request failed.");2 z, W( J1 d- t5 ~/ z
            System.out.println(e.getMessage());, M: U1 M7 r$ H# q
        }            " U' N- W' X& y! B$ s, v
        return user;; V# w3 _3 A9 e! M( @& H
    }$ {4 \. Y, B# o3 [: n5 h  ?
[/mw_shl_code]
. h8 f2 B2 Q+ N2 ~1 }& |% b* \& b# ~
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了