RFC interface failed without mapping
HELLO ALL,
I was working on SOAP to RFC scenario having a simple message mapping in it. The interface was working perfectly fine.
Later on I got a requirement to remove the mapping from my interface.
I was able to run the interface after the changes but It doesnt return any value, which usually happens when we pass wrong parameters to the RFC for which RFC doesnt find any entry.
I tested the RFC with the same test data using se37 and it returned me the records.
Any clue, why the RFC doesnt understand the input values when we dont have a mapping ? Does the message mapping convert/format the input data ?
I will appreciate for your inputs.
Thanks to all.
PEERU
Thanks both, for your replies.
As per my understanding mapping is optional in XI.
I am using the RFC request and response structure for the SOAP end. I just created a message interface for the SOAP sender, based on the RFC request and response structures.
Correct me if in the case of RFC, SAP makes mapping a mandatory object. I dint find any document which says that mapping is always needed for RFC receiver interface.
Thank You.
PEERU
Similar Messages
-
Manipulate values in payload without mapping?
Hello everybody,
is it possible to manipulate values in an interface (payload) without mapping?
Regards MarioHi Mario,
no, that'n not possible (in the standard).
Regards,
Udo -
Payables Open Interface Pgm fails without any error(Very urgent)
All,
I'm into an integration project where in I'm pushing Invoice doc from a third party appln to Oracle apps (11.5.10.2) thru payables open interface. The integration is smooth till today. We pushed a record today, but the concurrent neither picks up the data but failed with 'completed error' status. When I delete the same record from the interface, the concurrent runs fine. So we are sure there is some issue with the data in my record. Since concurrent is failed without any reason, from where I can get the log to know what is the actual problem with that record? Pls help me with your inputs.
Thanks,
SenSen,
To enable trace, please refer to this document (skip the part about generating TKPROF, just check the concurrent request output file if more details about the error are logged after enabling trace and setting the profile option).
Note: 453527.1 - How To Trace a Concurrent Request And Generate TKPROF File
https://metalink2.oracle.com/metalink/plsql/ml2_documents.showDocument?p_database_id=NOT&p_id=453527.1
The database log file can be usually found under $ORACLE_HOME/admin/<SID>_<hostname>/bdump directory (or from SQL*Plus, issue "show parameter background_dump_dest").
Regards,
Hussein -
ODI-1228: ORA-22950: cannot ORDER objects without MAP or ORDER method
Simple interface between two schemas in the same oracle database (10g)
I am trying to copy one table and do one simple lookup (in a table located in 3rd schema on the same database)
Integration task fails on
ODI-1228: Task messagexml_document (Integration) fails on the target ORACLE connection S2_P1.
Caused By: java.sql.SQLException: ORA-22950: cannot ORDER objects without MAP or ORDER method
Can anybody tell me, what I am doing wrong? Code that generate this error is just a simple INSERT with SELECT and sub SELECT with JOIN?
I just can't find anything about this error.
I'm stuck :-(I discovered that one of my fields is an XMLType field and is a part of comparison ODI do when it tries to do incremental update. The error message here is just a message from db that it can't compare XMLType fields to each other.
Is there any way to learn ODI to not to compare by XMLType field? -
File to XI scenarion without mapping
HI All,
MY REQUIREMENT:
1. Need to read the data from FILE .
2. pass the values to a BAPI structure in ECC Without any mapping
QUESTIONS:
1. Is it possible to complete the scenario without mapping in XI.
2. If possible how.
Could any one help me how to achieve this
Than you,
Harsha PMy source data structure is same as BAPI.
We have created data types ,message types and Service interfaces for SENDER in ESR.
But our Issues.
1. Do we need to create Receiver Interface Objects.
If yes How (In our scenario receiver is BAPI)
import RFC under imported objects in esr
2. What are the configurations we need to do in ID for SENDER and RECEIVER.
coming to id:
create everything like
communication channels for sender as file and receiver as RFC.
create Agrrements for sender and receiver.
create Receiver determination and interface determination.
Edited by: bhavanisankar.solasu on Feb 21, 2012 4:17 PM -
Config Test Failing in Mapping test
HI,
When I am executing config test in ID for an interface it is failing in Interface determination and mapping test. It does not giving any log.
Now the mapping for this is multimapping and used enhances Interface determination.
I tries with Payload XML both with and without the additional message message1 wrapper that gets generated for multimapping but am getting the same error.
Any idea if the config test is supposed to behave that way only for multimapping.
Thanks and Regards,
HimadriHi Prateek,
I am afraid this is not the answer.
Let me add the additional info.., the interface is working fine.....
However the config test fails... So there can not be any mistake with the interface,.
Also I have cross checked before posting.. this is not a cache problem...
THanks for the links though
Thanks,
HImadri
null
null -
Connect from SAP gateway to RFC server failed - Java StandAlone app X SAP RAC System
Dears,
I'm developing a Java application (RFC SERVER) with JCo3 and I need to connect to SAP RAC system.
I have configured the TCP/IP connection via transaction SM59, but when I try to start my server I face the error below (dev_jco_rfc.trc):
==========================================================================================
**** Error file opened at 20140714 112024 Brasilia Time Rel 3.0.10 (2013-08-08) [720.440]
Error: >Mon Jul 14 11:20:24,636< RfcException: [null]
message: Connect from SAP gateway to RFC server failed
Connection parameters: TYPE=A DEST=VSPAGUE ASHOST=cpe1601 SYSNR=01 SAPROUTER=/H/155.56.49.28 PCS=1
LOCATION SAP-Gateway on host ld7624.dmzwdf.sap.corp / sapgw01
ERROR hostname 'cpe1601' unknown
TIME Mon Jul 14 16:20:25 2014
RELEASE 740
COMPONENT NI (network interface)
VERSION 40
RC -2
MODULE /bas/740_REL/src/base/ni/nixxhl.cpp
LINE 193
DETAIL NiHLGetNodeAddr: hostname cached as unknown
COUNTER 3
Return code: RFC_FAILURE(1)
error group: 102
key: RFC_ERROR_COMMUNICATION
==========================================================================================
This problem happens when my app executes the line:
JCoServer myServer = JCoServerFactory.getServer(myServerName);
My system properties:
jco.client.lang=EN
jco.destination.peak_limit=10
jco.client.client=800
jco.client.passwd=********
jco.client.user=********
jco.client.sysnr=01
jco.destination.pool_capacity=3
jco.client.ashost=/H/155.56.49.28/H/cpe1601
jco.server.connection_count=3
jco.server.gwhost=/H/155.56.49.28/H/cpe1601
jco.server.progid=VSPAGUE
jco.server.gwserv=sapgw01
jco.server.repository_destination=VSPAGUE
Using SAP Logon i can connect to server cpe1601 system E16 without problems.
Please, I really need some help, because my knowledge on SAP platform is minimum.Hi Markus,
Changing ASHOST=ld7624.dmzwdf.sap.corp as you have suggested, I got the error message: Connect to SAP gateway failed ...
As you could see, the host I'm connecting is from SAP RAC Service.
Here in our company we have only SAP Logon and my RFC Application, and I can connect to SAP remote system via SAP Logon with this settings:
System Connection Parameters
Description: SAP ECC 6.0
Application Server: cpe1601
Instance Number: 01
System ID: E16
SAProuter String: /H/155.56.49.28/H/
Below the connection information I received from SAP RAC SUPPORT for testing purposes:
E16 System:
SID: E16
Client: 800
System Number: 01
Server: cpe1601
Component Version: SAP ERP Central Component 6.0 Enhancement Pack 6 Suite on HANA
User: ********
Password: ********
SAProuter String:
If you don't plan to use SAPRouter at your end,
/H/155.56.49.28/H/ -
Error in START_SHDI_FIRST... RFC logon fails
Hello All,
I cannot get past a step in the enhancement package 4 installation. The step is called: START_SHDI_FIRST. The error says to troubleshoot by looking at 2 logs, STARTSFI.LOG and DEVTRACE.log. extracted below.
The problem can be described this way. The step begins as the installer tries to start the shadow system. The first attempt stopped and I could see that the shadow was not started. I used the information in note 525677 to manually start the shadow and could verify that it was starting.
The screen says to retry until I can logon to the shadow. I am able to logon as user SAP* with password pass in client 000. I am not able to logon as myself and receive the message: Logon not possible (error in license check).
As SAP* I use the transaction SLICENSE, and could see that the maintenance certificate had expired. I loaded that certificate without an error.
I also see that the hardware key information is missing. SAP* is not allowed to update that information.
I believe that no other user will be able to logon as long as the license is an issue. The installer is trying to do a remote logon to verify that the system is up (my interpretation) .
I also see this information in the shadow system dev_W1 log.
M *** ERROR => ThMsGetHardwareId: ThOpcodeToMsg failed (1) [thxxmsg.c 3095]
M ***LOG Q16=> ThGetMsHwId, DpMBufHwIdGet (HWID_PENDING) [thxxmbuf.c 511]
M *** ERROR => SlicLikeyGetHardwareKey: no hwid from MSG server: -1 [sliclikey.c 1301]
M *** ERROR => likey_get_validity_dates: Error getting the hardware key. You might find some information in file "dev_ms" on the message server
M
M Thu Jul 29 15:18:28 2010
M *** ERROR => ThCheckReqInfo: message send/receive failed [thxxhead.c 17580]
M
M Modeinfo for User T8/M1
So, am I correct in seeing that the missing hardware key is the problem in the shadow system? Any ideas would be appreciated, otherwise I will clear the systems out and start over. Thanks.
Pat.
Below is the DEVTRACE (extract)
Directory: /usr/sap/TEH/EHPI/abap/log
Name: DEVTRACE.LOG
trc file: "dev_disp.new", trc level: 1, release: "701"
sysno 15
sid TEH
systemid 324 (IBM iSeries with OS400)
relno 7010
patchlevel 0
patchno 69
intno 20020600
make: single threaded, ASCII, 64 bit, optimized
pid 103802
Thu Jul 29 14:54:58 2010
kernel runs with dp version 243(ext=110) (@(#) DPLIB-INT-VERSION-243)
length of sys_adm_ext is 364 bytes
SWITCH TRC-HIDE on ***
***LOG Q00=> DpSapEnvInit, DPStart (15 103802) [dpxxdisp.c 1287]
shared lib "dw_xml.so" version 69 successfully loaded
shared lib "dw_xtc.so" version 69 successfully loaded
shared lib "dw_stl.so" version 69 successfully loaded
shared lib "dw_gui.so" version 69 successfully loaded
shared lib "dw_mdm.so" version 69 successfully loaded
rdisp/softcancel_sequence : -> 0,5,-1
use internal message server connection to port 3615
MtxInit: 30000 0 0
Thu Jul 29 14:54:59 2010
MBUF state OFF
DpCommInitTable: init table for 500 entries
rdisp/queue_size_check_value : -> off
ThTaskStatus: rdisp/reset_online_during_debug 0
EmInit: MmSetImplementation( 2 ).
MM global diagnostic options set: 0
<ES> client 0 initializing ....
<ES> InitFreeList
<ES> block size is 4096 kByte.
Using implementation std
<ES> Info: use normal pages (no huge table support available)
EsStdUnamFileMapInit: ES base = 0x7000000b0000000
EsStdInit: Extended Memory 4096 MB allocated
<ES> 1023 blocks reserved for free list.
ES initialized.
mm.dump: set maximum dump mem to 96 MB
Thu Jul 29 14:55:00 2010
WARNING => System running without ICM - check rdisp/start_icman [dpxxdisp.c 13279]
DpSetProcessPriority: Run priority for work process startup adjusted to 20
DpSetProcessPriority: Run priority for work process startup adjusted to 20
Thu Jul 29 14:55:01 2010
rdisp/http_min_wait_dia_wp : 1 -> 1
***LOG Q0I=> NiPConnect: connect (79: Connection refused) [nixxi.cpp 2519]
ERROR => NiPConnect: SiConnect failed for hdl 2 / sock 9
(SI_ECONN_REFUSE/79; I4; ST; 10.127.0.100:3615) [nixxi.cpp 2519]
ERROR => MsIAttachEx: NiBufConnect to omni/3615 failed (rc=NIECONN_REFUSED) [msxxi.c 652]
***LOG Q0L=> DpLoopInit, nomscon () [dpxxdisp.c 1816]
Thu Jul 29 14:55:19 2010
CCMS: AlInitGlobals : alert/use_sema_lock = TRUE.
Thu Jul 29 14:55:53 2010
***LOG Q0I=> NiPConnect: connect (79: Connection refused) [nixxi.cpp 2519]
ERROR => NiPConnect: SiConnect failed for hdl 3 / sock 10
(SI_ECONN_REFUSE/79; I4; ST; 10.127.0.100:3615) [nixxi.cpp 2519]
ERROR => MsIAttachEx: NiBufConnect to omni/3615 failed (rc=NIECONN_REFUSED) [msxxi.c 652]
Thu Jul 29 14:56:34 2010
ERROR => MsISnd2: not_attached [msxxi.c 1321]
***LOG Q0N=> DpRqNoWpHandle, MsSndName () [dpxxdisp.c 5007]
trc file: "dev_ms", trc level: 1, release: "701"
[Thr 01] Thu Jul 29 14:54:56 2010
[Thr 01] MsSOsPrivInit: Run priority adjusted to 12
[Thr 01] MsSSetTrcLog: trc logging active, max size = 20971520 bytes
systemid 324 (IBM iSeries with OS400)
relno 7010
patchlevel 0
patchno 63
intno 20020600
make: multithreaded, ASCII, 64 bit, optimized
pid 103801
[Thr 01] ***LOG Q01=> MsSInit, MSStart (Msg Server 1 103801) [msxxserv_mt. 1853]
[Thr 01] Thu Jul 29 14:54:57 2010
[Thr 01] SigISetDefaultAction : default handling for signal 20
[Thr 01] ***LOG Q0I=> NiIBindSocket: bind (67: Address already in use) [nixxi.cpp 3239]
[Thr 01] *** ERROR => NiIBindSocket: SiBind failed for hdl 1 / sock 7
(SI_EPORT_INUSE/67; I4; ST; 0.0.0.0:3615) [nixxi.cpp 3239]
[Thr 01] *** ERROR => MsSCommInit: NiBufListen(3615) (rc=NIESERV_USED) [msxxserv_mt. 10222]
[Thr 01] *** ERROR => MsSInit: MsSCommInit (internal) [msxxserv_mt. 1903]
[Thr 01] *** ERROR => main: MsSInit [msxxserv_mt. 5983]
[Thr 01] ***LOG Q02=> MsSHalt, MSStop (Msg Server 103801) [msxxserv_mt. 6030]
trc file: "dev_rd", trc level: 1, release: "701"
Thu Jul 29 14:55:00 2010
Shared memory semaphore administration area size = 10608
Thu Jul 29 14:55:06 2010
***LOG S00=> GwInitReader, gateway started ( 103807) [gwxxrd.c 1758]
systemid 324 (IBM iSeries with OS400)
relno 7010
patchlevel 0
patchno 68
intno 20020600
make: single threaded, ASCII, 64 bit, optimized
pid 103807
gateway runs with dp version 243(ext=110) (@(#) DPLIB-INT-VERSION-243)
gateway (version=701.2009.09.28)
gw/local_addr : 0.0.0.0
CCMS: AlInitGlobals : alert/use_sema_lock = TRUE.
CCMS: Initalizing shared memory of size 40000000 for monitoring segment.
Thu Jul 29 14:55:09 2010
CCMS: Checking Downtime Configuration of Monitoring Segment.
Bind service sapgw15 (socket) to port 3315
GwPrintMyHostAddr: my host addresses are :
1 : [10.127.0.100] omni (HOSTNAME)
2 : [127.0.0.1] LOOPBACK (LOCALHOST)
Full qualified hostname = omni.plastekgroup.com
DpSysAdmExtCreate: ABAP is active
DpSysAdmExtCreate: VMC (JAVA VM in WP) is not active
MtxInit: -2 0 0
Thu Jul 29 14:55:47 2010
GwDpInit: attached to gw_adm at 700000080599e90
Thu Jul 29 14:55:48 2010
DpSetProcessPriority: Run priority for gwrd adjusted to 12
AN EXTRACT OF STARTSFI_LOG
Directory: /usr/sap/TEH/EHPI/abap/log
Name: STARTSFI.LOG
1 ETQ201 Entering upgrade-phase "START_SHDI_FIRST" ("20100729145436")
2 ETQ367 Connect variables are set for standard instance access
4 ETQ399 System-nr = '14', GwService = 'sapgw14'
4 ETQ399 Environment variables:
4 ETQ399 dbs_db4_schema=<null>
4 ETQ399 auth_shadow_upgrade=<null>
4 ETQ399 Set environment for standard connect:
4 ETQ399 ENV: dbs_db4_schema=SAPR3
4 ETQ399 ENV: auth_shadow_upgrade=0
4 ETQ399 Set RFC variables for standard connect:
4 ETQ399 System-nr = '14', GwService = 'sapgw14'
4 ETQ399 Set tool parameters for standard connect:
4 ETQ399 default TPPARAM: DEFAULT.TPP
1 ETQ206 Executing pre-phase DB specific actions.
1 ETQ206 Executing pre-phase DB specific actions.
1 ETQ200 Executing actual phase 'MAIN_SHADOW/START_SHDI_FIRST'.
1 ETQ399 Phase arguments:
2 ETQ399 Arg[0] = 'DEVTRACE.LOG'
4 ETQ399 Set environment for shadow connect:
4 ETQ399 ENV: dbs_db4_schema=SAPR3
4 ETQ399 ENV: auth_shadow_upgrade=1
4 ETQ399 Set RFC variables for shadow connect:
4 ETQ399 System-nr = '15', GwService = 'sapgw15'
4 ETQ399 Set tool parameters for shadow connect:
4 ETQ380 computing toolpath for request "TP_SHADOW_CONNECT"
4 ETQ381 request "TP_SHADOW_CONNECT" means "tp needs to connect to shadow system"
4 ETQ382 translates to group "R3UP_TOOL_GROUP_NEW"
4 ETQ383 translates to path "exe"
4 ETQ383 translates to path "exe"
4 ETQ399 default TPPARAM: SHADOW.TPP
4 ETQ380 computing toolpath for request "TP_ALWAYS_NEW"
4 ETQ381 request "TP_ALWAYS_NEW" means "always tp from DIR_PUT/exe, for phase KX_SWITCH"
4 ETQ382 translates to group "R3UP_TOOL_GROUP_NEW"
4 ETQ383 translates to path "exe"
4 ETQ383 translates to path "exe"
2 ETQ399 Starting shadow instance
4 ETQ359 RFC Login to: System="TEH", Nr="15", GwHost="omni", GwService="sapgw15"
4 ETQ232 RFC Login succeeded
4 ETQ233 Calling function module "UPG_IS_SHADOW_SYSTEM" by RFC
4 ETQ359 RFC Login to: System="TEH", Nr="15", GwHost="omni", GwService="sapgw15"
4 ETQ232 RFC Login succeeded
2EETQ235 Call of function module "UPG_IS_SHADOW_SYSTEM" by RFC failed (error-status "-3")
4 ETQ239 Logging off from SAP system
2 ETQ399 Stopping shadow instance
4 ETQ359 RFC Login to: System="TEH", Nr="15", GwHost="omni", GwService="sapgw15"
2 ETQ231 RFC Login failed
4 ETQ359 RFC Login to: System="TEH", Nr="15", GwHost="omni", GwService="sapgw15"
2 ETQ231 RFC Login failed
2 ETQ353 Starting system
3 ETQ399 Executing command: 'startsap SID(TEH) INSTANCE(15) PROFILE('/usr/sap/TEH/EHPI/abap/TEH/SYS/profile/START_DVEBMGS15_omni')'.
2 ETQ370 starting test RFC
4 ETQ359 RFC Login to: System="TEH", Nr="15", GwHost="omni", GwService="sapgw15"
4 ETQ232 RFC Login succeeded
4 ETQ233 Calling function module "UPG_IS_SHADOW_SYSTEM" by RFC
4 ETQ359 RFC Login to: System="TEH", Nr="15", GwHost="omni", GwService="sapgw15"
4 ETQ232 RFC Login succeeded
2EETQ235 Call of function module "UPG_IS_SHADOW_SYSTEM" by RFC failed (error-status "-3")
4 ETQ239 Logging off from SAP system
2WETQ372 test RFC failed, rc="-1"
2 ETQ370 starting test RFC
4 ETQ359 RFC Login to: System="TEH", Nr="15", GwHost="omni", GwService="sapgw15"
4 ETQ232 RFC Login succeeded
4 ETQ233 Calling function module "UPG_IS_SHADOW_SYSTEM" by RFC
4 ETQ359 RFC Login to: System="TEH", Nr="15", GwHost="omni", GwService="sapgw15"
4 ETQ232 RFC Login succeeded
2EETQ235 Call of function module "UPG_IS_SHADOW_SYSTEM" by RFC failed (error-status "-3")
4 ETQ239 Logging off from SAP system
2WETQ372 test RFC failed, rc="-1"
2 ETQ370 starting test RFC
4 ETQ359 RFC Login to: System="TEH", Nr="15", GwHost="omni", GwService="sapgw15"
4 ETQ232 RFC Login succeeded
4 ETQ233 Calling function module "UPG_IS_SHADOW_SYSTEM" by RFC
4 ETQ359 RFC Login to: System="TEH", Nr="15", GwHost="omni", GwService="sapgw15"
4 ETQ232 RFC Login succeeded
2EETQ235 Call of function module "UPG_IS_SHADOW_SYSTEM" by RFC failed (error-status "-3")
4 ETQ239 Logging off from SAP system
2WETQ372 test RFC failed, rc="-1"
2 ETQ370 starting test RFC
4 ETQ359 RFC Login to: System="TEH", Nr="15", GwHost="omni", GwService="sapgw15"
4 ETQ232 RFC Login succeeded
4 ETQ233 Calling function module "UPG_IS_SHADOW_SYSTEM" by RFC
4 ETQ359 RFC Login to: System="TEH", Nr="15", GwHost="omni", GwService="sapgw15"
4 ETQ232 RFC Login succeeded
2EETQ235 Call of function module "UPG_IS_SHADOW_SYSTEM" by RFC failed (error-status "-3")
4 ETQ239 Logging off from SAP system
2WETQ372 test RFC failed, rc="-1"
2 ETQ370 starting test RFC
4 ETQ359 RFC Login to: System="TEH", Nr="15", GwHost="omni", GwService="sapgw15"
4 ETQ232 RFC Login succeeded
4 ETQ233 Calling function module "UPG_IS_SHADOW_SYSTEM" by RFC
4 ETQ359 RFC Login to: System="TEH", Nr="15", GwHost="omni", GwService="sapgw15"
4 ETQ232 RFC Login succeeded
2EETQ235 Call of function module "UPG_IS_SHADOW_SYSTEM" by RFC failed (error-status "-3")
4 ETQ239 Logging off from SAP system
2WETQ372 test RFC failed, rc="-1"
2 ETQ370 starting test RFC
4 ETQ359 RFC Login to: System="TEH", Nr="15", GwHost="omni", GwService="sapgw15"
4 ETQ232 RFC Login succeeded
4 ETQ233 Calling function module "UPG_IS_SHADOW_SYSTEM" by RFC
4 ETQ359 RFC Login to: System="TEH", Nr="15", GwHost="omni", GwService="sapgw15"
4 ETQ232 RFC Login succeeded
2EETQ235 Call of function module "UPG_IS_SHADOW_SYSTEM" by RFC failed (error-status "-3")
4 ETQ239 Logging off from SAP system
2WETQ372 test RFC failed, rc="-1"
2 ETQ370 starting test RFC
4 ETQ359 RFC Login to: System="TEH", Nr="15", GwHost="omni", GwService="sapgw15"
4 ETQ232 RFC Login succeeded
4 ETQ233 Calling function module "UPG_IS_SHADOW_SYSTEM" by RFC
4 ETQ359 RFC Login to: System="TEH", Nr="15", GwHost="omni", GwService="sapgw15"
4 ETQ232 RFC Login succeeded
2EETQ235 Call of function module "UPG_IS_SHADOW_SYSTEM" by RFC failed (error-status "-3")
4 ETQ239 Logging off from SAP system
2WETQ372 test RFC failed, rc="-1"
2EETQ399 Starting shadow instance failed
2EETQ399 Test RFC failed finallyHi,
You are getting this error because your hardware key in the license installed in slicense is wrong. Since upgrade tries to login with ddic user and if there is problem with license then only SAP* user is allowed.
Please perform below steps to resolve the problem. Check at OS level what is the hardware key, if the hardware key that is present in slicense is different then generate a permanent license of that hardware key and apply it in shadow instance. After that check whether you are able to login with user other than SAP*, if yes, then repeat the phase.
Please perform above steps and let us know the result.
Thanks
Sunny -
File to File multiple scenario without mapping
Hi
I am doing one simple file to file scenario without mapping i.e picking file from sender directory and then placing it in receiver directory via FTP.
Now i have to take two files from different directories and place them in to different directories in the receiver side.
On the sender side i have selected Advanced selection for source file and maintained the sceond directory name and filename.
now i am not aware about the reciver side that how to place the two files in to different directories.
I have to make only one interface for this.
Thanks in advance.u have to follow the code in the link provided above but with some manipulations...
in case u r placing the files in different target dir depending upon the source directory then ur code will be something like this:
Note: i dont have a system as of now..so cant able to check the code for syntax errors..please cross check it
MessagePropertyKey mpk = new MessagePropertyKey("Directory","http://sap.com/xi/XI/System/File");
String SourceDir = msg.getMessageProperty(mpk);
if(SourceDir.equals("/SourceDirectory1"))
String targetDir1 = "/TargetDirectory1"
msg.setMessageProperty("http://sap.com/xi/XI/System/File","Directory",targetDir1);
else if(SourceDir.equals("/SourceDirectory2"))
String targetDir1 = "/TargetDirectory2"
msg.setMessageProperty("http://sap.com/xi/XI/System/File","Directory",targetDir2);
else
http://help.sap.com/javadocs/pi/SP3/xpi/com/sap/engine/interfaces/messaging/api/Message.html#getMessageProperty(com.sap.engine.interfaces.messaging.api.MessagePropertyKey)
lIbraries for adapter module development:
http://wiki.sdn.sap.com/wiki/display/XI/Where%20to%20get%20the%20libraries%20for%20XI%20development
How to develop adapter module:
http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/c0b39e65-981e-2b10-1c9c-fc3f8e6747fa?QuickLink=index&overridelayout=true -
Java Error in RFC Lookup in XSLT Mapping usinf Java helper class
Hi All,
I am doing RFC Lookup in XSLT Mapping using Java Helper class.
The Lookup works fine when called one RFC at a time However my requirement is I want to do 2 Lookups.
Both Lookups works when done individually however when I call both lookups in one mapping I get following error "javax.xml.transform.TransformerException: DOMSource whose Node is null."
Following is the code I have written in XSLT for the lookup:
<xsl:template name="Lookup_1">
<xsl:param name="STDPN"/>
<rfc:RFC_READ_TABLE>
<QUERY_TABLE>KNA1</QUERY_TABLE>
<OPTIONS><item><TEXT>
<xsl:value-of select="$STDPN"/>
</TEXT></item>
</OPTIONS>
<FIELDS>
<item>
<FIELDNAME>KUNNR</FIELDNAME>
</item>
</FIELDS>
</rfc:RFC_READ_TABLE>
</xsl:variable>
<xsl:variable name="response" xmlns:lookup="java:urn.mt.pi" select="lookup:execute($request, 'BS_D, 'cc_RfcLookup', $inputparam)"/>
<xsl:element name="STDPN">
<xsl:value-of select="$response//DATA/item/WA"/>
</xsl:element>
</xsl:template>
<xsl:template name="Lookup_2">
<xsl:param name="BELNR"/>
<xsl:variable name="Query">AGMNT = '<xsl:value-of select="$BELNR"/>'</xsl:variable>
<xsl:variable name="request1">
<rfc:RFC_READ_TABLE>
<QUERY_TABLE>ZTABLE</QUERY_TABLE>
<OPTIONS><item><TEXT>
<xsl:value-of select="$Query"/>
</TEXT></item>
</OPTIONS>
<FIELDS>
<item>
<FIELDNAME>KUNAG</FIELDNAME>
</item>
</FIELDS>
</rfc:RFC_READ_TABLE>
</xsl:variable>
<xsl:variable name="response1" xmlns:lookup="java:urn.mt.pi" select="lookup:execute($request1, 'BS_D','cc_RfcLookup', $inputparam)"/>
<xsl:element name="BELNR">
<xsl:value-of select="$response1//DATA/item/WA"/>
</xsl:element>
</xsl:template>
My Question: Am I doing anything wrong? Or Is it possible to call multiple lookups in one XSLT?
Thanks and Regards,
AtulHi Atul,
I had the same problem like you had.
The main Problem is that with the example code the request variable is created as NodeList object. In XSLT a variable is somekind of a constant and can't be changed. As the request object is empty after the first request the programm fails at the following line:
Source source = new DOMSource(request.item(0));
So I've created a workaround for this problem.
In the call of the template I've put the request as a parameter object at the template call:
<xsl:with-param name="req">
<rfc:PLM_EXPLORE_BILL_OF_MATERIAL xmlns:rfc="urn:sap-com:document:sap:rfc:functions">
<APPLICATION>Z001</APPLICATION>
<FLAG_NEW_EXPLOSION>X</FLAG_NEW_EXPLOSION>
<MATERIALNUMBER><xsl:value-of select="value"/></MATERIALNUMBER>
<PLANT>FSD0</PLANT>
<VALIDFROM><xsl:value-of select="//Recordset/Row[name='DTM-031']/value"/></VALIDFROM>
<BOMITEM_DATA/>
</rfc:PLM_EXPLORE_BILL_OF_MATERIAL>
</xsl:with-param>
With this change the request will be provided as a String object and not as a NodeList object.
Afterwards the RfcLookup.java has to be changed to the following:
package com.franke.mappings;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.PrintWriter;
import java.io.StringWriter;
import java.util.Map;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.transform.Source;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
import org.w3c.dom.Document;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import com.sap.aii.mapping.lookup.Channel;
import com.sap.aii.mapping.api.StreamTransformationConstants;
import com.sap.aii.mapping.api.AbstractTrace;
import com.sap.aii.mapping.lookup.RfcAccessor;
import com.sap.aii.mapping.lookup.LookupService;
import com.sap.aii.mapping.lookup.XmlPayload;
* @author Thorsten Nordholm Søbirk, AppliCon A/S
* Helper class for using the XI Lookup API with XSLT mappings for calling RFCs.
* The class is generic in that it can be used to call any remote-enabled
* function module in R/3. Generation of the XML request document and parsing of
* the XML response is left to the stylesheet, where this can be done in a very
* natural manner.
* TD:
* Changed the class that request is sent as String, because of IndexOutOfBound-exception
* When sending multiple requests in one XSLT mapping.
public class RfcLookup {
* Execute RFC lookup.
* @param request RFC request - TD: changed to String
* @param service name of service
* @param channelName name of communication channel
* @param inputParam mapping parameters
* @return Node containing RFC response
public static Node execute( String request,
String service,
String channelName,
Map inputParam)
AbstractTrace trace = (AbstractTrace) inputParam.get(StreamTransformationConstants.MAPPING_TRACE);
Node responseNode = null;
try {
// Get channel and accessor
Channel channel = LookupService.getChannel(service, channelName);
RfcAccessor accessor = LookupService.getRfcAccessor(channel);
// Serialise request NodeList - TD: Not needed anymore as request is String
/*TransformerFactory factory = TransformerFactory.newInstance();
Transformer transformer = factory.newTransformer();
Source source = new DOMSource(request.item(0));
ByteArrayOutputStream baos = new ByteArrayOutputStream();
StreamResult streamResult = new StreamResult(baos);
transformer.transform(source, streamResult);*/
// TD: Add xml header and remove linefeeds for the request string
request = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>"+request.replaceAll("[\r\n]+", "");
// TD: Get byte Array from request String to send afterwards
byte[] requestBytes = request.getBytes();
// TD: Not used anymore as request is String
//byte[] requestBytes = baos.toByteArray();
trace.addDebugMessage("RFC Request: " + new String(requestBytes));
// Create input stream representing the function module request message
InputStream inputStream = new ByteArrayInputStream(requestBytes);
// Create XmlPayload
XmlPayload requestPayload =LookupService.getXmlPayload(inputStream);
// Execute lookup
XmlPayload responsePayload = accessor.call(requestPayload);
InputStream responseStream = responsePayload.getContent();
TeeInputStream tee = new TeeInputStream(responseStream);
// Create DOM tree for response
DocumentBuilder docBuilder =DocumentBuilderFactory.newInstance().newDocumentBuilder();
Document document = docBuilder.parse(tee);
trace.addDebugMessage("RFC Response: " + tee.getStringContent());
responseNode = document.getFirstChild();
} catch (Throwable t) {
StringWriter sw = new StringWriter();
t.printStackTrace(new PrintWriter(sw));
trace.addWarning(sw.toString());
return responseNode;
* Helper class which collects stream input while reading.
static class TeeInputStream extends InputStream {
private ByteArrayOutputStream baos;
private InputStream wrappedInputStream;
TeeInputStream(InputStream inputStream) {
baos = new ByteArrayOutputStream();
wrappedInputStream = inputStream;
* @return stream content as String
String getStringContent() {
return baos.toString();
/* (non-Javadoc)
* @see java.io.InputStream#read()
public int read() throws IOException {
int r = wrappedInputStream.read();
baos.write(r);
return r;
Then you need to compile and upload this class and it should work.
I hope that this helps you.
Best regards
Till -
RSTPTEST , RFC ping failed RFC error text: timeout during allocate / CPIC-C
Hi all,
I was transporting the request in my landscape last week and all of sudden transports in acceptance system is not working and I am getting a error message as
Could not start transport control program tp
Message no. TP608 Diagnosis
There was an attempt to start the transport control program tp using the local RFC interface. An error occurred here.
Error code: 4
RFC error text: timeout during allocate / CPIC-CALL: 'ThSAPCMRCV'
Meaning of the error codes:
03 RFC system failure
04 RFC communication failure
System Response
The function terminates. Details about the error can be found in the trace file of the Gateway Monitor (SMGW).
SMGW logs are as follows:
Tue Jun 16 12:04:28 2009
ERROR => GwISearchPartner: timeout, partner LU: >hostname<, TP: >M:\usr\sap\SID\DVEBMGS00\exe\tp.EXE< [gwr3cpic.c 6135]
ERROR => GwISearchPartner: HOST: hostname conv ID: 50323660 [gwr3cpic.c 6148]
, This is the 3 system landscape, common transport directory in development system.
Actions taken:
Restarted the systems (PRD queue is working but not acceptance queue)
DIR_TRANS and Permission were given already and able to ping from all the sytem
Host and service entry were maintained already.
RFC connections were woring fine without errors
I have seen many threads but none of the thread is solved my problem.
Please suggest
VijayHello,
Thanks fpr your reply and I tried the steps which you said and the result is same error for both the options.
1 & 2 Answers :
Could not start transport control program tp
Message no. TP608 Diagnosis
There was an attempt to start the transport control program tp using the local RFC interface. An error occurred here.
Error code: 4
RFC error text: timeout during allocate / CPIC-CALL: 'ThSAPCMRCV'
Meaning of the error codes:
03 RFC system failure
04 RFC communication failure
System Response
The function terminates. Details about the error can be found in the trace file of the Gateway Monitor (SMGW).
SMGW logs are as follows:
Tue Jun 16 12:04:28 2009
ERROR => GwISearchPartner: timeout, partner LU: >hostname<, TP: >M:\usr\sap\SID\DVEBMGS00\exe\tp.EXE< http://gwr3cpic.c 6135
ERROR => GwISearchPartner: HOST: hostname conv ID: 50323660 http://gwr3cpic.c 6148
I think this is not able to contact the domain controller.
But I can see the checks are fine from checking the transport directory.
Vijay -
RFC logon failed with message: Failed: Connect to SAP gateway failed
I installed CI instance fine and i am stopped here with this error at the end of DB instance install. Could someone let me know what could be the reason for this. Is there any fix or workaround to continue the install.
INFO 2006-09-16 01:13:02 [iaxxrfcimp.cpp:398]
CAbRfcImpl::setRfcConnectParam
RFC parameter ASHOST set to value hostSAP.
INFO 2006-09-16 01:13:02 [iaxxrfcimp.cpp:398]
CAbRfcImpl::setRfcConnectParam
RFC parameter SYSNR set to value 09.
INFO 2006-09-16 01:13:02 [iaxxrfcimp.cpp:543]
CAbRfcImpl::checkConnectInfo
RFC connection information checked successfully.
ERROR 2006-09-16 01:13:02 [iaxxrfcimp.cpp:450]
CAbRfcImpl::openRfcConn
FRF-00007 Unable to open RFC connection.
ERROR 2006-09-16 01:13:02
CJSlibModule::writeError_impl()
FRF-00063 RFC logon failed with message: Failed: Connect to SAP gateway failed
Connect_PM GWHOST=hostSAP, GWSERV=sapgw09, ASHOST=hostSAP, SYSNR=09
LOCATION CPIC (TCP/IP) on local host
ERROR partner not reached (host hostSAP, service 3309)
TIME Sat Sep 16 01:13:02 2006
RELEASE 640
COMPONENT NI (network interface)
VERSION 37
RC -10
MODULE nixxi_r_mt.cpp
LINE 8528
DETAIL NiPConnect
SYSTEM CALL connect
ERRNO 146
ERRNO TEXT Connection refused
COUNTER 4
Thanks,
Ramat the end of the database instance installation SAPInst is doing some RFCs to the CI.
The logfile states that the gateway on host hostSAP with the systemnumber 09 is not reachable.
Please check if you have started the central instance on this machine.
peter -
Webservice to RFC Scenario - Through Java Mapping
Hello All,
In my integration scenario, I will receive a request from a webservice consumer. The webservice is my outbound interface.
Now I have to write a Java Mapping for it because a similar interface (file to RFC) has been implemented using it and the customer wants minimum deviation from that functionality.
One question, that I have at this point in time is:
I must define a Java class that implements the Java interface com.sap.aii.mapping.api.StreamTransformation. This interface has two methods, one of them is:
public void execute(java.io.InputStream in, java.io.OutputStream out). In the existing interface the InputStream object say 'input' has been initialized to FileInputStream:
InputStream in = new FileInputStream(new File("Sample7.xml"));
What shall I initialize it to in my case? One probable is a InputSource, but does the execute method accept an InputSource?
Please help,
Regards,
VarunHello Jose,
Thanks for your reply, but what I have mentioned above is how it is being done in a similar interface. That being a file to RFC interface, it makes sense to initialize 'in' with the file name.
But if you mean that I do not need to initialize in my case (Webservice to RFC), then I'll surely give it a try and if useful, will get back to you.
Thanks again,
Varun -
Interface with no mapping could not be activated
Hello,
i want to transform an invoic01 Idoc into a xml-file. Ther is no format transformation, I only want to get the xml file.
With XI 2.0 I only had to define no message program. Now I wanted to do the same in XI 3.0 but I get an error message that says that there is no mapping-program. I don't want to have one.
What do I have to do?
TIA
VolkerHi,
I found out, how to do it.
Don't define an interfacemapping in your repository.
In your directory define a interface determination without interfacemapping.
You can use a simple string as datatype in your repository, in my case, for the inbound messageinterface.
Thanks for your help
Volker -
Problem with File RFC File scenario without using BPM
Hi all,
I am trying a File RFC File scenario without using BPM with the help of the following thread:
File - RFC - File without a BPM - Possible from SP 19.
The XI system is PI 7.0 sp 12. When I am trying to acheive the above scenario, I am getting wierd results i.e., when I observe in SXI_MONITOR, the message is showing as processed successfully, but when I watch the message status in communication channel monitoring, I am getting the following error:
"Attempt to process file failed with com.sap.aii.af.service.cpa.CPAException: Couldn't retrieve inbound binding for the given P/S/A values: FP=;TP=;FS=DEV120;TS=Test_Service;AN=MI_Invoice;ANS=urn:sap.com:test;"
I am not able to understand what the problem is. By the way, one more thing, is, I have kept the File processing mode as "Delete" in the sender file adapter. But the file is not getting deleted. I think the reason could be because of the above error.
Can any body help me out in getting my problem resolved?
Thanks,
Adithya KCPA Cache Refresh from the Adapter Engine To trigger a cache refresh from the individual Adapter Framework, open a browser window and enter the following
URL: http://<host>:<port>/CPACache/refresh?mode=<b>delta|full</b>
The Monitoring url is like this: http://<host>:<port>/CPACache
Thanks & Regards,
Farooq.
Maybe you are looking for
-
Dynamic header in oo alv print_top_of_page based on current line
I would expect this to be a common problem with the solution easily to google/find, but somehow... dynamic header generation during alv print_top_of_page: - i print an oo alv grid, sorted by kunnr - for each new kunnr a new page -> now I want during
-
Re: I got a malware, how do I get rid of it?
I got my MacBook Air corrupted by pop up warm and probably other things through Safari, and decided to go to Genius Bar on Friday the 13th, and asked to do hard reset (or clean install), thinking that I could recover from my Time Machine backup. Howe
-
MM:save purchase order uFF0Csystem display ERR
save purchase order ,system display Err: 1、No short text maintained in language ZF (please re-maintain material T6-60101) 2、Purchase order still contains faulty items how i can do? taks you!
-
SOAP Receiver java.io.IOException: unable to create a socket
Hi All, I have scenario where i invoke a external webservice (over internet) using SOAP adapter. I can reach the external target as they see my traffic on firewall but i always get: com.sap.aii.af.ra.ms.api.DeliveryException: java.io.IOException: u
-
Installed lion, "pinch to zoom" does not exist in preferences/trackpad
installed lion, "pinch to zoom" does not exist in preferences/trackpad