on 12-21-2017 2:07 PM
We have build a mapping (it's in several scenarios, in one scenario it's a graphical map where the Lookup service is using in an UDF, in the 2nd scenario it's a java mapping) and we are consuming the Lookup Services (Lookup Service).
Then I made a mistake in the Channel configuration and I have corrected it. But for some reason the change is not been taken into account for the mapping. Looks like the channel is cached somewhere and I have not found the place where I can refresh the cache.
What I have done (and what has not helped):
- Full CPA Cache Refresh
- Checked Cache Notifications
- Redeployed the affected Graphical Map/Java Map (changed comment and activated again).
Has anybody an idea?
Looks like the behavior is not in all systems, because I have spoken to a business partner and he said, he cannot reproduce the problem in his environment.
Regards
Helmut
PS: I am on PI 7.5
Hello Helmut
Try this
Channel channel = LookupService.getChannel(CommunicationComponentString, ChannelString);
SystemAccessor accessor = LookupService.getSystemAccessor(channel);
// *** take care with namespaces in varXML
InputStream inputStream = new ByteArrayInputStream(varXML.getBytes());
XmlPayload payload = LookupService.getXmlPayload(inputStream);
SOAPOutPayload = accessor.call(payload);
InputStream inp = SOAPOutPayload.getContent();
Remeber to change your channel and activate.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Helmut
This is what I mean with namespaces
"<?xml version=\"1.0\" encoding=\"UTF-8\"?>"+ "<sap:Request-sap.com-home-cltrasp-ClaseTransporteFlow-ClaseTransporteFlow xmlns:sap=\"http://www.sap.com\" xmlns:par=\"http://www.example.org/params/\">"+
...
If the scenario is working fine (no code errors, or warnings), verify the activatin process, the cache.
Integration builder cache status.
Regards
Hi Helmut!
Just for case: did you also try to Stop/Start the channel?
Regards, Evgeniy.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Evgency,
even if i am deleting the channel and create it with the same name - it's still using the old values. So something is caching the connection and not look up the values from the channel.
I want to find the way to delete out the channel from the cache used by the lookup service.
As mentioned before, also a full cache refresh, change of channel and even deleting and creating it again is not solving the issue.
Regards
Helmut
Hi Anurag,
it's in the last example an UDF:
Channel channel = LookupService.getChannel(System,Channel);
SystemAccessor accessor = LookupService.getSystemAccessor(channel);
InputStream inputStream = new ByteArrayInputStream(query.getBytes());
Payload QueryPayload = LookupService.getXmlPayload(inputStream);
Payload ResponsePayload = accessor.call(QueryPayload);
Looks like any change I am doing in a channel is not been used -even if I am deleting the channel and create it with same name newly - it's still using old credentials, URLs, ... Only if I am creating a new channel with a different name - than it's consuming the values of the new channel.
BR Helmut
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
can you mention how do you use the lookup service ?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
74 | |
9 | |
7 | |
6 | |
6 | |
6 | |
6 | |
6 | |
5 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.