cancel
Showing results for 
Search instead for 
Did you mean: 

XIAdapter error

brent_morrison
Explorer
0 Kudos

I have an RFC that I changed a paramater length from CHAR3 to CHAR6. I reimported the RFC into XI and changed the message mapping from 3 to 6 as well. I then defined a webservice for the configuration scenario (ie it is SOAP to RFC) When I pass a value of length 6 for the paramater that I changed I get the following JCO error.. If I try a value of length 3 it works...it's almost as if it does not recognize my change to the paramater length. Is there something that I am missing?

<faultcode>SOAP:Server</faultcode>

<faultstring>Server Error</faultstring>

<detail>

<s:SystemError xmlns:s="http://sap.com/xi/WebService/xi2.0">

<context>XIAdapter</context>

<code>ADAPTER.JAVA_EXCEPTION</code>

<text>com.sap.aii.af.ra.ms.api.DeliveryException: XIAdapterFramework:GENERAL:com.sap.aii.af.ra.ms.api.DeliveryException: error while processing message to remote system:com.sap.aii.af.rfc.core.client.RfcClientException: could not convert request from XML to RFC:com.sap.mw.jco.JCO$ConversionException: (122) JCO_ERROR_CONVERSION: Integer '123456' has to many digits at field X_DISTANCE

at com.sap.aii.adapter.xi.ms.XIEventHandler.onTransmit(XIEventHandler.java:455)

at com.sap.aii.af.ra.ms.impl.core.queue.consumer.CallConsumer.onMessage(CallConsumer.java:134)

at com.sap.aii.af.ra.ms.impl.core.queue.Queue.run(Queue.java:916)

at com.sap.aii.af.ra.ms.runtime.MSWorkWrapper.run(MSWorkWrapper.java:56)

at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)

at java.security.AccessController.doPrivileged(Native Method)

at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:102)

at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:172)</text>

</s:SystemError>

</detail>

</SOAP:Fault>

Accepted Solutions (1)

Accepted Solutions (1)

abhay_rajhans2
Contributor
0 Kudos

Hi

Try this one might help.

Deactivate the communication channel and again activate it.

brent_morrison
Explorer
0 Kudos

I deactivated and rectivated the communication channels and it solved the problem. Thanks for your help!!

Answers (1)

Answers (1)

former_member181962
Active Contributor
0 Kudos

Hi,

Did you try to refersh the cache IR and ID?

Regards,

Ravi

Former Member
0 Kudos

Hi,

Can you check in the imported RFC what the field is...Also try refreshing the cash and it will start working

Regards

Vijaya

brent_morrison
Explorer
0 Kudos

I refreshed the IR and ID cache and still have the same issue

brent_morrison
Explorer
0 Kudos

I checked the reimported RFC and the field length is correct. It is a string of MaxLength 6. The problem is when I run it as a webservice. If a I pass a value of lenght 6 I get the error. If I pass a value of length 3 it works fine. This was the field length before I made the change.