Broadcasting from the adapter framework
Hi Experts,
we have the following customer requirement: XI integrates an SAP ERP system with a large number of legacy systems (~100). XI "broadcasts" messages from the ERP system to the partner systems. Whats specific is that all these partner systems receive the message in the same format as the integration layer defines the message format (outside-in).
With a high message volume it would be clearly a waste to go the standard way in which XI supports this kind of scenario: cloning the message and transforming it individually for every partner system. As the message will be identical this would amount to a high degree of redundant processing.
Therefore, we would like to keep the message as one message through the mapping and broadcast at the latest possible point in XI. The idea is that we can do this around the adapter for the receiver system. A module could be linked in that distributes the message to multiple other communication channels.
My question is:
a) Is this architecturally and technical advisable or is there a better way to do it (bare in mind the performance implications)
b) If the above concept is appropriate, how can a message be passed on to other communication channels ? I could not find an example or some API documentation that would give clarity on this.
Thank you very much and best regards
Jochen
Hi Jochen,
Looking at <a href="http://help.sap.com/saphelp_nw04/helpdata/en/a4/31d940f52f7e7fe10000000a1550b0/frameset.htm">Message Flow to the Receiver</a>, it seems to me that what you probably want to do is replace the ModuleProcessorExitBean with a custom implementation capable of either:
1) calling multiple adapters and exiting module processing.
or
2) calling a single adapter without exiting module processing. In this case you could simply chain multiple calls to your module in order to call multiple adapters.
I would proceed by finding and decompiling the standard ModuleProcessorExitBean in order to determine if either or both of these approaches is feasible.
It seems that either way, your module will have to take responsibility for ensuring guaranteed delivery.
Best regards,
Thorsten
Similar Messages
-
Alerts from the Adapter Framework
Hello,
I have configured the CCMS to monitor XI message processing. For the Integration Server that works fine. But for the Adapter Framework I don't receive any alerts. I use the CIDX Adapter and I would like to receive an alert, when a RAE has been received or when an RA is overdue. Has anybody an idea if this is possible?
Cheers,
JürgenHi Andreas,
We are on XI 3.0 SP9 and are not receiving email alerts when the J2EE adapters fail in the RWB. We only receive email alerts when messages fail in the ABAP integration server.
Are you implying, from your previous post, that alert configuration in the RWB, although available before SP11, will only trigger alerts from adapter framework errors at SP11 level or higher?
Regards,
Dave -
Where is the Adapter Framework/SDK ?
Hi
I have developed a JCA 1.5 resource adapter for integration test purpose.
I thought the "hard" part done...obviously I was wrong.
I know I can integrate it within BPEL PM as "explained" in this link: http://www.oracle.com/technology/products/integration/adapters/pdf/Adapter%20Development%20cookbook.pdf
Unfortunately this document doesn't realy help and some related tools or samples seem unobtainable.
1.- Does anybody know where I can get the Adapter Framework/SDK mentioned in this document ?
2.- Where can I find the -also mentioned- sample related to the MyOwnPersonalRecord -> XMLRecord translation ?
DominiqueThere is also an AIR SDK outside the gaming SDK. I am looking for the Flex/AIR combination.
-
How to use the adapter framework sample_ra.
hi..
I have deployed the sample_ra adapter framework code through NWDS. Now how to use the adapter framework into my scenario.Please answer elaborately .How to call this adapter framework while configuring the communication channel.hi
Follow these links I think it will helps you
http://www.sap-hefte.de/download/dateien/1241/140_leseprobe.pdf
NWDS and generate java proxy
http://help.sap.com/saphelp_nw2004s/helpdata/en/32/43d84072378031e10000000a1550b0/content.htm
http://msdn2.microsoft.com/en-us/library/ms944509.aspx
thanks and regards
santosh -
Obtain report-suite ID from the SiteCatalyst Framework dynamically
Hi,
I have setup the Adobe SiteCatalyst Framework in CloudService Configurations of AEM.
The client's provided s_code.js expects an argument s_account and the value of s_account should be the report-suite-id to track the analytics data to.
So I am trying to get the value of report-suide-id from the SiteCatalyst Framework associated with the page.
Two approaches that strike me are:
Use the client-context API somehow to extract the report-suite-Id from framework. This seems more like the way to go but unable to figure out exactly how?
A crude approach could be to use the reference to the framework in page's content and extract the value of report-suite-id and assign the same value to s_account variable in client's s_code.js
Any pointers towards the recommended approach to achieve this would be handy.
Thanks,
HemantThere is a section specifically defined for this on every framework called General SyteCatalyst Settings.
which lets its users add custom tracking defined with javascript. Add your s_code.js there. -
How to use XPath in the adapter framework
I am creating a XI adapter to our system.
In the adapter I want to use XPath expression.
I use the classes from javax.xml.xpath.*
This way does not work in the XI application server. (Java 1.4.2)
What is the correct way? Which packages/classes must be used?
MiklosHi Miklos,
The package javax.xml.xpath was introduced with Java 5 (1.5), thus it is not available in XI which runs Java 1.4.2. There are (at least) a couple of ways to use XPath in Java 1.4:
1. Use a third-party library that supports XPath, for instance Xalan-J from Apache.
2. Embed your XPath expression in an XSLT transformation, execute the transformation using classes from the javax.xml.tranform... packages (which <i>are</i> part 1.4) and extract the result.
Cheers,
Thorsten -
HT4060 there is some kind of fluid that is slowly leaking from the adapter
there is some kind of fluid that is slowly leaking from the adapter
What adapter are you talking about? The power adapter or some other adapter? If the power adapter are you sure it's a genuine Apple product? There have been recent reports of defective third party adapters causing injury. By third party I mean the cheap ones you find at a kiosk in a mall or at a dollart store. They can be dangerous.
-
Error when accessing a custom RFC from the ISA framework
Hi,
I am trying to add new functionality to Ecommerce 5.0 by providing my own custom actions and calling a custom RFC. I followed the procedure given in "Development and Extension Guide u2013 SAP E-Commerce 5.0" i.e., "Extension Demo 6: Copy-Template for Customer Extensions"...
I am passing 2 parameters company code and customer number to the RFC via JCO.Function.getImportParameterList().setValue(String) one of which is a value "BP01"..I am getting back an error saying
Guest#0##n/a##8a55139c594311df8f0a000000000000#SAPEngine_Application_Thread[impl:3]_17##0#0#Error##Plain###Field BP01 not a member of INPUT#
I checked with the SAP guys at my work, the function module works well with those parameters from the GUI.. NOt sure what the problem could be..
Any kind of input could be of help
Thanks
SThanks for your help guys, Your answers were accurate for Ecommerce 6.0 and higher, I just learn t that E Commerce 5.0 uses Sapjco 2.X and there is a slight difference in the way we set the import parameter list..
In SAPJCO 2.x, we need to set
<b>myFunction.getImportParameterList.setValue<u>("Value", "FieldName")</u>;</b>
where as in new SAPJCO3.x, we need to change the order i.e.,
<b>myFunction.getImportParameterList.setValue<u>("FieldName", "Value")</u>;</b>
I am glad that my problem got solved
Cheers.. -
Setting the charset from an adapter module
Hi folks,
I'm trying to set the charset encoding of a payload using an adapter module (I know there is a TextCodepageConverterBean, but I want to set the charset for a message that hasn't one yet). The problem is probably more clear using an example.
I output a UTF-8 flat string from my message mapping to the adapter framework (mail adapter in my case). Afterwards I want to convert this UTF-8 string to an ISO-8859 encoding with the TextCodepageConverterBean. But if I set the charset using the setContentType() function of my TextPayload object the information gets cut away. I'm using the format
setContentType("text/plain;charset=utf-8;name=Test.txt")
. But everything after the first semicolon is dropped. Setting the charset using the MessageTransformBean works, but I want to avoid this by all means, as I need to set the mime type from the adapter module.
This is running on NW2004 with SP 16 and the latest patch.
Any idea, why the MessageTransformBean works and not the setContentType call?This bug will be fixed with SP20.
Regards
Stefan -
Alerts not getting triggered from Adapter Framework
Hi,
I have done the following steps for the Alerting:-
1. In configuration of RWB, activated monitoring for XI integration server & XIAdapterFramework and set the monitoring level to 'HIGH'.
2. Scheduled the Report 'SXMSALERT_PROCESS_DATA_GET' on ABAP stack.
3. In the 'further settings' link in End-to-End monitoring, activated the monitoring and set the frequency.
4.Created an alert category using t-code 'ALRTCATDEF' and assigned fixed users(myself) to it.
5.Defined an alert rule with '*' in all conditions and 'No restrictions' for the question 'Where did the error occur'.
Finally after all the steps:-
I am able to receive the alerts in the inbox -
a) by running the test report 'RSALERTTEST'
b) from a control step in BPM.
<b>However, alerts are not getting triggered for an error in the Adapter Framework. (an exception in the Adapter Channel)</b>
When i debugged the SXMSALERT_PROCESS_DATA_GET report, there was step where it was looking for process instances in table 'SSPICSPRHD' which was empty and the alert error log said -
<i> No process instances found for process type ID: 26460B43EB934C4C9ABBE9627380A89E ( XIDomain: domain.00.hqdvsapxi01 )</i>
Any help/hint is welcome !!!
Thanks & Regards,
Renjith.Hi,
https://www.sdn.sap.com/sdn/weblogs.sdn?blog=/pub/wlg/1382. [original link is broken] [original link is broken] [original link is broken] [original link is broken] [original link is broken] [original link is broken] [original link is broken] [original link is broken] [original link is broken]
I think this blog will be of help to you..
Cheers,
Divya -
Messages from Adapter framework to IS disappear
During processing of interfaces, it happens some times that the sending of messages from Adapter Framework to Integration Server is broken but no status message is traced. Before this break, the messages state is correctly visible on integration server (SXMB_MONI), after that, messages are no more contained in persistence layer of the adapter framework or of the integration server. So its very difficult to know which messages have been processed, and for this reason there is a great effort for application/functional team to reprocess interfaces file.
After the last succesfully processed message, there are a lot of log messages on application and default trace of this type:
for location com.sap.aii.adapter.file.File2XI.processFileList():
Module Exception 'com.sap.aii.af.mp.module.ModuleException: senderChannel 'd902100e953f3e15b0e04b3caf9dc415': Catching exception calling messaging system' found, cause: com.sap.aii.af.ra.ms.api.ConfigException: Some of the IS access information is not available. SLDAcess property may be set to true, but SLD is not available.
Channel CC_File_OUT02_1058: Sending file failed with com.sap.aii.af.ra.ms.api.ConfigException: Some of the IS access information is not available. SLDAcess property may be set to true, but SLD is not available. - continue processing
Delivery Exception for guid'87b54890-ae37-11da-c751-001125a5fff4' - non recoverable error, retry anyway
For location com.sap.aii.adapter.file.File2XI.addAuditLog( ... ssageKey, AuditLogStatus, String, String,Object[]):
FILE_ERR_211
This behavior is independent of interface type and happens randomly (about 2-3 times a week).
We try, without success, to implement a workaround setting SLDaccess parameter to false for AF CPA cache service and specifying the xiadapter.isconfig.<parameters> for adapter service. With this configuration File Adapter didnt work and CPA cache didnt contain any comunicaton channels. Maybe we have to set the correct value of parameter directoryURL (which it is?).
Thank a lot in advance
Danilo VaccarellaThank you for your suggestion, but nothing seems to be wrong in configuration (however I'm contuining my checks). In the meantime, are there other suggestions?
Hi
Danilo -
How to set the Correlation ID in Oracle Q from JMS Adapter
Hi,
I'm using a JMS Adapter on my BPEL process to push messages to an Oracle instance in another machine.
While testing, I could see that a message is posted on the Q table, but the Correlation ID is null.
How is the correlation ID on the Q set from the adapter? IDeally I want this ID dynamic to be unique.
Is this something st on the Invoke activity to the jms adapter, i.e., the Correlations tab, or is that
unrelated altogether.
Thanks,
RamonFound the solution.
On the Invoke activity, I set the property jca.jms.JMSCorrelationID to a variable I created.
I set my variable to string appended with sysdate to make it unique. -
Adapter Framework not showing in the SLD or RWB
Hi,
I am on XI3.0, This is referring the the central J2EE adapter.
The adapter framework/engine is not showing up as a component in the runtime workbench or under the technical systems of type XI in the SLD. All other XI components are showing up in both places. What could be causing this? When I go the the adapterframework monitor itself, the adapters show as active.
Regards,
MrudulaI am not sure, but, can you check whether the exchange profile and the SLD Data Supplier service is configured properly on the central J2EE Engine where the Adapter Framework is running.
Warm regards,
Venki. -
Message status "Holding" - Message monitoring adapter framework
Hello,
We have some messages with the status "Holding" in a queue in the message monitoring in the adapter framework.
Normally you have to restart the first message of that queue. The message with the status "system error". Unfortunately this message is not available anymore because it is older than 30 days and the retetion period is 30 days.
I already read the blog about "[How to deal with stuck EOIO messages in the XI 3.0 Adapter Framework|http://www.sdn.sap.com/irj/scn/weblogs;jsessionid=(J2EE3417100)ID1887311350DB01819286872323159351End?blog=/pub/wlg/3566]"
The blog does not mention what to do when the first message (sequential number) is not available anymore.
Is it possible to restart the messages in the queue in that case?
Thanks
Kind regards
FrankUnfortunately this message is not available anymore because it is older than 30 days and the retetion period is 30 days.
I assume that the message was deleted.....in this case the next message in the queue will be blocking the queue....so try resending this message....even the blog mentions that you either solve the error or cancel the message....so now start from the second message....if possible solve the error for this message....if not possible to resolve then cancel it so that rest of the queue gets processed
From the blog:
Now the erroneous message is the first message in the display. You can look at the error reason, try to fix the problem and
resend or cancel the message to release the queue.
Regards,
Abhishek. -
Adapter Framework File Adapter Message on hold
Hello,
we have a problem with the Adapter Framework and their the File Adapter / Messaging System.
We process one HR IDOC from R/3 through XI and send it to 7 file adapters. The SXMB_MONI tells us that all messages have been processed without errors and when you go to the RWB and use the Message-Monitoring many messages are on status HOLD. XI makes the message EOIO once you have multiple receivers and something blocks the messages in the AF. Is there a way to delete the AF queues like the XI queues with SMQ1 or SMQ2. It looks like SAP had duplicated the SMQ business in JAVA but I found no documentation how to clean up queues or what to do if the get stuck.
Thanks
Stefanhi,
you can try question 3 adapters section
on the XI FAQ:
/people/michal.krawczyk2/blog/2005/06/28/xipi-faq-frequently-asked-questions
to see adapters in RWB
but if you see them when you do it then
it means that this XI's configuration was not complete
so you may expect further problems
Regards,
michal
Maybe you are looking for
-
I have a cube hierarchy that has full path [Location].[Location Hierarchy].[Department].&[DEPT 07].&[East].&[Manager].&[site code] I can return the full hierarchy using something like [Location].[Location Hierarchy].[All] However, I want to return ev
-
How to send status message in SOAP to IDOC scenerio without BPM
Hi, I have a SOAP to IDOC scenerio in which we require to send the status message back to user from XI that " IDOC has been sent successfully to SAP system" We do not want to use BPM bacause of performance issues. Can you please help me how to achiev
-
What's This Help not working for one entry in each header file
I have a large RoboHelp project that I have imported into Version 8 from a previous version. Prior to the import into Version 8, all of the What's This Help in the project was working perfectly; now, post-import, I have a problem. Firstly, some backg
-
Reader compatability with x64 bit browsers?
I'm hoping to find out how I can use Adobe reader plugin with x64 bit IE7 & IE8 so I can read and search PDF files from within the browser. I use Vista X64 which actually installed both 32 & 64 bit versions of IE7 and when I use the 32 bit version of
-
Deploying an ADF BC application in JDEv 10.1.2
Hi: I have a webapplication developed with ADF BC, Struts, and JSP in JDev10.1.2. It consists of the normal model and view projects. It seems to work from local server. I would like to create the deployment profiles and deploy it on the test server.