Skip to Content
avatar image
Former Member

MI Generic Sync - SyncException (Method <xxx> is not registered!)

Hi,

I am having a problem with Generic Sync, and I wonder if anyone can help.

This is a simple "update a table" sync running from an AWT application on SP19, with JDK1.4.2_12.

Here is the code (it is pretty standard):

OutboundContainer out = outfactory.createOutboundContainer(VisibilityType.SEPARATED, R3_FUNCTION);
out.addItem("RFID_TAG", "000012");
out.close();

I put a canned key/pair in for illustration.

The R3_FUNCTION (in my case "SYNC_RFID") is present in BWAFMAPP, and maps to a Wrapper Function. When tested, the Function Module itself happily accepts a tag and updates the table correctly.

However, when I attempt a sync from the MI client, I keep getting a <b>Method SYNC_RFID is not registered!</b> error (the code is wrapped in a try - catch SyncException block)

Has anyone seen this before? The exception is thrown immediately - there isn't a hint of a network connection attempt. I have synced the application many times from home page (with no errors), but the "not registered" error refuses to disappear.

Have I forgotten a critical step?

Message was edited by:

David Butler

Add comment
10|10000 characters needed characters exceeded

  • Get RSS Feed

1 Answer

  • Best Answer
    avatar image
    Former Member
    Oct 31, 2007 at 03:01 AM

    Hello David

    Every Class that extends the InboundProcessor API provided by MI should be registered. In this case you wouldnt have registered the same. The following piece of code should help you solve your problem

    public class MyInboundProcessor implements InboundProcessor {
        void register(){
            InboundProcessorRegistry inboundreg = InboundProcessorRegistry.getInstance();
            if (!inboundreg.isRegistered(SYNC_RFID)) {
                inboundreg.register(new MyInboundProcessor());
            }
        }
    }

    Please try this and hope this helps.

    Best Regards

    Sivakumar

    Add comment
    10|10000 characters needed characters exceeded

    • Former Member

      Thanks Sivakumar,

      In hindsight, I should have guessed that even though I am only doing a client --> server update I would have to register the Method name with the Inbound Processor.

      If anyone else gets trapped by this, note that the InboundProcessor implementation must be Serializable, so you might need to do a Client Reset via the Settings menu - the trace log throws up the ClassNotSerializableException if you change the signatures on the InboundProcessor whilst trying to get this to work