When I invoke a web service in a portel, the result is in cache. When the result of the web service change, I can’t show it in my portlet.
How can I change that? I always want to invoke the web service.
If you are staying on the same page - yes indeed results are getting cached in the managed beans. You have to explicitly call web service client refresh() method to get updated results.
If you are using autoRefresh=true property of the webService client and would like to invoke every time you refresh a page, then you may override beforeRenderResponse method of your page bean and refresh web service client there:
@Override
protected void beforeRenderResponse() {
super.beforeRenderResponse();
get<yourwebserviceclient>().refresh();
}