I have been reading the AIA documentation regarding the verb codes and when they should be used. I am reading the section describing the query verb. (http://docs.oracle.com/cd/E21764_01/doc.1111/e17364/constabcs.htm#CFAIGGBH section 12.8.7)
I need to build a service that implements a query list operation on my Custom EBO.
I need to pass my service a user and have the service reply with all the objects relating to that user.
I am trying to build my custom EBO so it matches the EBO's provided by Oracle but the method described here involves a very complicated development using the AccessComplexQueryType.
I am tempted to throwing away the standard method of building the Query EBM in favour of a much simpler one. (e.g. the request EBM could just be a datastructure containing the username.) Is this a better way to do this?
Is your service part of an existing AIA implementation? If not is the client insisting using AIA concepts? If not then I won't worry too much that it's not 100% inline. The most important is that the client and yourself are clear on what it should be doing. Try to keep it simple.
However if the service is part of an existing AIA implementation or the client insists using AIA concepts then I would suggest to keep your service in line with the AIA concepts.
In my view the AccessComplexQueryType should not be too complex for what you want to achieve. The AccessComplexQueryType is nothing more than a flat xml structure in line with SQL concepts. There are some good examples in the URL provided that you might want to use as a reference. See request message: "Example 12-13 Content Payload of a Single Object Query".
The response can be as simple as the example at "Example 12-19 Requesting Specific Message Return to QueryInvoice Message". The only thing you have to change is between the ResponseFilter nodes to add a complex type that can be unbounded and contains the username. This should be a complex type used from the EBO.
This will be a good exercise to get yourself familiar with the concept.
Thank you for your response. We have been developing our SOA infrastructure from scratch and we have opted to use AIA concepts. I would like to try and use the standard method for creating an AIA query message to understand how it works.
I will have to be developing a service that takes the AccessComplexQueryType as an input and returning the relevant results. If I use the simple method it is very straight forward but using the complex query I will need to parse the data structure construct a query out of it and then return the result. This seems like it could be very complex. Do you know of any examples or articles explaining how to approach this?