Java 通过Web Services访问Aras Innovator PLM

外部系统经常需要联机到Aras Innovator PLM当中,ERP系统,MES,CRM,SCM等等,话说有的咨询认为PLM必须和ERP等集成,否则这个PLM是很不完整的实施。

由此可见一个成熟的PLM不是孤立的,需要服务或接口或者自定义但是协定的数据交换格式来完成集成,幸运的是,在Aras中有很多很多的技术可以完成这一点。

访问Aras有哪些技术呢? 1,WebServices跑不了。2,基于XML和SOAP的数据交换。 3,使用Aras提供的客户端API(IOM.dll)。4,对IOM API的拓展(使用IOM.dll作为中间件转发技术,或者将IOM.dll注册为COM的 COM调用技术)。

我将分章节介绍上述几种方法(对于将IOM.dll桥接为COM这种方法,除了VC++环境外,我不认为这是一个好方法)。

从标题你可以看到,这篇文章介绍的是 方式1.

实际上.net平台的软件系统也可以通过Web Services来访问Aras,而且由VS提供的工具在开发和WS相关的程序中更高效。

准备工作:

1,你需要在Aras中发布一个Web Services来等待调用(关于Aras发布WebServices你可以参考Aras的在线帮助文件)。

2,我使用的是XFire来访问Aras发布的Web Services,你需要下载XFire相关的Jar包。

3,在Arsa中发布了web服务之后,默认提供3个接口服务 ,1个登录服务LogOn ,一个 AML语句请求服务ApplyAml,一个 方法调用请求服务 ApplyMethod

注:在我的Demo代码中,很多都是硬编码,你会理解的----这样会省去很多时间~~

Demo的主要步骤:

1)提供访问Aras的用户信息,

public void initUserInfo()
{
userName="admin";
pwd="innovator";
WebServicesURL="
http://localhost/arasweb/Innovator.asmx?WSDL";
}

2)调用 LogOn服务进行登录验证

Object[] results = client.invoke("LogOn", new String[]{"root","innovator","",""});

参数依次是 登录用户名,登录密码,地区 例如 zh-CN ,时区 例如 China Standard Time

3)准备AML语句或者方法参数,调用ApplyAml或者ApplyMethod服务

以下是调用ApplyAml服务

String aml="<AML><Item action='get' type='User' maxRecords='3'></Item></AML>";

Object[] amlResult = client.invoke("ApplyAml", new String[]{aml});

4)分析返回结果,任何时候返回结果是一个XML字符串,通常访问WS的结果是以<Result>作为根节点的XML字符串。

例如:

<Result>
<Item type="User" typeId="45E899CD2859442982EB22BB2DF683E5" id="C2176A05792246BEBA15716315BF5D0E">
<config_id keyed_name="a a" type="User">C2176A05792246BEBA15716315BF5D0E</config_id>
<created_by_id keyed_name="Innovator Admin" type="User">30B991F927274FA3829655F50C99472E</created_by_id>
<created_on>2012-08-29T16:58:51</created_on>
<default_vault keyed_name="Default" type="Vault">67BBB9204FE84A8981ED8313049BA06C</default_vault>
<generation>1</generation>
<id keyed_name="a a" type="User">C2176A05792246BEBA15716315BF5D0E</id>
<is_current>1</is_current><is_released>0</is_released>
<keyed_name>a a</keyed_name>
<last_login_date>2012-08-29T16:59:15</last_login_date>
<login_name>aa</login_name><logon_enabled>1</logon_enabled>
<major_rev>A</major_rev>
<modified_by_id keyed_name="Innovator Admin" type="User">30B991F927274FA3829655F50C99472E</modified_by_id>
<modified_on>2012-12-03T10:11:31</modified_on>
<new_version>1</new_version>
<not_lockable>0</not_lockable>
<permission_id keyed_name="4AD3091C01A044F5B1F148D428D63CA1" type="Permission">
4AD3091C01A044F5B1F148D428D63CA1</permission_id>
<starting_page>Activity Assignment
</starting_page><working_directory>
</working_directory><first_name>a</first_name>
<last_name>a</last_name>
</Item>

<Item type="User" typeId="45E899CD2859442982EB22BB2DF683E5" id="30B991F927274FA3829655F50C99472E">
<config_id keyed_name="Innovator Admin" type="User">30B991F927274FA3829655F50C99472E</config_id>
<created_by_id keyed_name="Super User" type="User">AD30A6D8D3B642F5A2AFED1A4B02BEFA</created_by_id>
<created_on>2002-04-24T21:46:12</created_on>
<current_state name="Released" keyed_name="Released" type="Life Cycle State">C363ABDADF8D485393BB89877DBDCFD0</current_state>
<default_vault keyed_name="Default" type="Vault">
67BBB9204FE84A8981ED8313049BA06C</default_vault>
<empid keyed_name="****" type="T_Emp">3A4A9AB544EE411EA326097571485774</empid>
<generation>1</generation>
<id keyed_name="Innovator Admin" type="User">30B991F927274FA3829655F50C99472E</id>
<is_current>1</is_current><is_released>0</is_released>
<keyed_name>Innovator Admin</keyed_name><last_login_date>2013-07-01T11:50:36</last_login_date><login_name>admin</login_name><logon_enabled>1</logon_enabled><major_rev>A</major_rev><modified_by_id keyed_name="Innovator Admin" type="User">30B991F927274FA3829655F50C99472E</modified_by_id><modified_on>2013-04-02T15:52:17</modified_on><new_version>0</new_version><not_lockable>0</not_lockable><permission_id keyed_name="71AF3103AE134CE7874AC622620812AB" type="Permission">71AF3103AE134CE7874AC622620812AB</permission_id>
<pwd_is_set_on>2013-02-25T12:44:47</pwd_is_set_on>
<starting_page>Activity Assignment</starting_page>
<state>Released</state>
<telephone></telephone>
<working_directory>C:\</working_directory>
<first_name>Innovator</first_name>
<last_name>Admin</last_name>
</Item>

</Result>

5)

Demo中取到的用户信息:

image

附上Demo:Java Web Services访问Aras Innovator下载。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值