Hi Listers,
As per my experience (even though ARS is not limited for searching) you may to
consider several factors when enabling a Web Service for long queries
(OpGetList).
- Amount of records: (Do you really need to get more than 700-1000
records?)
- Packet Size per Query (i.e IncidentInterface_WS results for a
GetList query with 16 records returned/50 fields per record = about 70 KB)
- JVM Heap Size ( -XMX- should be about 50% of your Physical Memory,
-XMS about 90% of -XMX)
- XSD Structure for WS' GetList Response (How many attributes are your
WS returning per record?)
- Concurrent Users being attended through MT (Is your MT being used by
regular people meanwhile querying through WS?)
- Max Entries Returned by GetList (Server Information)
- Max Entries Returned by Web Service'GetList response (maxlimit)
- Database Behavior and Performance (Have you ever checked SQL logs
when querying because of GetList operation? It's not "just one" SQL sentence
executed when querying:
Example: IncidentInterface_WS Getlist, Qualification: 'Phone Number' = "XXXXXXX"
<SQL Query n° 1 - Querying Request ID's based on Qualification>
SELECT T1916.C1 FROM T1916 WHERE
(T1916.C1000000056 = '25329197') ORDER BY 1 ASC //21 records found
<SQL Query n° 2 - Querying All fields for First Request ID found because of SQL
Query n° 1>
SELECT
C1,C1,C1000000217,C1000000298,C1000000251,C1000000014,C1000000218,C1000000063,C1000000064,C1000000065,C1000000004,C1000003896,C1000003891,C1000003892,C1000003893,
C1000003895,C1000003894,C1000000001,C1000000082,C1000000027,C1000000002,C200000006,C1000000000,C1000000151,C1000000019,C1000000163,C1000000161,C1000000048,C1000000018,
C240001003,C1000000020,C1000000010,C1000000056,C1000000164,C1000000169,C200000003,C200000004,C200000005,C240001005,C240001002,C200000012,C1000000215,C1000000156,
C1000002488,C1000003889,C1000003890,C1000000099,
C7,C1000000150,C1000000162,C1000000026 FROM T1916 WHERE (E0 = 'INC000000006132'
and E1 = 'INC000000006132' )
<SQL Query n° 3 - Querying All fields for Second Request ID found because of
SQL Query n° 1>
SELECT
C1,C1,C1000000217,C1000000298,C1000000251,C1000000014,C1000000218,C1000000063,C1000000064,C1000000065,C1000000004,C1000003896,C1000003891,C1000003892,C1000003893,
C1000003895,C1000003894,C1000000001,C1000000082,C1000000027,C1000000002,C200000006,C1000000000,C1000000151,C1000000019,C1000000163,C1000000161,C1000000048,C1000000018,
C240001003,C1000000020,C1000000010,C1000000056,C1000000164,C1000000169,C200000003,C200000004,C200000005,C240001005,C240001002,C200000012,C1000000215,C1000000156,
C1000002488,C1000003889,C1000003890,C1000000099,
C7,C1000000150,C1000000162,C1000000026 FROM T1916 WHERE (E0 = 'INC000000006199'
and E1 = 'INC000000006199' )
.....
.....
<SQL Query n° 22 - Querying All fields for 21th Request ID found because of SQL
Query n° 1>
HTH,
Alejandro
De: Action Request System discussion list(ARSList) [mailto:[email protected]]
En nombre de Prabhakaran, Prasanth (GO IN Application Management)
Enviado el: Jueves, 13 de Octubre de 2011 7:00
Para: [email protected]
Asunto: Re: Web Service getlist can not fetech more than 700 records and give
request time out
**
Hi Sameer,
As per my understanding there are no limits for fetching records through web
services using getlist method, make sure that your form search is not limited
for searching. There are no limitations on publishing web service in OOTB forms
and as Chintan mentioned we should be very specific about the search
qualification.
Regards,
Prasanth
From: Action Request System discussion list(ARSList)
[mailto:[email protected]] On Behalf Of Chintan Shah
Sent: Wednesday, October 12, 2011 9:15 PM
To: [email protected]
Subject: Re: Web Service getlist can not fetech more than 700 records and give
request time out
**
Hi Sameer,
As far as I know, there is none..in your web-service designer you can specify
the # of records to be retrieved. I generally keep it to 1000 or less.
Usually you want to keep the qualification very specific and make sure that it
does not return a large data set or if it does then # of attributes that you
are returning should be kept less otherwise you see will a large SOAP envelope
returning back.
I had seen issues in past where retrieving more than over 5K records with bad
qualification hung the midtier (and errors registered were similar to what you
are seeing below...cant recall but I have even seen out of memory)..although
these does depend on your JVM settings on tomcat.
As far as writing web-service on join form, I have not tried that..but make
sure you have a good qualification and fields used in qualification are indexed.
Thanks.
Chintan.
________________________________
From: Sam The Dam <[email protected]>
To: [email protected]
Sent: Wednesday, October 12, 2011 5:36 AM
Subject: Web Service getlist can not fetech more than 700 records and give
request time out
**
Hi All,
I have published web service using gelist. But when I try to consume this web
service I can fetch only 500 records.
I found a BMC KB KA299205 and set the 'Proxy Server Settings for Java VM' value
to -Xms512m -Xmx1024m and now able to fetch 700 records.
However if I try to fetch more than 700 records using this web service I get
request time out. I have written this web service on a custom form which is a
join form of HPD:Help desk
Wed Oct 12 06:24:34 GMT 2011:ERROR:Exception in request:
java.net<http://java.net.So>.SocketTimeoutException: Read timed out
Wed Oct 12 06:24:34 GMT 2011:ERROR:An error occured [Read timed out], see error
log for details
Wed Oct 12 06:24:35 GMT 2011:INFO:Error getting response for
[PortSoapBinding.GetList:Request 1]; java.net.SocketTimeoutException: Read
timed out
Is there any limit on number of records that one can fetch by consuming a web
service which is using getlist?
Also is there any restriction on publishing web service on OOTB forms?
Regards,
Sameer Inamdar
Wipro Technologies
Please do not print this email unless it is absolutely necessary.
The information contained in this electronic message and any attachments to
this message are intended for the exclusive use of the addressee(s) and may
contain proprietary, confidential or privileged information. If you are not the
intended recipient, you should not disseminate, distribute or copy this e-mail.
Please notify the sender immediately and destroy all copies of this message and
any attachments.
WARNING: Computer viruses can be transmitted via email. The recipient should
check this email and any attachments for the presence of viruses. The company
accepts no liability for any damage caused by any virus transmitted by this
email.
www.wipro.com<http://www.wipro.com>
_attend WWRUG11 www.wwrug.com<http://www.wwrug.com> ARSlist: "Where the Answers
Are"_
_attend WWRUG11 www.wwrug.com ARSlist: "Where the Answers Are"_
Think green - keep it on the screen. This e-mail and any attachment is for
authorised use by the intended recipient(s) only. It may contain proprietary
material, confidential information and/or be subject to legal privilege. It
should not be copied, disclosed to, retained or used by, any other party. If
you are not an intended recipient then please promptly delete this e-mail and
any attachment and all copies and inform the sender. Thank you.
_attend WWRUG11 www.wwrug.com ARSlist: "Where the Answers Are"_
_______________________________________________________________________________
UNSUBSCRIBE or access ARSlist Archives at www.arslist.org
attend wwrug11 www.wwrug.com ARSList: "Where the Answers Are"