on 06-09-2010 9:42 PM
Hello people!
i need some helping in designing a solution, i'm kinda new in the PI world, and i never made BPM stuff and so...
Here is my situation, i have 2 Webservices that i have to consume in PI
R/3 will send information to PI
in PI i have to Consume the first Webservice with some information and that will Response a Token,
then i have to Merge this Token with another XML message and send to another Webservice, the i get the Response Message of this webservice and send back to R/3
whats the best way of doing this? is it using BPM?
this is the two Webservices i will have to use:
http://siatepqa.suseso.cl:8888/Siatep/WSToken?wsdl
http://siatepqa.suseso.cl:8888/Siatep/WSIngreso?wsdl
Can anyone help me?
Thanks!
Edit:
*
i've already read alot of BPM topics and i think this is the way... but i'm not sure
i want to use abap_proxy conection in r/3 > PI and the webservice connections will use SOAP/WS
*
Edited by: pitoshi on Jun 9, 2010 10:57 PM
Hi,
Use BPM is fine in your case.
However, if I design this interface, I can achieve without BPM.
R/3 send message to PI via Outbound proxy (using XI Adapter) ---> PI receive Message and execute Mapping program --> during the mapping program, you can have SOAP lookup to call first web service to get token, then you can use lookup value in your mapping, ---> Use SOAP receiver adapter to call first web service, then PI get response from it, then pass to R/3.
Done !
Liang
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Liang Ji,
thanks very mutch for your answer, this is very helpfull,
But in:
"R/3 send message to PI via Outbound proxy (using XI Adapter) ---> PI receive Message and execute Mapping program --> during the mapping program, you can have SOAP lookup to call first web service to get token, then you can use lookup value in your mapping, ---> Use SOAP receiver adapter to call first web service, then PI get response from it, then pass to R/3. "
You mean " ---> Use SOAP receiver adapter to call first web service, then PI get response from it, then pass to R/3. ""
call the Second Webservice?
in spite of my difficulties with BPM, is this solution is better than using BPM?
Edit: * and if any of these processes do not respond? how I treat it? *
anyone else have any other option or tips to this scenario?
Edited by: pitoshi on Jun 10, 2010 12:34 AM
This the naming confusion for web service.
Considering your last web service is the one that its response will go back to your R/3, then you can consider this one as your normal receiver in your scenario.
The other web service is only provide token back, you can consider it as lookup web service, you can call it during your mapping program.
This design is more efficient then BPM and reduced overhead as BPM has another engine involved.
Regards
Liang
Edited by: Liang Ji on Jun 10, 2010 12:43 AM
Hi, PItoshi:
Using any lookup (SOAP, RFC, JDBC) do not require message merging.
For PI 7.1 or later, SAP provided standard function for RFC and JDBC lookup.
However for SOAP lookup, you have to follow the following steps:
1. Using Webservice Tool to import your WSDL, then you know your format of request message
2. Create SOAP receiver adapter, fill in two parameters value, one is action and other one is endpoint, you can get this from your WSDL
3. In your mapping program, create UDF, search in the forum or wikis, you will find sample Java code, sorry it is not handy now,
otherwise, I will provide you here.
4. You can map the output (Your token value) of the UDF to your target message which is request for your second WS.
Hope this clear your doubt.
Regards
Liang
User | Count |
---|---|
87 | |
10 | |
10 | |
10 | |
7 | |
6 | |
6 | |
5 | |
5 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.