Caching WebServices Result
Hi,
Does WebLogic Server (7.0 or 8.1) offer a functionality to cache the WebService
results in the
server-side?
Thanks,
Charles.
Hi Charles,
No, but if you could describe your "use case" it would be helpful to
understand; possibly existing functionality could be adapted or future
enhancements could be put into the product.
Thanks,
Bruce
Charles Desmoulins wrote:
>
Hi,
Does WebLogic Server (7.0 or 8.1) offer a functionality to cache the WebService
results in the
server-side?
Thanks,
Charles.
Similar Messages
-
Hi,
I am a newbie to XML/XSLT, and we have just written our first XSL stylesheet.
I am using the WebLogic JSP Tag Library to do the transformation from XML to HTML
and all seems to work well. My question is this: Does WebLogic cache the HTML
somewhere so that the transformation does not need to be reperformed each time
the page is requested by the user? It sounds like an obvious thing to do, but
I'm not sure if this functionality is included in WebLogic. If it is not, are
there others out there who have this same need (to cache XSLT results for performance
reasons) and how have you dealt with this issue. Any help would be appreciated.
I'm running WLS 6.0 SP2 on HP-UX 11.x. Thanks...
Vasuki.I tried this example based on a view:
CREATE MATERIALIZED VIEW MV_TEST2
REFRESH COMPLETE
START WITH SYSDATE
NEXT SYSDATE + 1/48
WITH ROWID
AS SELECT * FROM test1;REFRESH COMPLETE -- The complete refresh re-creates the entire materialized view.
START WITH SYSDATE -- run now
NEXT SYSDATE + 1/48 -- run again in half an hour
WITH ROWID -- I think this option is important if you use partial refresh of the view.
AS SELECT * FROM test1; -- test1 is a view:
CREATE OR REPLACE VIEW TEST1 AS
SELECT st_id, st_name
FROM aaw_solution_tree;Are column indexes still possible? I'm not sure:
Indexing: !with respect to MV's on 10gR2 Jonathan Lewis wrote! ... you are allowed to create indexes on the tables that sit under materialized views - just don't make them unique indexes
How much freedom is there in setting the refresh rate?
What type of refreshing do you need?
Another useful link: [http://asktom.oracle.com/pls/ask/search?p_string=materialized+view|http://asktom.oracle.com/pls/ask/search?p_string=materialized+view]
Hope it helps.
Tobias -
Caching XQuery Result in OSB for Performance Improvement
Hi,
I have written a custom XPath function in Java to pick the IP address of the machine and registered the same with Oracle Service Bus 11g.
In the Proxy Message Flow, the server IP is picked at run time by using XQuery that refers to the Custom Function.
Now, is there a way to cache this result some where in OSB so that in the subsequent execution, the XQuery will pick the cached value from Cache instead of making a call to Custom Function registered with OSB.
I'm asking this question to understand if performance optimization is possible here by caching the result.
Thanks,
CCHi All,
Have implemented Java Callout and Custom XPath in the same flow and kept current datetime stamp before and after each of these steps to calculate the difference b/w timestamps thereby finding the execution times of Java Callout and Custom XPath steps (this may not be an elegant way of calculating the execution time of each step in OSB message flow, request someone to suggest the most recommended approach here!) ...
For a load of 10 users, each submitting 10 requests (total 100 requests), following are the execution times (in milliseconds) collected for 10 requests (Server is not occupied with any other activity at this time):
Java Callout(milliseconds) | Custom XPath(milliseconds)
13 | 1
4 | 0
5 | 1
1 | 2
0 | 1
1 | 0
1 | 0
1 | 0
1 | 0
1 | 2
Where the value of '0' is appearing, I assume it could be some micro seconds. The difference happens to be zero in some cases as we don't have microsecond level logging.
Thanks,
CC
Edited by: Chandu on 19-Jul-2011 22:02 -
Cannot query using both conforming and cached query result
TopLink doesn't allow me to both use conforming and cached query result at the same time.
Conforming is certainly not a superset of the [cached query result] features.
Can you confirm that it's a limitation of TopLink?
Any know workaround to end-up with the same features as using both conforming and cached query result?
Conforming is about seeing modifications you do in the same transaction. As a bonus, if you query for one object and specify at least the id as criteria because TopLink will have to check in memory anyway it can avoid going to the database.
But if I do a query like "give me employees hired before now and after 30 days ago" it's about more than one objects and about finding existance so cached query result is needed to get acceptable performance in a complex application trying to avoid the same SQL generated over and over again.Thats where the trace just ends? It doesnt look like there's any LIKE or filtering going on (with respect to the Oracle pieces anyway), apparently MSAccess simply requested the whole table.
What do you mean by 'hang' exactly? Are you sure it's just not taking a long time to complete? How long have you waited? How fast does it complete on the other environment?
ODBC tracing isnt likely to help much for that. SQLNet tracing would be better to see what is going on at a lower level. Specifically, what is going on at the network level? Is the client waiting for a packet to be returned from the database?
Is the database having a hard time processing the query, perhaps due to index/tuning issues?
Assuming that is indeed the query that is "hung", how much data does that return?
Are you able to reproduce the same behavior with that query and vbscript for example?
Greg -
Portal seems to cache RFC results
Hi,
we are calling an RFC in an R/3 4.6C server from an
EP6 SP9 (sneak preview) using JCA. The call is succesful,
but the portal seems to cache the call results; i.e. if
we change the data returned by the RFC the portal receives
the old values. If we restart the portal the returned data
changes, but only on the first call.
I suppose there is some setting for caching RFC results,
but I am not able to find it.
Thanks in advance.
MattiaHere it is:
BAPI:
FUNCTION zep_test.
*"*"Local interface:
*" EXPORTING
*" VALUE(RETURN) LIKE BAPIRET2 STRUCTURE BAPIRET2
*" TABLES
*" T_AVVISI STRUCTURE ZLIST_AVVISI
DATA:
l_wa_avvisi LIKE LINE OF t_avvisi
CLEAR return.
CLEAR t_avvisi.
REFRESH t_avvisi.
* l_wa_avvisi-cdl = 'E'.
* l_wa_avvisi-avvisi = 1.
* APPEND l_wa_avvisi TO t_avvisi.
* l_wa_avvisi-avvisi = 7.
* APPEND l_wa_avvisi TO t_avvisi.
* l_wa_avvisi-avvisi = 8.
* APPEND l_wa_avvisi TO t_avvisi.
* l_wa_avvisi-avvisi = 55.
* APPEND l_wa_avvisi TO t_avvisi.
* l_wa_avvisi-avvisi = 7.
* APPEND l_wa_avvisi TO t_avvisi.
* l_wa_avvisi-avvisi = 1.
* APPEND l_wa_avvisi TO t_avvisi.
l_wa_avvisi-cdl = 'R'.
l_wa_avvisi-avvisi = 12.
APPEND l_wa_avvisi TO t_avvisi.
l_wa_avvisi-avvisi = 30.
APPEND l_wa_avvisi TO t_avvisi.
l_wa_avvisi-avvisi = 1.
APPEND l_wa_avvisi TO t_avvisi.
l_wa_avvisi-avvisi = 5.
APPEND l_wa_avvisi TO t_avvisi.
l_wa_avvisi-avvisi = 10.
APPEND l_wa_avvisi TO t_avvisi.
l_wa_avvisi-avvisi = 27.
APPEND l_wa_avvisi TO t_avvisi.
l_wa_avvisi-cdl = 'M'.
l_wa_avvisi-avvisi = 13.
APPEND l_wa_avvisi TO t_avvisi.
l_wa_avvisi-avvisi = 7.
APPEND l_wa_avvisi TO t_avvisi.
l_wa_avvisi-avvisi = 8.
APPEND l_wa_avvisi TO t_avvisi.
l_wa_avvisi-avvisi = 10.
APPEND l_wa_avvisi TO t_avvisi.
l_wa_avvisi-avvisi = 2.
APPEND l_wa_avvisi TO t_avvisi.
l_wa_avvisi-avvisi = 34.
APPEND l_wa_avvisi TO t_avvisi.
return-type = 'S'.
ENDFUNCTION.
The component is a variation of the jca.SampleComponent.par I found either on SDN or in a note (sorry, I can't seem to find it anymore). I only
changed the doJca method (below).
public void doJca(IPortalComponentRequest request, IPortalRequestEvent event) {
System.out.println("doJca()");
Context ctx = null;
// IConnectionFactory connectionFactory = null;
IConnection client = null;
ConnectionProperties prop = null;
String rfm_name = "ZEP_TEST";
String system_alias = request.getParameter("system");
if (system_alias == null) {
app.putValue(
"error",
"Couldn't establish a connection with a target system " + system_alias + ".");
return;
System.out.println("system_alias = " + system_alias);
app.putValue("error", "");
app.putValue("exportParams", "");
app.putValue("system_alias", system_alias);
try {
// Obtain the initial JNDI context
// ctx = new InitialContext();
// Perform JNDI lookup to obtain connection factory
// connectionFactory = (IConnectionFactory) ctx.lookup("EISConnections/SAPFactory");
// IConnectionSpec spec = connectionFactory.getConnectionSpec();
// ((Map) spec).put("client", "100");
// ((Map) spec).put("UserName", "");
// ((Map) spec).put("Password", "");
// ((Map) spec).put("logonmethod", "UIDPW");
// ((Map) spec).put("Language", "EN");
// ((Map) spec).put("ashost", "");
// ((Map) spec).put("sysnr", "01");
// IConnection client = connectionFactory.getConnectionEx(spec);
IConnectorGatewayService cgService =
(IConnectorGatewayService) request.getService(IConnectorService.KEY);
try {
prop = new ConnectionProperties(request.getLocale(), request.getUser());
} catch (Exception e) {
app.putValue(
"error",
"Couldn't establish a connection with the user " + request.getUser() + "." + e);
return;
try {
client = cgService.getConnection(system_alias, prop);
} catch (Exception e) {
StringWriter wr = new StringWriter();
e.printStackTrace(new PrintWriter(wr));
app.putValue(
"error",
"Couldn't establish a connection with a target system " + system_alias + "." + wr.toString());
return;
* Start Interaction
IInteraction interaction = client.createInteractionEx();
System.out.println("Starting Interaction...");
IInteractionSpec interactionSpec = interaction.getInteractionSpec();
interactionSpec.setPropertyValue("Name", rfm_name);
* CCI api only has one datatype: Record
RecordFactory recordFactory = interaction.getRecordFactory();
MappedRecord importParams = recordFactory.createMappedRecord("CONTAINER_OF_IMPORT_PARAMS");
IFunctionsMetaData functionsMetaData = client.getFunctionsMetaData();
IFunction function = functionsMetaData.getFunction(rfm_name);
if (function == null) {
app.putValue(
"error",
"Couldn't find " + rfm_name + " in a target system " + system_alias + ".");
return;
* How to invoke Function modules
System.out.println("Invoking... " + function.getName());
MappedRecord exportParams = (MappedRecord) interaction.execute(interactionSpec, importParams);
app.putValue("exportParams", exportParams);
* How to get structure values
IRecord exportStructure = (IRecord) exportParams.get("RETURN");
String columnOne = exportStructure.getString("TYPE");
String columnTwo = exportStructure.getString("NUMBER");
String columnThree = exportStructure.getString("MESSAGE");
System.out.println(" RETURN-TYPE = " + columnOne);
System.out.println(" RETURN-CODE = " + columnTwo);
System.out.println(" RETURN-MESSAGE =" + columnThree);
* How to get table values
IRecordSet exportTable = (IRecordSet) exportParams.get("T_AVVISI");
exportTable.beforeFirst(); // Moves the cursor before the first row.
while (exportTable.next()) {
String column_1 = exportTable.getString("CDL");
String column_2 = String.valueOf(exportTable.getInt("AVVISI"));
System.out.println(" COMPANYCODE_LIST-COMP_CODE = " + column_1);
System.out.println(" COMPANYCODE_LIST-COMP_NAME = " + column_2);
* Closing the connection
interaction.getConnection().close();
client.close();
} catch (ConnectorException e) {
app.putValue("error", e.toString());
System.out.println("Caught an exception: n" + e);
throw new RuntimeException(e);
} catch (Exception e) {
app.putValue("error", e.toString());
System.out.println("Caught an exception: n" + e);
throw new RuntimeException(e);
When I uncomment the commented section in the BAPI
(or I comment out some more of it), the result displayed
by the iView does not change until I restart the portal.
Thanks in advance!
Mattia -
I have another post for general descriptor tag information but I do have a specific question. In a project I am looking at I see:
<cache-usage> check cache by primary key </cache-usage>
<cache-query-results>false</cache-query-results>
<maintain-cache>true</maintain-cache>
I'm not sure how to interpret this. Does this mean that a cache is in place or not? cache-query-rests is set to false which implies no caching, yet the other parameters imply a cache is in place. What overrides here?
ThanksThe XML maps directly to the API so the JavaDocs and related documentation are the best tools:
cache-usage: query.setCacheUsage(int)
This option indicates how the object cache should be used when processing the query. This is how in-memory query is configured as well as support for cache-hits on ReadObjectQuery.
cache-query-result: query.setShouldCacheQueryResults(boolean)
This option allows you to indicate that the results returned from the query execution should be held. When the query is executed again these results will be returned without going to the database or searching the object cache. This is just caching the results locally within the query.
maintain-cache: query.maintainCache() or query.dontMaintainCache()
This setting determines if the results returned from the query should be cached in the shared object cache. It is on by default and turning this off is very rare. Occasionally done to compare the cache version with the database verision when handling an optimistic locking failure.
Doug -
Hi guys,
I have this page which calls the same query (across a database link!) four times! First when an initial LOV is generated (and the page is loaded), again for another LOV based off the initial one and finally for the report generated based off the 2 selections. This is crazily slow (30-40 seconds each load~) and also: When you try to sort with an Interactive Report by clicking the column names it then queries the database again (I assumed this part was cached but apparently not). I therefore need to cache the results from an initial query and then just limit the results locally. How can I do this? Guides? Examples?
Thanks for help.
MikeI tried this example based on a view:
CREATE MATERIALIZED VIEW MV_TEST2
REFRESH COMPLETE
START WITH SYSDATE
NEXT SYSDATE + 1/48
WITH ROWID
AS SELECT * FROM test1;REFRESH COMPLETE -- The complete refresh re-creates the entire materialized view.
START WITH SYSDATE -- run now
NEXT SYSDATE + 1/48 -- run again in half an hour
WITH ROWID -- I think this option is important if you use partial refresh of the view.
AS SELECT * FROM test1; -- test1 is a view:
CREATE OR REPLACE VIEW TEST1 AS
SELECT st_id, st_name
FROM aaw_solution_tree;Are column indexes still possible? I'm not sure:
Indexing: !with respect to MV's on 10gR2 Jonathan Lewis wrote! ... you are allowed to create indexes on the tables that sit under materialized views - just don't make them unique indexes
How much freedom is there in setting the refresh rate?
What type of refreshing do you need?
Another useful link: [http://asktom.oracle.com/pls/ask/search?p_string=materialized+view|http://asktom.oracle.com/pls/ask/search?p_string=materialized+view]
Hope it helps.
Tobias -
Cache database results within any of your software applications?
Have you had to cache database results within any of your software applications? What are the advantages and pitfalls developers should be aware of when caching database results.
plz reply....
........thnks.We have cached the database results in client side cache (partially in arrays and in files on OS as well). But this caching is restricted to purely STATIC data (which undergoes no change under any circumstances).
Our application relies a lot on static data and we managed to reduce 10% of network bandwidth with this implementation.
We tried using client side cache for not-so-static data but had lot of issues related to refresh of the same so we reverted that change.
On a side note, this does remind me of the client result cache available in Oracle 11g.
http://download.oracle.com/docs/cd/B28359_01/server.111/b28279/chapter1.htm#FEATURENO06989
See if it helps you. -
Accessign webservice result from another mxml file
HI,
I have an mxml application that uses the <mx:webservice
function to load a wsdl and get some values. I have tested the code
and it works fine and i can get the result and fault methods
correctly.
I would now like to call this service from another mxml file
and use access the result or fault string accordingly.
example scenario would be that when i load my main page, i
would like the lookup values obtained from using the webservice to
be available.
i tried the following but didnt get any luck. Here lookup is
the mxml file which contains the webservice, which i am importing
in this file. GetLookValuesWithAuth is the operation name.
var l:lookup=new lookup;
var s:AsyncToken=l.es.GetLookupValuesWithAuth.send();
s.addResponder(new mx.rpc.Responder(onSResult,onSFault));
public function onSResult(e:ResultEvent):void{
Alert.show("value is");
var xy:XMLList=XMLList(e.result);
lplist=xy.descendants("LOOKUPVALUES");
Alert.show("lookup is
"+lplist.toXMLString()+xy.toXMLString());
public function onSFault(e:FaultEvent):void
Alert.show("Fault is "+e.toString());
An example of the webservice call in lookup.mxml is shown
below
<mx:WebService id="e1" wsdl="{wsdl "
result="resultHandler(event)"
fault="mx.controls.Alert.show(event.fault.faultString.toString())>
<mx:operation name="GetLookupValuesWithAuth"
resultFormat="e4x">
<mx:request>
<databaseName>{database name}</databaseName>
<userName>{username}</userName>
<password>{password}</password>
<lookupID>05855b98-75c7-4117-a91c-db59e9ea0204</lookupID>
</mx:request>
</mx:operation>
Any suggestions?"amthekkel" <[email protected]> wrote in
message
news:g9ovt2$e63$[email protected]..
> HI,
> I have an mxml application that uses the
<mx:webservice function to load a
> wsdl and get some values. I have tested the code and it
works fine and i
> can
> get the result and fault methods correctly.
> I would now like to call this service from another mxml
file and use
> access
> the result or fault string accordingly.
> example scenario would be that when i load my main page,
i would like the
> lookup values obtained from using the webservice to be
available.
>
> i tried the following but didnt get any luck. Here
lookup is the mxml file
> which contains the webservice, which i am importing in
this file.
> GetLookValuesWithAuth is the operation name.
> {
> var l:lookup=new lookup;
> var s:AsyncToken=l.es.GetLookupValuesWithAuth.send();
> s.addResponder(new
mx.rpc.Responder(onSResult,onSFault));
> }
>
> public function onSResult(e:ResultEvent):void{
> Alert.show("value is");
> var xy:XMLList=XMLList(e.result);
> lplist=xy.descendants("LOOKUPVALUES");
> Alert.show("lookup is
"+lplist.toXMLString()+xy.toXMLString());
> }
>
> public function onSFault(e:FaultEvent):void
> {
> Alert.show("Fault is "+e.toString());
> }
>
> An example of the webservice call in lookup.mxml is
shown below
>
> <mx:WebService id="e1" wsdl="{wsdl "
result="resultHandler(event)"
I have no idea about web services, but it seems to me you
should have a
closing curly bracket in the wdsl property.
HTH;
Amy -
Mapping webservice result to a Data Type
Hi,
I receive an array of String objects as a result of a webservice call. These String Objects are XML documents (but as String Object...). How can I take each element of the array and extract all tags values to be mapped to a pre-defined Data Type? Have I to implement a parser in an UDF? How can I do the same mapping for each array cell automatically?
Thanks!Use a simple XSLT to extract the xml document from a particular string.
Suppose the response XML is like:
<OutputMessage>
<string></string>
</OutputMessage>
Your xslt would be something like:
<xsl:template match="/OutputMessage/string">
<xsl:value-of select="." disable-output-escaping="yes"/>
</xsl:template>
If you have more than 1 string, create a root tag and extract all of them inside that tag.
Regards,
Henrique. -
No way to cache method results?
hi,
recently I've had quite a few methods in objects that are quite computationally expensive (or I/O expensive), and that the results of consume little memory.
the reaction was to add code like this
import java.util.*;
class A {
Map arg2result = new HashMap();
public Object f(Object arg1, String arg2){
List args = new ArrayList();
args.add(arg1);
args.add(arg2);
if(!arg2result.containsKey(args)){
Object result;
... some work ...
arg2result.put(args,result);
return arg2result(args);
}which works great, but having to do this each time you want to cache a method is very tedious!
I've tried using the java.lang.reflect.InvocationProxy to make a proxy that would do this, but now believe its not possible.
The ideal solution might be a new keyword cached?
class A {
public cached Object f(Object arg1, String arg2){
Object result;
... some work ...
return result;
}but doing something like
MyObjectType mot1 = new MyObjectType();
MyObjectType mot2 = CacheFactory.cache(mot);would be nice as an alternative. Not having have any class that you want to cache implement an interface of its own method would be a major advantage..
thanks,
asjfNo, you do not need to alter or re-design the classes at all to >conform to any interface. Here's some of what I use, which won't >compile as-is (I just cut out the most relevant parts, that you might >find useful)thanks, I'm getting a ClassCastException with this?
when you say "you do not need to alter or re-design the classes at all to conform to any interface", is this assuming the class already implements at least one interface?
thanks,
asjf
import java.util.*;
import java.lang.reflect.*;
class Fibonacci {
public int f(int n) {return n<2 ? 1 : f(n-1) + f(n-2);}
public class Cache2 implements InvocationHandler {
static Map method2arg2result = new HashMap();
Object o;
public Cache2(Object o){this.o=o;}
public static Object wrap(Object o) {
Class clazz = o.getClass();
Class[] interfaces = clazz.getInterfaces();
return Proxy.newProxyInstance(ClassLoader.getSystemClassLoader(), // use SystemClassLoader for now
interfaces, new Cache2(o));
public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
if(!method2arg2result.containsKey(method))
method2arg2result.put(method, new HashMap());
Map arg2result = (Map) method2arg2result.get(method);
List realarg = Arrays.asList(args); // array equality is identity equality
if(!arg2result.containsKey(realarg))
arg2result.put(realarg, method.invoke(o,args));
return arg2result.get(realarg);
public static void main(String [] arg) throws Exception {
Fibonacci fibonacci = new Fibonacci();
Object wrapped = wrap(fibonacci);
System.out.println(wrapped.getClass());
Fibonacci proxy = (Fibonacci) wrapped;
time(fibonacci,"Without cache");
time(proxy,"With cache");
public static void time(Fibonacci f, String s){
long time = -System.currentTimeMillis();
for(int i=0; i<40; i++)
System.out.print(f.f(i) + (i==39 ? "\n" : ", "));
System.out.println(s+" "+(time+System.currentTimeMillis())+"\n");
} -
How to get webservice result as "e4x" format in a professional solution?
Hi. I want to get data from a .Net webservice as "e4x"
format. It works when i use <mx notation to define the service
in flex. However i want to build a more professional solution and
want to implement the webservice as a class. But I can't get it to
work such that i return the result as "e4x". Instead i get an
object with arrays etc. The problems might be that i need to use
the flex class operation to define "e4x" and then i need to bind
the operation with the webservice but it seems that the webservice
still doesn't know about to return the result as e4x. Here you see
the code in <mx notation which is working fine:
<mx:WebService id="WS" wsdl="
http://localhost/testservice/service.asmx?WSDL"
result="WS_onResult(event)" >
<mx:operation name="HelloWorld" resultFormat="e4x" >
<mx:request></mx:request>
</mx:operation>
</mx:WebService>
And in the WS_onResult procedure i get the result by doing
this:
var xmlResult:XML = XML(event.result);
As i said the above code is working fine but the code below
doesn't work well because it doesn't return the result as "e4x":
WS = new mx.rpc.soap.WebService();
WS.wsdl = "
http://localhost/testservice/service.asmx?WSDL";
WS.addEventListener(LoadEvent.LOAD, load_listener);
WS.addEventListener(ResultEvent.RESULT, result_listener);
OP = new mx.rpc.soap.Operation(WS,"HelloWorld");
WS.loadWSDL();
And in the load procedure to perform the call:
public function load_listener(event:LoadEvent):void {
OP.resultFormat = "e4x";
WS.HelloWorld.send();
And in the result listener i get a result as object and NOT
as "e4x". Can anyone help?
Btw. here i add the .Net code:
[WebMethod]
public XmlElement HelloWorld() {
XmlDocument doc = new XmlDocument();
string xml = "<Test>this is a test</Test>";
doc.LoadXml(xml);
return doc.DocumentElement;
}Hmm, try setting the resultFormat at the WS level. But what
you have looks like it should work.
Tracy -
Caching search results required
We have the following scenario:
1. Custom search portlet is on a tab on a page and
is used for searching portal items.
2. When the search results are displayed - the item
has an Edit link associated with it which links to
a custom jsp page where the item attributes can be
edited.
3. After editing the attributes on the jsp page, we would like
to return to the page where the user came from (the search
results) - but the last search results must be retained on the
page when the user returns back. Currently every time we go back to the
search results - the old results are not cached.
Any thoughts on how we could achieve this caching of
the search results?
Thanks,
SuzanneHi,
Unfortunately that is not something that is happening with us..my search form still shows the same serach results of the previous search even if i navigate to another tab and get back to it !
I am using a custom search portlet with Oracle 10g as portal version
thanks -
Webservice result and dataGrid fields
Hello,
I try to bind data from webService to dataGrid.
The trace of webService response is [Object],[Object]
For each Object I have:
Object.id = 0
Object.name = "fullname"
Object.id = 1
Object.name = "fullname1"
Object.id = 2
Object.name = "fullname2"
Ect....
the binding in datagrid is
<mx:Script>
import webapps.pharmaspot.App;
[Bindable] public var resultObject:Object = null;
</mx:Script>
<mx:WebService
id="groupWS"
wsdl="{ App.getEntryPoint() + 'groupManagerService?wsdl' }"
showBusyCursor="true">
<mx:operation
name="listAll"
resultFormat="object"
fault="App.faultHandler(event)"
result="App.resultHandler(event, resultObject)"
/>
</mx:WebService>
<mx:DataGrid id="groupGrid" width="100%" dataProvider="{groupDataProvider.resultObject}">
<mx:columns>
<mx:DataGridColumn headerText="Id" dataField="id"/>
<mx:DataGridColumn headerText="Name" dataField="name"/>
</mx:columns>
</mx:DataGrid>
This is the soap response
<?xml version="1.0" encoding="UTF-8"?>
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
<S:Body>
<ns2:listAllResponse xmlns:ns2="http://webservice/">
<return>
<id>1</id>
<name>Gruppo Uno</name>
</return>
<return>
<id>2</id>
<name>Gruppo Due</name>
</return>
</ns2:listAllResponse>
</S:Body>
</S:Envelope>
I can NOT see data in datagrid....
Please, help ...... thank you.Hey!
You should inspect the groupDataProvider.resultObject with the Debugger because it's probably empty, otherwise data would show in the DataGrid.
Also, look at the resultHandler function to see if it populates te variable correctly.
Good luck! -
Accessing webservice result - e4x format
Hi
(Flex 2 Beta version)
I am having trouble gaining access to the child elements from
a webservice call with a resultformat type of e4x.
I am receiving the results as expected but I haven't been
able to gain access to elements nested within the XML. I would like
to be able to gain access to the ''modules'' elements within the
results.
For example, using the e4x format I should be able to access
elements from the WSDL results:
event.result.ns1::findEquipmentReturn.modules;
(See the below code for complete app, just outputting to text
field at the moment)
Any help would be appreciated.
Cheers
Waynehi,
u can send httprequest this way
<mx:HTTPService id="FolderReq" url="
http://deepakt:8080/PopMailConnector/servlet/GetFolderList
" method="POST" showBusyCursor="true"
useProxy="false" resultFormat="e4x" result="initList(event)"
fault="mx.controls.Alert.show(event.fault.faultDetail)">
<mx:request>
<rand>
Math.rand();
</rand>
</mx:request>
</mx:HTTPService>
and
retrive data in result event by calling initList method as
mentioned above
and then use this
[Bindable]
public var XLC:XML;
public function initList(event:Event) : void
XLC = event.target.result;
u can get the result in e4x format
Maybe you are looking for
-
Analyzer error creating new reports
Has anyone seen this error message?<BR><BR>Error while executing query and retrieving data.; nested exception is com.hyperion.ap.APException:[1033] Native:<BR>-1073741819 Operating system exception thrown<BR><BR><BR>I started getting this today when
-
When viewing e mail it is in a gray box how do i delete that box
When viewing e mails received the content is in a gray box. How do I correct?
-
Problems changing reference range
I am unable to change the reference range. Whenever i click a new range it just remains on the previous range. Has anyone else had this problem before? If so, how do i solve it? Thanks, Dilip
-
I have a brand new Dell Laptop with Windows 7, I have Adobe reader installed, but still cannot type onto a document that I have scanned onto the laptop.?? Please help.
-
I have a 64-bit Windows 7 Home Premium PC (SP1) with a strange print spooling problem. The printer is on the network (a Brother HL-5370DW), and I'm using the latest driver from the printer manufacturer. I can print fine from some applications (MS W