java提供的WSDL:http://XXX.XXX.XXX.XX/XXXXXXXcrm/ws/financialStatementsService?wsdl
登陆PI,下载Enterprise Services Builder
展开并选择组件和命名空间(一般项目会分多个,视情况来做)
1.创建文件夹(很多项目都没用,但是我觉得这个能很好的管理自己开发的接口,所以建议使用)
2.导入WSDL结构:右键文件夹,新建(interface objects中 选择External Definition)输入名称(以wsdl方法名),然后创建。
3.新建Exception数据类型(因为接口包含Exception,所以不添加会报错,无接口没有异常类就不需要3,4步)
右键文件夹,新建Date Type(Inerface Objects 选择 Data Type)
因为对方的异常报错里只有一个message,所以定义的数据类型只需要一个字段MESSAGE
类型对应对方接口类型,条目也需要对应,然后保存
4.新建Fault Message Type,并添加步骤3中的数据类型
在附件数据类型选项中选择步骤3的数据类型
保存。
5.右键文件夹,创建发送数据类型(DT_XXX_REQUEST以此为标准命名规则)
保存。
6.右键文件夹,新建接收数据类型(DT_XXX_RESPONSE)
7.右键文件夹,新建发送消息类型(MT_XXX_REQUEST)
选择Date Type Used:
保存。
8.右键文件夹,新建接收消息类型(MT_XXX_RESPONSE)
同上选择MT_CLAIMCRT_RSPONSE
保存激活。
9.右键文件夹,新建发送服务接口(SI_XXX_REQUEST)
因为窗口大小缘故,往上拖,可以显示消息对应界面:
REQUEST对应REQUEST RESPONSE对应RESPONSE,FAULT对应FAULT。保存激活
10.右键文件夹,新建接收消息接口(SI_XXX_RESPONSE)
这里需要注意一下,这里用的是外部消息,选择的时候选的是最前面导入的java对应的类型,保存激活。
11.右键文件夹,新建发送消息映射(MM_XXX_REQUEST)
左边选择如下:(因为是从SAP发出的,所以左边是选择PI上新建的Data Type)
右边选择如下:接收方为java,选择导入的结构
通过mapping按钮,把所有节点对应上
保存激活。test页签可以测试两边是否对应整齐:
12.右键文件夹,新建接收消息映射(MM_XXX_RESPONSE)
选择同上,保存激活。
13.右键文件夹,新建异常消息映射:(MM_XXX_FAULT)
保存激活。
14.右键文件夹,新建处理方法映射(OM_XXX)
保存激活。
到此,ESB的配置完成。
打开IB:
1.创建文件夹:保存并激活
2.新建通信通道,保存并激活(因为PI到SAP的通道之前就已经创建,所以这里不介绍了)
3.创建Configuration Scenario
4.新建Receiver Determination
保存后在接收条件中添加接收组件,如下图:
5.接收配置:点击Configuration Overview
展开接收组件,下面会显示服务接口,点击服务接口,右边会出现配置该服务接口需要的相关发出和接收信息。
右键Receiver Aggrement,新建,选择接收接口对应通信通道,如下图:
保存。
然后刚才的配置界面,刷新Configuration Overview,再次展开接收组件,新建Sender Aggrement,选择发送通道:
6.保存后回到Configuration Scenario界面,保存,激活,全部选择后点击激活:
到此,ESB和IB全部配置完成,可以到SAP系统中激活对应接口,然后调用。