Re: Compound qualification for a GetList web service
Hi Chintan, Thanks for the additional suggestions. I believe I will take a different aproach... Instead of returning complete records on the get-list request based on the qualification supplied by the user, I will return a subset of the fields, specifically excluding the field(s) that may contain information that is not for general consumption. But I will include the Entry-id as one of the returned fields. Then I will provide another web service (get-entry) which will return all of the fields for a single entry, specified by Entry-id. Then I can impose my additional restriction on the qualification for the request since the customer will just be supplying the Entry-id and not a complete qualification. I know how to do this and have successfully done it on another service. This is not exactly what I was shooting for because it requires additional steps for the user, but it will give me assurance that the restricted information does not leak out through this web service. Thanks again for your thoughts on this question. Larry On Thu, Jun 9, 2011 at 11:04 PM, Chintan Shah cbss...@yahoo.com wrote: ** Ah..I c what you are saying now..Sorry, in all of my conversation, I thought you would be comparing XPATH Qualification to some field on form but that's not the case. My bad for not reading the thread properly. IMHO, there are 2 solutions for this(there could be more..but this is what I can think of so far)..again this might not be the most elegant solution on planet but it can get job done. 1. Build an automated workflow that would push all Distribution!=Internal records to a staging form and build web-service from staging form. In that case you will never need AND 'Distribution'!=Internal qualification appended. This is probably good since amount of records to traverse would be lesser than what is on source form and it would take query off the source form. One of caveat I see upfront is that you will have to spend time in building that staging form(you can probably just do a save as on source form) and maintaining that workflow that pushes records to it. 2. Client should supply complete qualification(as you mentioned you will be at the mercy of the client) Does #1 help or does it over-complicate :)? Thanks Chintan. ___ UNSUBSCRIBE or access ARSlist Archives at www.arslist.org attend wwrug11 www.wwrug.com ARSList: Where the Answers Are
Re: Compound qualification for a GetList web service
Hi Chintan, Yes, I understand completely that I am at the mercy of the consumer with regard to what they put in the qualification. You did not confuse me. :-) However, when I put the following into the Qualification: box in Developer Studio: XPATH(/ROOT/qualification) AND 'distribution' != Internal I receive the following error: ERROR (1583): Expected a relational operation at this point; position 0, 5147, solutions Dev Studio is trying to make sure that this is a syntactically-correct qualification, and it is not. So this is the original problem/question... how do I combine XPATH(/ROOT/qualification) with my own additional qualification? Thanks for your continued interest. Larry 1583 Error Relational operator expected at this position. The only legal operator at this position in a search line is a relational operator (=, !=, , =, , =, or LIKE). Fix the format of the line, and perform the search again. Larry Robinson NC State University Remedy Admin / Developer On Thu, Jun 9, 2011 at 3:16 PM, Chintan Shah cbss...@yahoo.com wrote: ** Hi Larry, As far as i know, you will be able to control the AND 'distribution' != Internal from qualification bar, however you will be relying on client for Qualification' string. Clients will be responsible for completing the brackets appropriately otherwise meaning of entire qualification might change. This goes back to what your requirements are and you will need to educate clients of the web-services accordingly e.g. 1. Client can pass this in XPATH qualification(notice incomplete bracket) Workgroup=REMEDY AND ( word=email OR word=remedy You append this AND 'distribution' != Internal making your entire qualification look like this Workgroup=REMEDY AND ( word=email OR word=remedy AND 'distribution' != Internal 2. Client can pass this in XPATH qualification(notice brackets are completed) Workgroup=REMEDY AND ( word=email OR word=remedy) You append this AND 'distribution' != Internal making your entire qualification look like this Workgroup=REMEDY AND ( word=email OR word=remedy) AND 'distribution' != Internal --I believe this might be the qualification you would be looking for. In a nutshell, you would be dependent on client of web-service for XPATH-Qualification piece. Hoping I did not confuse you :). Thanks Chintan. ___ UNSUBSCRIBE or access ARSlist Archives at www.arslist.org attend wwrug11 www.wwrug.com ARSList: Where the Answers Are
Re: Compound qualification for a GetList web service
Ah..I c what you are saying now..Sorry, in all of my conversation, I thought you would be comparing XPATH Qualification to some field on form but that's not the case. My bad for not reading the thread properly. IMHO, there are 2 solutions for this(there could be more..but this is what I can think of so far)..again this might not be the most elegant solution on planet but it can get job done. 1. Build an automated workflow that would push all Distribution!=Internal records to a staging form and build web-service from staging form. In that case you will never need AND 'Distribution'!=Internal qualification appended. This is probably good since amount of records to traverse would be lesser than what is on source form and it would take query off the source form. One of caveat I see upfront is that you will have to spend time in building that staging form(you can probably just do a save as on source form) and maintaining that workflow that pushes records to it. 2. Client should supply complete qualification(as you mentioned you will be at the mercy of the client) Does #1 help or does it over-complicate :)? Thanks Chintan. --- On Thu, 6/9/11, L G Robinson n...@ncsu.edu wrote: From: L G Robinson n...@ncsu.edu Subject: Re: Compound qualification for a GetList web service To: arslist@ARSLIST.ORG Date: Thursday, June 9, 2011, 12:37 PM ** Hi Chintan, Yes, I understand completely that I am at the mercy of the consumer with regard to what they put in the qualification. You did not confuse me. :-) However, when I put the following into the Qualification: box in Developer Studio: XPATH(/ROOT/qualification) AND 'distribution' != Internal I receive the following error: ERROR (1583): Expected a relational operation at this point; position 0, 5147, solutions Dev Studio is trying to make sure that this is a syntactically-correct qualification, and it is not. So this is the original problem/question... how do I combine XPATH(/ROOT/qualification) with my own additional qualification? Thanks for your continued interest.Larry 1583 ErrorRelational operator expected at this position.The only legal operator at this position in a search line is a relational operator (=, !=, , =, , =, or LIKE). Fix the format of the line, and perform the search again. Larry RobinsonNC State UniversityRemedy Admin / Developer On Thu, Jun 9, 2011 at 3:16 PM, Chintan Shah cbss...@yahoo.com wrote: ** Hi Larry, As far as i know, you will be able to control the AND 'distribution' != Internal from qualification bar, however you will be relying on client for Qualification' string. Clients will be responsible for completing the brackets appropriately otherwise meaning of entire qualification might change. This goes back to what your requirements are and you will need to educate clients of the web-services accordingly e.g. 1. Client can pass this in XPATH qualification(notice incomplete bracket) Workgroup=REMEDY AND ( word=email OR word=remedy You append this AND 'distribution' != Internal making your entire qualification look like this Workgroup=REMEDY AND ( word=email OR word=remedy AND 'distribution' != Internal 2. Client can pass this in XPATH qualification(notice brackets are completed) Workgroup=REMEDY AND ( word=email OR word=remedy) You append this AND 'distribution' != Internal making your entire qualification look like this Workgroup=REMEDY AND ( word=email OR word=remedy) AND 'distribution' != Internal --I believe this might be the qualification you would be looking for. In a nutshell, you would be dependent on client of web-service for XPATH-Qualification piece. Hoping I did not confuse you :). Thanks Chintan. _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
Re: Compound qualification for a GetList web service
Hi Chintan, Thanks for the reply. I realize that I can mix and match fields from the form and from the XPATH but I am unclear on how to combine them to achieve the desired result. Maybe an example will help: Suppose that XPATH(/ROOT/qualification) is something like the following: urn:qualificationWorkgroup=REMEDY AND ( word=email OR word=remedy)/urn:qualification What I want to actually send to the server as the query is the following: Workgroup=REMEDY AND ( word=email OR word=remedy AND 'distribution' != Internal But I can not figure out how to combine XPATH(/ROOT/qualification) with the additional clause to achive the desired result. Thanks. Larry Larry Robinson Remedy Admin/Developer NC State University On Tue, Jun 7, 2011 at 8:32 PM, Chintan Shah cbss...@yahoo.com wrote: ** Hi Larry, Yes you can do it. In qualification bar, you should have an option of using either the field from the form or an element from XPATH. What you mentioned below should work. Thanks Chintan. --- On *Tue, 6/7/11, L G Robinson n...@ncsu.edu* wrote: From: L G Robinson n...@ncsu.edu Subject: Compound qualification for a GetList web service To: arslist@ARSLIST.ORG Date: Tuesday, June 7, 2011, 12:23 PM ** Hi Folks, I need some help formulating a qualification for a GetList web service. Simplistically, I want to do the following: (XPATH(/ROOT/Qualification)) AND ('distribution' != Internal) But this is not syntactically correct. In words, I want to take whatever qualification the user has supplied and add the: ('distribution' != Internal) clause to the qualification that gets passed to the service. 'distribution' is a field on the form being searched. Is there a syntax for this? Is it possible to build something like this using EXTERNAL()? I am just learning about creating and consuming ARS web services so any guidance and/or insights will be greatly appreciated. ARS 7.6.03 Solaris 10 Oracle 11.2.0.1.0 - 64bit Thanks. Larry ___ UNSUBSCRIBE or access ARSlist Archives at www.arslist.org attend wwrug11 www.wwrug.com ARSList: Where the Answers Are
Compound qualification for a GetList web service
Hi Folks, I need some help formulating a qualification for a GetList web service. Simplistically, I want to do the following: (XPATH(/ROOT/Qualification)) AND ('distribution' != Internal) But this is not syntactically correct. In words, I want to take whatever qualification the user has supplied and add the: ('distribution' != Internal) clause to the qualification that gets passed to the service. 'distribution' is a field on the form being searched. Is there a syntax for this? Is it possible to build something like this using EXTERNAL()? I am just learning about creating and consuming ARS web services so any guidance and/or insights will be greatly appreciated. ARS 7.6.03 Solaris 10 Oracle 11.2.0.1.0 - 64bit Thanks. Larry ___ UNSUBSCRIBE or access ARSlist Archives at www.arslist.org attend wwrug11 www.wwrug.com ARSList: Where the Answers Are
Re: Compound qualification for a GetList web service
Hi Larry, Yes you can do it. In qualification bar, you should have an option of using either the field from the form or an element from XPATH. What you mentioned below should work. Thanks Chintan. --- On Tue, 6/7/11, L G Robinson n...@ncsu.edu wrote: From: L G Robinson n...@ncsu.edu Subject: Compound qualification for a GetList web service To: arslist@ARSLIST.ORG Date: Tuesday, June 7, 2011, 12:23 PM ** Hi Folks, I need some help formulating a qualification for a GetList web service. Simplistically, I want to do the following: (XPATH(/ROOT/Qualification)) AND ('distribution' != Internal) But this is not syntactically correct. In words, I want to take whatever qualification the user has supplied and add the: ('distribution' != Internal) clause to the qualification that gets passed to the service. 'distribution' is a field on the form being searched. Is there a syntax for this? Is it possible to build something like this using EXTERNAL()? I am just learning about creating and consuming ARS web services so any guidance and/or insights will be greatly appreciated. ARS 7.6.03Solaris 10Oracle 11.2.0.1.0 - 64bit Thanks.Larry _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