on 09-28-2012 6:34 AM
Hi everybody,
i'm working on SRM 701 and i want to work with an external application(Service Manager) via webservices. The SAP generated Consumer-Proxy works fine for me. But on every connection with the SAP defined proxy, the proxy established a new session on the external application server... but i want to reuse an established session.
I found these information to use the webservice connection with the external application.
Service Manager server creates a new session for each subsequent request and quickly run out of
available sessions.
To avoid running out of available sessions, there are two options to consider:
Option A: Set the HTTP header "connection:closed" so that the Service Managerserver will not
keep a Web Services session open after the current request is finished.
Option B: Utilize the Web Services session persistence by doing one of the following to reuse the
existing Web Services session on theService Managerserver.
for HTTP/1.1.
information that created the session.
Note: Even with Web Services session persistence, each SOAP API request is stateless, so
that requests are handled independently between one another.
I don't know where i set the header information from "Option A" in the Consumer-Proxy configuration!?
With an client tool (SOAPSonar) i tried "Option B 1". That didn't work either but i can see in the responsed header data that there are cookie information.
The SAP generated proxy interface includes a "handle" but these responsed data isn't filled with information (i think there could be set the cookie information)
I'm neither a webservice specialist nor an SAP proxy specialist but... is there a option to configure the SAP Proxy in that way, that the Proxy can handle the cookie so that i can reuse with these cookie information the established external server Option B 2) ?
Or i'm wrong with these ideas?
Thanks in advance for help or hints
--Bernward Henkel
Hi Trevor,
i found out, that when i set the "connection: keepalive" parameter (Option A), the session closed immediatly after the request.
That works although for me. Now i read in your link, that we can set these parameter in the SOAMANAGER configuration.
But... i can't find these option in the transport settings tab of the SOAMANAGER.
Do you have an idea where i can set these parameter ?
Thx for your help.
--Bernward Henkel
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Trevor,
i see you are using something with "XI
-Integration". Maybe that is the difference in the interface between my SOAMANAGER and your's. I don't have the tab "State Management'.My constellation with this WSDL stuff is:
TRY.
CREATE OBJECT lo_wsproxy
EXPORTING
logical_port_name = 'LP_SRM_CM'.
CATCH cx_ai_system_fault INTO lo_sys_exception.
ENDTRY.
That's it. And therefor i look for the place where i can change the HTTP Parameter "Connection: keepalive".
No XI stuff etc.
Regards, Bernward
Hi Mustafa,
sorry for the late answer... had a long vacation 🙂
There is no solution for the "keep alive" connection. So the hole application ist optimized for the bi-directional communication. That means that the SAP-System send an question and waited for an answer. If the answer arrived the communication-task is over.
Regards,
Bernward
Hi Bernward,
I haven't really dealt with a situation like this but it appears that HTTP cookies are supported when configuring your logical port for the consumer proxy. Not sure how useful this is to you but it could be a start to find what you are looking for.
http://help.sap.com/saphelp_nwce711/helpdata/en/47/f8af96fdb84aa7e10000000a421937/content.htm
Regards, Trevor
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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.