cancel
Showing results for 
Search instead for 
Did you mean: 

INTERFACE_REGISTRATION_ERROR:No implementing class reg'd for interface

Former Member
0 Kudos

Hi all,

We have configured for file to IDOC sceniaro

However when we check the message we get following error in SXMB_MONI :

<b>INTERFACE_REGISTRATION_ERROR

No implementing class registered for the interface (type ifmmessif, name Vendor_out, namespace http:tcs:xi:legacy )</b>

The XML Message in SXMB_MONI

1. Inbound message ( Reciever ) -- green colour flag -- no error

2. Call inbound Proxy -- red colour flag -- error file is as follows :

<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>

- <!-- Call Inbound Proxy

-->

- <SAP:Error xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="">

<SAP:Category>XIProxy</SAP:Category>

<SAP:Code area="ABAP">INTERFACE_REGISTRATION_ERROR</SAP:Code>

<SAP:P1>ifmmessif</SAP:P1>

<SAP:P2>Vendor_out</SAP:P2>

<SAP:P3>http:tcs:xi:legacy</SAP:P3>

<SAP:P4 />

<SAP:AdditionalText />

<SAP:ApplicationFaultMessage namespace="" />

<SAP:Stack>No implementing class registered for the interface (type ifmmessif, name Vendor_out, namespace http:tcs:xi:legacy )</SAP:Stack>

<SAP:Retry>M</SAP:Retry>

</SAP:Error>

Note :

1 . The http connection named INTEGRA has following properties ( SM59 ) :

Path Prefix : /sap/xi/engine/?type=entry

Connection type : H

service : 8000

2. As well , in transaction SXMB_ADM - Integration Engine Configuration Data ,

we have following :

Role of Business System : Application System

Corresponding Integ. Server : dest://INTEGRA

Also , on checking consitency in SXMB_ADM, we get :

Current Configuration (local):

Role of Business System: Application System

Corresponding Integration Server:

dest://INTEGRA

System Landscape:

Role of Business System: Integration Server

http://TCSXIDEV:8000/sap/xi/engine?type=entry

<b>Comparison of Current Configuration with System Landscape

Role of Business System: Current Configuration <> System Landscape

Corresponding Integration Server: Current Configuration <> System Landscape</b>

And , it gives message : Configuration syntactically correct

Please Suggest the solution .

Any help will be appreciated .

Thanks

Shikha

Accepted Solutions (1)

Accepted Solutions (1)

stefan_grube
Active Contributor
0 Kudos

> 2. As well , in transaction SXMB_ADM - Integration

> Engine Configuration Data ,

> we have following :

>

> Role of Business System : Application System

> Corresponding Integ. Server : dest://INTEGRA

Is this the entry in the XI system? Then it is wrong. In the XI system has to be <i>Integration Server</i>.

Stefan

Answers (10)

Answers (10)

Former Member
0 Kudos

Hi Stefan,

I would like to really thank you for the prompt replies.

Your suggestion solved the problem.

Regards,

Shikha

STALANKI
Active Contributor
0 Kudos

https://www.sdn.sap.com/irj/sdn/weblogs?blog=/pub/wlg/2374. [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]

Check Michal blog!!

Former Member
0 Kudos

Hi

I found two traces in the transaction SXMB_MONI

XML Message -->

1) <b>Inbound Message( RECEIVER ) - Shown with a green flag</b>

<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>

- <!-- Inbound Message

-->

- <SAP:Trace xmlns:SAP="http://sap.com/xi/XI/Message/30">

<Trace level="1" type="B" name="CL_XMS_HTTP_HANDLER-HANDLE_REQUEST" />

- <!-- ************************************

-->

<Trace level="1" type="T">XMB was called with URL /sap/xi/engine?type=entry</Trace>

<Trace level="1" type="T">COMMIT is done by XMB !</Trace>

<Trace level="1" type="B" name="CL_XMS_MAIN-ENTER_XMS" />

- <!-- ************************************

-->

<Trace level="1" type="B" name="CL_XMS_MAIN-SET_START_PIPELINE" />

- <!-- ************************************

-->

<Trace level="1" type="B" name="SXMBCONF-SXMB_GET_XMB_USE" />

<Trace level="1" type="B" name="CL_XMS_TROUBLESHOOT-ENTER_PLSRV" />

<Trace level="1" type="T">****************************************************</Trace>

<Trace level="1" type="T">* *</Trace>

<Trace level="1" type="T">* *</Trace>

<Trace level="1" type="T">XMB entry processing</Trace>

<Trace level="1" type="T">system-ID = DXI</Trace>

<Trace level="1" type="T">client = 100</Trace>

<Trace level="1" type="T">language = E</Trace>

<Trace level="1" type="T">user = XIAFUSER</Trace>

<Trace level="1" type="Timestamp">2005-11-18T11:43:28Z CET</Trace>

<Trace level="1" type="T">* *</Trace>

<Trace level="1" type="T">* *</Trace>

<Trace level="1" type="T">****************************************************</Trace>

<Trace level="1" type="B" name="CL_XMS_MAIN-CALL_UC_EXECUTE" />

- <!-- ************************************

-->

<Trace level="1" type="T">Message-GUID = 88BCED70582811DAB98C00096BF5CB07</Trace>

<Trace level="1" type="T">PLNAME = RECEIVER</Trace>

<Trace level="1" type="T">QOS = EO</Trace>

<Trace level="1" type="B" name="CL_XMS_MAIN-CALL_PIPELINE_ASYNC" />

- <!-- ************************************

-->

<Trace level="1" type="T">Get definition of external pipeline = RECEIVER</Trace>

<Trace level="1" type="B" name="CL_XMS_MAIN-LOOKUP_INTERNAL_PL_ID" />

<Trace level="1" type="T">Get definition of internal pipeline = SAP_RECEIVER</Trace>

<Trace level="1" type="T">Queue name : XBTR0000</Trace>

<Trace level="1" type="T">Generated prefixed queue name = XBTR0000</Trace>

<Trace level="1" type="T">Schedule message in qRFC environment</Trace>

<Trace level="1" type="T">Setup qRFC Scheduler OK!</Trace>

<Trace level="1" type="T">----


</Trace>

<Trace level="1" type="T">Going to persist message</Trace>

<Trace level="1" type="T">NOTE: The following trace entries are always lacking</Trace>

<Trace level="1" type="T">- Exit WRITE_MESSAGE_TO_PERSIST</Trace>

<Trace level="1" type="T">- Exit CALL_PIPELINE_ASYNC</Trace>

<Trace level="1" type="T">Async barrier reached. Bye-bye !</Trace>

<Trace level="1" type="T">----


</Trace>

<Trace level="1" type="B" name="CL_XMS_MAIN-WRITE_MESSAGE_TO_PERSIST" />

- <!-- ************************************

-->

</SAP:Trace>

I suppose there is no mapping mentioned in the above

trace .

2)Call Inbound proxy -- Shown with a red flag

This i have sent in the previous message.

Does this information suffice or are u reffering to some other trace .

Thanking you for your prompt response.

Please Guide.

Shikha

Former Member
0 Kudos

Hi All,

Please suggest some clue as we are struggling with this

problem from the last few days .

Any further help will be highly appreciated.

Thanks

Shikha

Former Member
0 Kudos

Hi Shika,

Go to SXMB_ADM.

Execute Integration Engine

EDIT-> Change Global configuration data

Select the Role of Business System is Integration Server.

Thnaks & Regards,

venu.

Former Member
0 Kudos

Hi

I tested the mapping through SXI_MAPPING_TEST

transaction.

<b>Display Result :</b>

<?xml version="1.0" encoding="utf-8" ?>

- <asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">

- <asx:values>

<SUCCESS><b>Services Processed Without Error</b></SUCCESS>

</asx:values>

</asx:abap>

<b>Payload after Service is an IDOC Structure :</b>

<?xml version="1.0" encoding="UTF-8" ?>

- <CREMAS03>

- <IDOC BEGIN="1">

- <E1LFA1M SEGMENT="1">

<MSGFN>009</MSGFN>

<LIFNR>144012</LIFNR>

<ANRED>COMPANY</ANRED>

<KTOKK>LIEF</KTOKK>

<LAND1>India</LAND1>

<NAME1>JAIN</NAME1>

<ORT01>Mumbai</ORT01>

<PSTLZ>400076</PSTLZ>

<SORTL>JAIN</SORTL>

<STRAS>AAA</STRAS>

- <E1LFB1M SEGMENT="1">

<MSGFN>009</MSGFN>

<LIFNR>144012</LIFNR>

<BUKRS>3000</BUKRS>

<AKONT>31000</AKONT>

<FDGRV>A1</FDGRV>

</E1LFB1M>

- <E1LFM1M SEGMENT="1">

<MSGFN>009</MSGFN>

<LIFNR>144012</LIFNR>

<EKORG>3000</EKORG>

<WAERS>USD</WAERS>

</E1LFM1M>

</E1LFA1M>

</IDOC>

</CREMAS03>

The trace of SXMB_MONI transaction is :

<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>

- <!-- Call Inbound Proxy

-->

- <SAP:Trace xmlns:SAP="http://sap.com/xi/XI/Message/30">

<Trace level="1" type="B" name="CL_XMS_HTTP_HANDLER-HANDLE_REQUEST" />

- <!-- ************************************

-->

<Trace level="1" type="T">XMB was called with URL /sap/xi/engine?type=entry</Trace>

<Trace level="1" type="T">COMMIT is done by XMB !</Trace>

<Trace level="1" type="B" name="CL_XMS_MAIN-ENTER_XMS" />

- <!-- ************************************

-->

<Trace level="1" type="B" name="CL_XMS_MAIN-SET_START_PIPELINE" />

- <!-- ************************************

-->

<Trace level="1" type="B" name="SXMBCONF-SXMB_GET_XMB_USE" />

<Trace level="1" type="B" name="CL_XMS_TROUBLESHOOT-ENTER_PLSRV" />

<Trace level="1" type="T">****************************************************</Trace>

<Trace level="1" type="T">* *</Trace>

<Trace level="1" type="T">* *</Trace>

<Trace level="1" type="T">XMB entry processing</Trace>

<Trace level="1" type="T">system-ID = DXI</Trace>

<Trace level="1" type="T">client = 100</Trace>

<Trace level="1" type="T">language = E</Trace>

<Trace level="1" type="T">user = XIAFUSER</Trace>

<Trace level="1" type="Timestamp">2005-11-17T15:40:27Z CET</Trace>

<Trace level="1" type="T">* *</Trace>

<Trace level="1" type="T">* *</Trace>

<Trace level="1" type="T">****************************************************</Trace>

<Trace level="1" type="B" name="CL_XMS_MAIN-CALL_UC_EXECUTE" />

- <!-- ************************************

-->

<Trace level="1" type="T">Message-GUID = 79B92C60578011DA883100096BF5CB07</Trace>

<Trace level="1" type="T">PLNAME = RECEIVER</Trace>

<Trace level="1" type="T">QOS = EO</Trace>

<Trace level="1" type="B" name="CL_XMS_MAIN-CALL_PIPELINE_ASYNC" />

- <!-- ************************************

-->

<Trace level="1" type="T">Get definition of external pipeline = RECEIVER</Trace>

<Trace level="1" type="B" name="CL_XMS_MAIN-LOOKUP_INTERNAL_PL_ID" />

<Trace level="1" type="T">Get definition of internal pipeline = SAP_RECEIVER</Trace>

<Trace level="1" type="T">Queue name : XBTR0005</Trace>

<Trace level="1" type="T">Generated prefixed queue name = XBTR0005</Trace>

<Trace level="1" type="T">Schedule message in qRFC environment</Trace>

<Trace level="1" type="T">Setup qRFC Scheduler OK!</Trace>

<Trace level="1" type="T">----


</Trace>

<Trace level="1" type="T">Going to persist message</Trace>

<Trace level="1" type="T">NOTE: The following trace entries are always lacking</Trace>

<Trace level="1" type="T">- Exit WRITE_MESSAGE_TO_PERSIST</Trace>

<Trace level="1" type="T">- Exit CALL_PIPELINE_ASYNC</Trace>

<Trace level="1" type="T">Async barrier reached. Bye-bye !</Trace>

<Trace level="1" type="T">----


</Trace>

<Trace level="1" type="B" name="CL_XMS_MAIN-WRITE_MESSAGE_TO_PERSIST" />

- <!-- ************************************

-->

<Trace level="1" type="B" name="CL_XMS_MAIN-PERSIST_READ_MESSAGE" />

<Trace level="1" type="T">Note: the following trace entry is written delayed (after read from persist)</Trace>

<Trace level="1" type="B" name="SXMS_ASYNC_EXEC" />

- <!-- ************************************

-->

<Trace level="1" type="T">----


</Trace>

<Trace level="1" type="T">Starting async processing with pipeline RECEIVER</Trace>

<Trace level="1" type="T">system-ID = DXI</Trace>

<Trace level="1" type="T">client = 100</Trace>

<Trace level="1" type="T">language = E</Trace>

<Trace level="1" type="T">user = XIAFUSER</Trace>

<Trace level="1" type="Timestamp">2005-11-17T15:40:27Z CET</Trace>

<Trace level="1" type="T">----


</Trace>

<Trace level="1" type="B" name="CL_XMS_MAIN-CALL_PIPELINE_SYNC" />

- <!-- ************************************

-->

<Trace level="1" type="T">Get definition of external pipeline RECEIVER</Trace>

<Trace level="1" type="B" name="CL_XMS_MAIN-LOOKUP_INTERNAL_PL_ID" />

<Trace level="1" type="T">Corresponding internal pipeline SAP_RECEIVER</Trace>

<Trace level="1" type="B" name="PLSRV_CALL_INBOUND_PROXY" />

- <!-- ************************************

-->

- <Trace level="1" type="B" name="CL_XMS_MAIN-CALL_PLSRV">

<Trace level="1" type="B" name="CL_XMS_MAIN-CALL_PLSRV_LOCAL" />

- <!-- ************************************

-->

</Trace>

<Trace level="1" type="B" name="CL_XMS_MAIN-WRITE_MESSAGE_LOG_TO_PERSIST" />

<Trace level="1" type="<b>System_Error</b>">Error exception return from pipeline processing!</Trace>

<Trace level="1" type="B" name="CL_XMS_MAIN-WRITE_MESSAGE_TO_PERSIST" />

- <!-- ************************************

-->

</SAP:Trace>

Please suggest .

Thanks

Shikha

stefan_grube
Active Contributor
0 Kudos

This is the trace of the receiver.

Look in the trace of the XI, if there is mapping mentioned.

Regards

Stefan

Former Member
0 Kudos

Hi Shikha,

I am getting the same error please can you suggest me....how to resolve.

ISSUE : INTERFACE_REGISTRATION_ERROR

regards,

venu.

Former Member
0 Kudos

Hi,

In the IR , under message mapping the source message is

taken as the flat file structure and the target mapping

is taken as the IDOC: CREMAS.CREMAS03 .

After mapping is saved , and tested it gives the

message "Executed Successfully" .

Please guide how to check that the mapping program is

wrong .

Thanks

Shikha

stefan_grube
Active Contributor
0 Kudos

First you should look in the trace, if the mapping is really used. (You mighthave to increase the trace level for this).

Then you take the payload from the message, save as file. This file you upload into the test tool of the mapping tool. Check if this works and the IDOC is correct.

Hope that helps

Stefan

Former Member
0 Kudos

Hi,

<b>The mapping is assigned as is successful . The payload

message is written below :</b>

<?xml version="1.0" encoding="UTF-8" ?>

- <p3:Vendor xmlns:p3="urn:tcs:spayroll:file">

<VendorNumber>144012</VendorNumber>

<LastName>JAIN</LastName>

<SearchTerm>JAIN</SearchTerm>

<Currency>USD</Currency>

- <Address>

<Street>AAA</Street>

<City>Mumbai</City>

<Zip>400076</Zip>

<Country>India</Country>

</Address>

</p3:Vendor>

and the Error message is :

<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>

- <!-- Call Inbound Proxy

-->

- <SAP:Error xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="">

<SAP:Category>XIProxy</SAP:Category>

<SAP:Code area="ABAP"><b>INTERFACE_REGISTRATION_ERROR</b></SAP:Code>

<SAP:P1>ifmmessif</SAP:P1>

<SAP:P2>Vendor_out</SAP:P2>

<SAP:P3>urn:tcs:spayroll:file</SAP:P3>

<SAP:P4 />

<SAP:AdditionalText />

<SAP:ApplicationFaultMessage namespace="" />

<SAP:Stack><b>No implementing class registered for the interface (type ifmmessif, name Vendor_out, namespace urn:tcs:spayroll:file</b> )</SAP:Stack>

<SAP:Retry>M</SAP:Retry>

</SAP:Error>

Please suggest if something is going wrong in this .

Thanks

Shikha

stefan_grube
Active Contributor
0 Kudos

If this is the payload after the mpping, then it is wrong.

The payload has to be an IDOC structure, like I described it earlier.

Change your mapping program. The receiver message type must be the IDOC CREMAS, which you have to import to the IR. Any other structure will lead to an error.

Regards

Stefan

Former Member
0 Kudos

Hi Shikha

Yours is an interesting case, because this is an error message that comes up when you use proxies.

Just check whether the namespace is the same in SPROXY for your s/w component.

regards

Sameer

Former Member
0 Kudos

Hi

I have checked the inbound interface .

Name : CREMAS.CREMAS03

Namespace : urn:sap-com:document:sap:idoc:messages

The Communication channel for receiver was generated

automatically : GeneratedReceiverChannel_IDoc

Note : Namespace created under software component

urn:tcs:spayroll:file

Please suggest if something needs to be changed .

Thanks

Shikha

Former Member
0 Kudos

hey shikha...

i hope u have first imported the cremas.cremas03 to ur namespace....(everything in the design)

for ur s/w component make import of Rfcs and Idocs available....and then in imported objects import the idoc u want...and then from ur namespace assign the target as cremas.cremas03...

later in the config., assign the receiver comm. channel as type idoc...

and make the configuration of idoc as per the ,link given above....

regards...

vishal

P.S : Assign pts if answer found helpful

stefan_grube
Active Contributor
0 Kudos

Did you assign a mapping to the IDOC structure? Was the mapping successful?

Check in the payload of the message, if the structure after the mapping is correct:

Like

<?xml version="1.0" encoding="UTF-8" ?>

<CREMAS03>

<IDOC BEGIN="1">

...

Regards

Stefan

Former Member
0 Kudos

Hi

I am not using proxy in this case . i have not made

any setting for proxy. As per your suggestion , i

checked the transaction SPROXY . My Software component

is listed there .Is there any setting which is made

which results in listing of my software component in

SPROXY transaction and activation of PROXY in this .

Please guide what needs to be checked as well please

throw some light on the creation of namespaces as i am

doing it for the first time .

Thanks

Shikha

stefan_grube
Active Contributor
0 Kudos

When you do not work with proxies and want to send IDOC messages to an R/3 system, then your inbound interface must be the IDOC name, not any self-defined message type.

For example:

Name: MATMAS.MATMAS03

Namespace: urn:sap-com:document:sap:idoc:messages

The communication channel for has to be of type IDOC, not XI.

Check your configuration according to this.

Regards

Stefan

Former Member
0 Kudos

hi shikha...

as steve has given the wonderfyul explanation...

this link wud help u configure the IDOC as Receiver...

https://websmp101.sap-ag.de/~form/sapnet?_SHORTKEY=01200252310000071155&_SCENARIO=011000358700000002...

regards..

vishal

stefan_grube
Active Contributor
0 Kudos

I do not understand that.

You talk about file to IDOC scenario, why do you use proxies for this?

Check in your application system with transaction code SPROXY if the implementing (ABAP OBJECTS) interface of your (XI) interface is active.

Regards

Stefan