cancel
Showing results for 
Search instead for 
Did you mean: 

Method not registered error

Former Member
0 Kudos

Hi friends,

i made a normal abap function module that accepts a single parameter and gives 3 variables as output.

Then I created a wrapper function through ME_WIZARD transaction. Now when i call the alias function through my JSP application it gives a runtime error of

"method XYZ not registered"

Is there any step that i may have missed while creating the interface.

Thanks in advance.

Accepted Solutions (1)

Accepted Solutions (1)

stefan_schwing
Active Participant
0 Kudos

Hi,

if you get an error ins your client app , I assume you are trying to create an OutboundContainer for the method name "XYZ". I norder to create this, you first need to register a so called InboundProcessor for this method name. In other words, you first need to tell MI who (which InboundProcessor) will handle incoming conatiners before you can go and create/send containers for this method name.

So have a look at (and implement) com.sap.ip.me.api.sync.InboundProcessor

Once you implemented this interface, register your implementataion at com.sap.ip.me.api.sync.InboundProcessorRegistry

Now you're reday for your first com.sap.ip.me.api.sync.OutboundContainer.

Hope this helps,

Stefan

Answers (4)

Answers (4)

Former Member
0 Kudos

Hello Sandeep,

I guess you have not implemented InboundProcessor interface for the method you are calling.

Use Following code

<b>MyInboundProcessor.java</b>

import com.sap.ip.me.api.sync.InboundContainer;

import com.sap.ip.me.api.sync.InboundProcessor;

public class MyInboundProcessor implements InboundProcessor{

public String getMethodName() {

return "JAVA METHOD NAME THAT YOU USED IN ME_WIZARD"

}

public void process(InboundContainer container) {

// you get return parameters from the method here in InbountContainer

// write your logic to use them

}

}

regards,

Abhijit

If this helps then please assign me points.

Former Member
0 Kudos

Hi friends,

the problem is now solved.

As pointed out by Stefan, the problem was with the inbound processing class, there i mentioned the wrong method name and that created the problem.

Thanks again friends.

Former Member
0 Kudos

Hi Arun,

there is entry in bwafmapp table, but not in MEMAPPDEST (function module is on same server).

even that entry was automatically created by the ME_WIZARD transaction.

Former Member
0 Kudos

hi Sandeep

ok.. Now, You should populate the <b>memappdest</b> table yourself just with the method name and leave the field RFCDEST field blank which means the RFC-METHOD resides in the same server. Do give the sys-release of your middleware (it will be 640 if u are using WAS640)

as u say, YES. the entry is created automatically in BWAFMAPP table by ME_WIZARD.

Generally you write ur RFC in a R/3 backend. it will create an automatic entry in the R/3-BWAFMAPP table. so, you have to copy that entry manually to your MI SERVER - BWAFMAPP (which is similar table in the middleware) and create a corresponding entry in the MIDDLEWARE -MEMAPPDEST pointing to your backend (through RFC Destination).

I'm under assumption your code is correct. i.e you have followed all the steps mentioned in the MDK help - create inbound container, register it, create outbound container, populate the same, close the outbound container etc.. all these steps are clearly mentioned in the MDK help.

Regards

Arun

Message was edited by: Arunkumar

Former Member
0 Kudos

hi Sandeep,

Have you made the corresponding entries for the method and function module in the middle ware (MI SERVER) tables <b>BWAFMAPP and MEMAPPDEST</b> - pointing to the backend?

Regards

Arun

Former Member
0 Kudos

Sandeep,

Go thro this weblog too. This will give u an insight of how things work w.r.t MI beyond the NWDS & MI Client. <a href="/people/arun.av/blog/2006/03/09/process-flow-of-generic-synchronization-in-mi-abap-server-component">Weblog</a>

Regards

arun