on 03-03-2011 9:11 PM
Hi All,
I have the following scenario and want your suggestions:
A web based applicaiton (say A) to create customer need to integrate with another web based applicaiton (say B) which uses the customer details to display of Applicaiton A... wondering do I need to go for SOAP adaptor/HTTP adaptor or do I need to integrate these two applicaitons at data base level using JDBC adaptor?
What are the steps/any documentation to get the data from web site to SAP PI when User clicks submit button?
Please suggest.
Thanks
Rajeev
You can go for SOAP - PI - SOAP scenario. Also, if you are on PI 7.1..consider the "Direct Conenction"
http://www.sdn.sap.com/irj/scn/elearn?rid=/library/uuid/a0b9885b-5ca9-2a10-6b8e-abe9ef432a23
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
HI All,
Thanks for your feedback but want to know how can I know or get to know from the client that their Applicaitons support web services to use SOAP or HTTP or direct connection? What are the pre-requisite for a applicaiton to be connected using SOAP/HTTP/Direct connection of SAP PI?
These are standalone applicaitons (Server-Client) say
Applicaiton A which is using client applicaiton to create/update the customer information. Simply end user will use the client applicaiton (front end) web interface to create the customer..How can I send data to SAP PI?
Applicaiton B is using a web client/application to view the customer information along with additional informaiton. How can SAP PI will push data to this applicaiton?
What are things I need to look after if I want to go for SOAP/HTTP or Direct connection using SAP PI EPH1.
Thanks
Rajeev.
You mentioned A is client server and B is web based application.
so A can use HTTP (Via PI) to communicate with B.
Also talk to both A and B and check whether they host webservice or ready to consume webservice?
Note: Direct connection via PI can be used only between SAP systems. So in your case that might not be feasible.
Hope the above suggestions helpful
Thanks Baskar,
I found out that Applicaiton B can provide WSDL file, so I can use the WSDL and push the data to Applicaiton B. So I can use SOAP adaptor to push in to B from SAP PI..Please let me know if I am wrong.
Also I want to know does SOAP supports only asyncronous call as I dont want any response back from Applicaiton B once Cusotmer is passed and created in Applicaiton B....
Applicaiton A has a web client through which Users will create customers.. so I want to know is it possible to get data from the web once they hit the submit button to SAP PI? If so how can I do it?
THanks
Rajeev
>> I found out that Applicaiton B can provide WSDL file, so I can use the WSDL and push the data to Applicaiton B. So I can use SOAP adaptor to push in to B from SAP PI..Please let me know if I am wrong.
Yes. You are right. Use SOAP adapter receiver to consume web service.
>>Also I want to know does SOAP supports only asyncronous call as I dont want any response back from Applicaiton B once Cusotmer is passed and created in Applicaiton B....
Yes. Soap supports both synchronous and asynchronous. To do asynchronous, Quality of service in comm channel should be exactly once or EOIO not Best Effort.
Best Effort for synchronous mode only
>>Applicaiton A has a web client through which Users will create customers.. so I want to know is it possible to get data from the web once they hit the submit button to SAP PI? If so how can I do it?
Yes, that is possible. When the user hit submit button in web client they can push the data via HTTP protocol. you can configure HTTP sender in PI to pull the data from web client. Basically you have to guide them to use HTTP POST method referencing your PI server URL. That's it.
HTTP Post is prettty common from web client side...
Hope I answered all your questions.
HI Baskar,
Thanks for your valuale inputs:
From Applicaiton A to send data to SAP PI :
I will create the DT,MT,SI and perform all the configuration objects of entire scenario from Applicaiton A to Applicaiton B then I have to create the URL from tools option right? I have to give this URL to the APplicaiton A right?
I wonder : Applicaiton A already has the web client to create Customers... Does Applicaiton A has to code some where in their applicaiton to map the strucutre and forwad to SAP PI using URL i forward?? How it works can any one please through some light? The structure I create in SAP PI is of few feilds where as web client interface has more inforamtion of customer...
THanks
Rajeev
>>How it works can any one please through some light? The structure I create in SAP PI is of few feilds where as web client interface has more inforamtion of customer
Create HTTP sender data type, message type and everything as usual in PI. YOu have to do two things
HTTP adapter is available in abap stack i.e Integration engine.
Go to RWB -->Component Monitoring -->Integration Engine --> Test Message You will find send message to field URL
That is the URL you client has to use for posting the data.
1) Basically the above url plus add sender system, sender interface , sender namespace , qos
Example:
Asynchronous use EO
2) Payload is XML: YOu provide your sender side message structure.
Give the URL (1) and 2) Payload structure to the client.
The web client create data as you given in payload structure and use URL for the http post.
Check this link
http://help.sap.com/saphelp_nw04/helpdata/en/43/64db4daf9f30b4e10000000a11466f/content.htm
Hi,
Lets say you are using some pages from where you have to do HTTP post to PI server and PI will take data and POst it to some other application using SOAP Adapter(as you described that you have a WSDL with you.)
To post data to PI Http adapter use
< hostname: port > : < path > : /sap/xi/adapter_plain <query-string > : Namespace ,Interface ,Service
Have a look here
Regards
Aashish Sinha
HI,
Thanks for the link but my concern is about the client appliaitons A and B:
From SAP PI perspective : I will create the DT,MT,SI,MM,IM and all ID configuration .. I will get the WSDL from Applicaiton B and I will give the URL to Applicaiton A...
Now my question is to get understnad how Applicaiton A will send the data : Do they have to code at their end? As at Applicaiton A the IT experts are not aware how to send the data to SAP PI... Can any one clear me how Applicaiton A will send the data...
Similarly at Applicaiton B also there will be coding needed right? Want to understnad how the flow will work at other applications..
Thanks
Rajeev
>> As at Applicaiton A the IT experts are not aware how to send the data to SAP PI... Can any one clear me how Applicaiton A will send the data...
Already answered in my previous reply. Yes they have to create input as your payload and post the data in the given URL.
>>Similarly at Applicaiton B also there will be coding needed right? Want to understnad how the flow will work at other applications..
You are consuming webservice so you will use soap receiver adapter. They will create webservice and provide you wsdl to use.
That means B will code to create webservice.
Thanks Baskar,
I undertood that Applicaiton A team has to create input as SAP PI Payload and post the data in the SAP PI URL
>>Yes they have to create input as your payload and post the data in the given URL.
but my questtion is what needs to be done at Applicaiton A side to create Input and post the data in the SAP PI URL... As they are using the web client provided by the Application provider..Do they have to write code at the submit button of the web page? If so they have to customnise the code delivered by the provider? How it works.. Its been first time going through this...
Do they pass all the values in the URL or to the URL?
Is it possible to use SOAP adaptor instead of HTTP adaptor? so that I can use AAE in the entire scenario. Applicaiton A is a web client interface through which Customers are created.If I need to use HTTP Adaptor, do I need to create HTTP Sender Adaptor and sender Aggrement ?
Thanks
Rajeev.
>>> but my questtion is what needs to be done at Applicaiton A side to create Input and post the data in the SAP PI URL... As they are using the web client provided by the Application provider..Do they have to write code at the submit button of the web page? If so they have to customnise the code delivered by the provider? How it works.. Its been first time going through this...
Yes, if you create webservice by creating soap sender and give WSDL, then they will have to write webservice client program in java or any language to access your webservice. This program will be called in their side at the time of hitting submit button of the web page.
For this you have to go through soap sender sdn documents.
or As I already mentioned, create HTTP sender and provide your payload structure and url as we discussed in the above replies. A has to create coding to post HTTP using the url during submit hit button on their web page.
>>Do they pass all the values in the URL or to the URL?
This is client A's problem. Why do you worry? There are plenty of documents to do http post.. The below coding is simple snippet..
Search google for plenty of documents...
try {
// Construct data
String data = URLEncoder.encode("key1", "UTF-8") + "=" + URLEncoder.encode("value1", "UTF-8");
data += "&" + URLEncoder.encode("key2", "UTF-8") + "=" + URLEncoder.encode("value2", "UTF-8");
// Send data
URL url = new URL("http://hostname:80/cgi");
URLConnection conn = url.openConnection();
conn.setDoOutput(true);
OutputStreamWriter wr = new OutputStreamWriter(conn.getOutputStream());
wr.write(data);
wr.flush();
// Get the response
BufferedReader rd = new BufferedReader(new InputStreamReader(conn.getInputStream()));
String line;
while ((line = rd.readLine()) != null) {
// Process line...
}
wr.close();
rd.close();
} catch (Exception e) {
}
>>Is it possible to use SOAP adaptor instead of HTTP adaptor? so that I can use AAE in the entire scenario. Applicaiton A is a web client interface through which Customers are created.If I need to use HTTP Adaptor, do I need to create HTTP Sender Adaptor and sender Aggrement ?
Yes, if you host webservice using soap sender adaptor. Already answered above ...
>> If I need to use HTTP Adaptor, do I need to create HTTP Sender Adaptor and sender Aggrement ?
no. Http adaptor is in abap stack. so you dont need sender agreement.
Hi,
Thanks Baskar alot for your reply.
If I go with HTTP Adaptor then SAP PI will fowrad the URL and the Payload strcuture to Applicaiton A team.. Using these details Applicaiton A team has to write code at there end (in Application A) and push the data in the or to the URL..
If this is case then there is no need to create HTTP sender Communicaiton Channel and Sender Aggrement.. Right?
If I go with SOAP Adapter then SAP PI will forward the WSDL from Sender Aggrement->Tools>WSDL.... to Applicaiton Team A... Using WSDL they will write a code to push data to the SAP PI.. In which case SAP PI has to create all the Objects as usually...Is it right?
In both the case Applicaiton A has to write the code to push the data to the SAP PI..
May I know which is the best apporach to use? HTTP or SOAP?
Thanks
Rajeev.
>> If this is case then there is no need to create HTTP sender Communicaiton Channel and Sender Aggrement.. Right?
Yes. you are right.
>>... Using WSDL they will write a code to push data to the SAP PI.. In which case SAP PI has to create all the Objects as usually...Is it right?
Yes. that is right.
May I know which is the best apporach to use? HTTP or SOAP?
Talk to A to decide whether they are ready to do HTTP or SOAP. They have to tell whether they are ready to do HTTP post or writing webservice client.
Hi Rajeev,
The post is getting quite long. I think i did not see one thing mentioned:
You say B-side has the WSDL, and they are the provider of the webservice (i.e. they are the receiver of the PI message)
You can ask B-side for the WSDL, open it in browser, save as file, and then import that as External Definition in the Enterprise Service Builder.
(go to Create Object >> Interface Object >> External Definition; (this is the path on 7.1 EHP1))
Then you dont need to bother with DT and MT for the receiver side.
Kr
Robert
Hi.
Go for SAOP adapter..Check whther your 3rd party application supports webservices or not.
Regards,
Praveen Kalwa
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Check A and B Supports web service clas, if Yes go with SOAP adapter..
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Suggestions:
To Integrate Application A and B
a) If you want to go web based and having standard requirement , Use HTTP adapter itself.
b) If one of your application does not support or not running java or .net or so then go for webservice.(SOAP adapter)
c) Another way of integration is using database. You can integrate say FIle to JDBC.
Application A can drop the data in the file format to PI. PI pick the file and use jdbc adapter to write the data in application B.
See your requirements and go for the above ways.
Search SDN and you will see plenty of documents for HTTP sender, soap sender or file based interfaces to JDBC and so
Also you can try Java proxy too.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
101 | |
13 | |
13 | |
11 | |
11 | |
7 | |
6 | |
5 | |
4 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.