ESB 12种跑法
请求响应:
MQ-MQ MQ-Webservice Webservice-MQ Webservice-Webservice
公布订阅:
MQ-MQ MQ-Webservice Webservice-MQ Webservice-Webservice
MQ-MQ、Webservice MQ-MQ、MQ Webservice-MQ、Webservice Webservice- Webservice、Webservice
測试的时候除了在soapui里面看结果。还要在自己公布的服务上的程序上看结果
而且。服务公布方是请求方。服务订阅方是提供方
MQ跑MQ的时候,服务号填公布方的服务号。系统号填公布方的系统号
一、MQ(SRM)跑WebService(HTTP)
1、 首先在MQ里面创建HTTP队列(之前的队列依照文档操作)
2、改动配置文件(请求方Requester)
MQ.REQUESTER.REQ.IP=192.168.10.43
MQ.REQUESTER.REQ.PORT=30000
MQ.REQUESTER.REQ.CHANNEL=SVRCONN_GW_IN
MQ.REQUESTER.REQ.CCSID=1208
MQ.REQUESTER.REQ.QMANAGER=ESB_IN
MQ.REQUESTER.REQ.QUEUE=EIS.QUEUE.REQUEST.IN.SRM
MQ.REQUESTER.RES.IP=192.168.10.43
MQ.REQUESTER.RES.PORT=30000
MQ.REQUESTER.RES.CHANNEL=SVRCONN_GW_IN
MQ.REQUESTER.RES.CCSID=1208
MQ.REQUESTER.RES.QMANAGER=ESB_IN
MQ.REQUESTER.RES.QUEUE=EIS.QUEUE.RESPONSE.OUT.SRM
#request time out configuration
MQ.REQUESTER.REQ.TIMEOUT=120
#service requester connection poolconfiguration
MQ.REQUESTER.POOL.MAXNUM=100
MQ.REQUESTER.GETCONN.TIMEOUT=10
#segment configuration
MQ.SEGMENT.LEN=5000
MQ.MSG.EXPIRY=600
MQ.CONN.TRY.COUNT=3
MQ.CONN.TRY.WITETIME=5000
MQ.CONN.GETMSG.COUNT = 3
MQ.CONN.PUTMSG.COUNT = 3
#other configuration
ENCODING=utf-8
SYSID=02003
2.1、 配置文件(服务提供方Provider)
MQ.PROVIDER.RECV.IP=192.168.10.43
MQ.PROVIDER.RECV.PORT=30099
MQ.PROVIDER.RECV.CHANNEL=SVRCONN_GW_OUT
MQ.PROVIDER.RECV.CCSID=1208
MQ.PROVIDER.RECV.QMANAGER=ESB_OUT
MQ.PROVIDER.RECV.QUEUE=EIS.QUEUE.REQUEST.OUT.HTTP
MQ.PROVIDER.SEND.IP=192.168.10.43
MQ.PROVIDER.SEND.PORT=30099
MQ.PROVIDER.SEND.CHANNEL=SVRCONN_GW_OUT
MQ.PROVIDER.SEND.CCSID=1208
MQ.PROVIDER.SEND.QMANAGER=ESB_OUT
MQ.PROVIDER.SEND.QUEUE=EIS.QUEUE.RESPONSE.IN.HTTP
#request time out configuration
MQ.PROVIDER.RECV.TIMEOUT=120
#service provider connection pool configuration
MQ.PROVIDER.POOL.MAXNUM=2
MQ.PROVIDER.GETCONN.TIMEOUT=10
PROVIDER.HANDLER.CLASSNAME=com.sample.hander.ServiceHandler
PROVIDER.HANDLER.MAXNUM=2
#segment configuration
MQ.SEGMENT.LEN=5000
MQ.MSG.EXPIRY=600
MQ.CONN.TRY.COUNT=3
MQ.CONN.TRY.WITETIME=5000
MQ.CONN.GETMSG.COUNT = 3
MQ.CONN.PUTMSG.COUNT = 3
#other configuration
ENCODING=utf-8
2、 加入參数
reqMo.setServiceID("08001000000002");(服务号自己到服务平台上创建)
reqMo.setSourceSysID("02003");(MQ的SRM服务系统号)
reqMo.setSerialNO("2015051302005001000");
reqMo.setServiceDateTime("20150513103502");
//reqMo.setReqValue("MATERIAL","29965760");
// reqMo.setReqValue("SQL","select * from MAS_PART_RACK_TYPE where PART_NUMBER =000005801303667");
reqMo.setReqValue("CityName", "重庆");
reqMo.setReqValue("UserId", "232434345");成功截图
二、WebService(http)跑MQ(SRM)
监控平台:SoapUI 打开提供方(执行Provider)。SoapUI
服务提供方02003000000001 请求方:08001
成功截图:
三、HTTP-HTTP监控平台:SoapUI
在HTTP-MQ的基础上将ServiceID改成HTTP的服务号
服务提供方:08001000000002 请求方:08001
成功截图:
四、MQ-MQ
服务提供方:02003000000002 请求方:03002
成功截图:
五、MQ公布订阅
监控平台 在监控平台注冊对应的公布、订阅服务号并授权。管理公布订阅映射,刷新缓存
截图:
六、 公布订阅:Webservice-MQ
监控平台:SoapUI 执行Provider,在Provider下就可以看到请求方公布过来的消息。
七、 公布订阅: MQ- Webservice
执行Request,在Service下就可以看到请求方公布过来的消息
截图:
八、Webservice-Webservice
监控平台:SoapUI
新建服务
然后保存
打开wsserver管理 点击新增
參数名假设带了命名空间则选是,否则选否。然后要依据參数命名空间的不同来区分注冊:
假设參数没有命名空间,则不须要填写其他命名空间一栏;
假设參数有命名空间且与方法名命名空间同样,则不须要填写其他命名空间一栏。
假设參数名有一个或多个命名空间和方法名命名空间不一致。那就要把不一致的命名空间填写到其他命名空间一栏。多个用逗号隔开,然后还须要在WS命名空间结构映射菜单注冊WebService多命名空间的映射。
假设要注冊的WebService服务有SOAPAction则须要在在SOAPAction一栏填写。此处的username和password是提供方WebService服务所须要的username和password,假设提供方的WebService服务实usernamepassword验证,则在此处填写。
打开soapUI 相相应的消息
最后刷新缓存
注冊MQ:步骤
系统注冊—》系统消息队列管理—》服务管理—》服务授权管理—》ESB刷新缓存
最后ESB缓存刷新
注冊webservice系统步骤:
系统注冊—》系统消息队列管理—》服务管理—》服务授权管理—》WS服务管理—》WS方法管理—》ESB刷新缓存
图:前面与注冊MQ都一样