SOAP vs RFC - performance and pros and cons

Hi,
I have been playing around with the SAP .NET Connector 2.0 between an ASP.NET 1.1 application and SAP passing in either SOAP or RFC connection strings to the proxy classes as a proof of concept for some integration work required for our existing customer website and teh SAP system replacing our legacy applications.
Other than issues relating to the ports that need to be opened in Firewalls between application environments can anyone provide me with any information or point me in the direction of any documentation regarding the performance differences between and pros and cons of using these two protocols?
The impression I get is that RFC performs better than SOAP due to the XML conversion overhead inherent in using SOAP calls.
I know that the ESOA direction of SAP means that SOAP is the desired protocal in the long run but is there any reason why one should be used in preference to the other in the scenario menttioned above?
Sorry if there is an obvious answer and thank you in advance for any help.
Andy

We did a lot of load tests to find answers on how the protocol can have impact on the performance. With our test systems RFC was about 3 times faster than SOAP and the network traffic was doubled with SOAP (approx.). And it seems to me that RFC offers more parallel processes (for multithreading application), but I'm not hundred percent sure on that point.
We used rel. 640 with Web AS, Client was .NET Connector and ERPConnect with .NET 1.1 and .NET 2.0.
Krishtan

Similar Messages

  • Difference between RFC adapter and a proxy

    Can any one tell me the technical difference between RFC adapter and a proxy?
    reg

    There are advantages / disadvantages for RFC / Proxies / Idocs. So if I am in your position depending upon the requirement I will choose one. Some of the differences are:
    RFC and Proxy:
    RFC/BAPI has its own overhead of function call.
    Proxies communicate with the XI server by means of native SOAP calls over HTTP .RFC does not, so you have to convert from SOAP to RFC calls and vice versa. So XML conversion is required.
    ABAP Proxies uses Webservice and Http Protocols.
    If you use ABAP Proxy , you can reduce the overhead calling the function again and again.
    Proxy and Idoc:
    IDOC : After recieving the strucutred data It processes it using a Function Module associated with it.
    Proxy : Proxy is a structure where there is no processing function module associated. You need to explicitly write the Business Logic/Call the subroutines here
    This is my absolutely my view. Another guy has his own response. So first go through your requirements and then you can decide for what to go.
    Also go through this urls which may help you:
    /people/michal.krawczyk2/blog/2006/04/19/xi-rfc-or-abap-proxy-abap-proxies-with-attachments
    RFC VS PROXY
    /people/ravikumar.allampallam/blog/2005/08/14/choose-the-right-adapter-to-integrate-with-sap-systems
    Re: IDOC and RFC
    Re: Proxy Vs IDOC
    Thanks
    Rodrigo

  • *Soap TO RFC  :-Empty SOAP RESPONSE*

    Dear Friends,
                            I am doing a SOAP TO RFC scenario.And while testing the scenario using SOAP UI TOOL the response is EMPTY its like this.
    <SOAP:Envelope xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/">
       <SOAP:Header/>
       <SOAP:Body/>
    </SOAP:Envelope>
    Monitoring:-
    In message monitoring :- its successful
    In SXMB_MONI :-Its a checked Flag.
    My Mapping is working fine.
    Please help me in Tracing the Problem.
    Regards,
    jeevan

    Hi Jeevan,
    Did you check the payload in mapping editor? also check the mappings once more and check the thread
    In RFc Response no data is coming
    Thanks!

  • How to implement Exception Handling for soap to RFC sync interface...

    Dear Experts,
    we have an interface like soap to Rfc sync, already develepment is done and moved to production. but we are getting some quatitity is greater than item then it is throwing an error below. i want to handle that exception in XI level.
    please guide i am not found any document for this type of interface.
    Please suggest what can i do for this. Please share me the screen shot for this.
    Error Log:
      <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
    - <!--  Request Message Mapping
      -->
    - <SAP:Error xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="1">
      <SAP:Category>Application</SAP:Category>
      <SAP:Code area="RFC_ADAPTER">APPLICATION_ERROR</SAP:Code>
      <SAP:P1 />
      <SAP:P2 />
      <SAP:P3 />
      <SAP:P4 />
      <SAP:AdditionalText />
      <SAP:ApplicationFaultMessage namespace="urn:sap-com:document:sap:rfc:functions">Z_DEPOT_DISPATCH.Exception</SAP:ApplicationFaultMessage>
      <SAP:Stack />
      <SAP:Retry>M</SAP:Retry>
      </SAP:Error>
    <rfc:Z_DEPOT_DISPATCH.Exception xmlns:rfc="urn:sap-com:document:sap:rfc:functions"><Name>RFC_ERROR_SYSTEM_FAILURE</Name><Text>Delivery quantity is greater than target quantity 10.000 MT</Text><Message><ID>VL</ID><Number>363</Number></Message><Attributes><V1>10.000</V1><V2>MT</V2></Attributes></rfc:Z_DEPOT_DISPATCH.Exception>
    Regards,
    Kiran Polani

    Dear All,
    This is clearly soap to rfc interface and we are using currently PI 7.0. This is a validation of BAPI, BAPI is not accepting the field of "Quantity is some value". The quatity is greater than the amount BAPI is throwing an error like "APPLICATION_ERROR". Is it possbile to validate in XI Level.
    Soap --> XI--> BAPI(Request)
    BAPI--> XI-->Soap(Response)( in this step what ever message return by bapi those error message not getting 3 rd party application).
    here by catching that error and i should throw to 3rd party application.
    is it possible to handle this or not.?
    If it is possible in Fault Mapping/Fault message type please give me the steps or document for me.
    I am new for fault mapping?
    Please help me on this.
    Regards,
    Kiran Polani

  • NO_RECEIVER_CASE_BE error in a SOAP - XI - RFC scenario

    Hi gurus:
    I'm configuring a SOAP -> XI -> RFC scenario and I'm getting a "NO_RECEIVER_CASE_BE" error when I send a test message using the SOAP adapter.
    I have another interfaces using the SOAP adapter of the same XI server and no problems with it. So I think my problem is not into the SOAP adapter.
    Thanks to all in advance,
    Alejandro Gomez.
    Edited by: Alejandro Gómez on May 27, 2008 10:24 AM

    Hi:
    The entire XML result from MONI is next:
    <?xml version="1.0" encoding="UTF-8" standalone="yes" ?><!-- Inbound Message --> <SOAP:Envelope xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SAP="http://sap.com/xi/XI/Message/30"><SOAP:Header><SAP:Main xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wsu="http://www.docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" versionMajor="003" versionMinor="000" SOAP:mustUnderstand="1" wsu:Id="wsuid-main-92ABE13F5C59AB7FE10000000A1551F7"><SAP:MessageClass>ApplicationMessage</SAP:MessageClass><SAP:ProcessingMode>synchronous</SAP:ProcessingMode><SAP:MessageId>BD9B57A1-2BCC-11DD-C738-001B7899027A</SAP:MessageId><SAP:TimeSent>2008-05-27T09:10:24Z</SAP:TimeSent><SAP:Sender><SAP:Service>Openlab_Desarrollo</SAP:Service><SAP:Interface namespace="http://www.huc.es/xmlns/openlab">ServicioObtencionDatosPaciente</SAP:Interface></SAP:Sender><SAP:Interface namespace="http://www.huc.es/xmlns/openlab">ServicioObtencionDatosPaciente</SAP:Interface></SAP:Main><SAP:ReliableMessaging xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="1"><SAP:QualityOfService>BestEffort</SAP:QualityOfService></SAP:ReliableMessaging><SAP:HopList xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="1"><SAP:Hop timeStamp="2008-05-27T09:10:24Z" wasRead="false"><SAP:Engine type="AE">af.xi2.xidserver</SAP:Engine><SAP:Adapter namespace="http://sap.com/xi/XI/System">XIRA</SAP:Adapter><SAP:MessageId>BD9B57A1-2BCC-11DD-C738-001B7899027A</SAP:MessageId><SAP:Info/></SAP:Hop><SAP:Hop timeStamp="2008-05-27T09:10:24Z" wasRead="false"><SAP:Engine type="IS">is.00.xidserver</SAP:Engine><SAP:Adapter namespace="http://sap.com/xi/XI/System">XI</SAP:Adapter><SAP:MessageId>BD9B57A1-2BCC-11DD-C738-001B7899027A</SAP:MessageId><SAP:Info>3.0</SAP:Info></SAP:Hop></SAP:HopList><SAP:RunTime xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/"><SAP:Date>20080527</SAP:Date><SAP:Time>101024</SAP:Time><SAP:Host>xidserver</SAP:Host><SAP:SystemId>XI2</SAP:SystemId><SAP:SystemNr>00</SAP:SystemNr><SAP:OS>Windows NT</SAP:OS><SAP:DB>ORACLE</SAP:DB><SAP:Language/><SAP:ProcStatus>023</SAP:ProcStatus><SAP:AdapterStatus>000</SAP:AdapterStatus><SAP:User>XIAFUSER</SAP:User><SAP:TraceLevel>3</SAP:TraceLevel><SAP:Logging>1</SAP:Logging><SAP:LogSeqNbr>001</SAP:LogSeqNbr><SAP:RetryLogSeqNbr>000</SAP:RetryLogSeqNbr><SAP:PipelineIdInternal>SAP_CENTRAL</SAP:PipelineIdInternal><SAP:PipelineIdExternal>CENTRAL</SAP:PipelineIdExternal><SAP:PipelineElementId>5BC3C53B4BB7B62DE10000000A1148F5</SAP:PipelineElementId><SAP:PipelineService>PLSRV_RECEIVER_DETERMINATION</SAP:PipelineService><SAP:QIdInternal/><SAP:CommitActor>X</SAP:CommitActor><SAP:SplitNumber>0</SAP:SplitNumber><SAP:NumberOfRetries>0</SAP:NumberOfRetries><SAP:NumberOfManualRetries>0</SAP:NumberOfManualRetries><SAP:TypeOfEngine client="100">CENTRAL</SAP:TypeOfEngine><SAP:PlsrvExceptionCode/><SAP:EOReferenceRuntime type="TID"/><SAP:EOReferenceInbound type="TID"/><SAP:EOReferenceOutbound type="TID"/><SAP:MessageSizePayload>508</SAP:MessageSizePayload><SAP:MessageSizeTotal>2985</SAP:MessageSizeTotal><SAP:PayloadSizeRequest>508</SAP:PayloadSizeRequest><SAP:PayloadSizeRequestMap>0</SAP:PayloadSizeRequestMap><SAP:PayloadSizeResponse>0</SAP:PayloadSizeResponse><SAP:PayloadSizeResponseMap>0</SAP:PayloadSizeResponseMap><SAP:Reorganization>INI</SAP:Reorganization><SAP:AdapterInbound>AENGINE</SAP:AdapterInbound><SAP:InterfaceAction>INIT</SAP:InterfaceAction><SAP:RandomNumber>00</SAP:RandomNumber><SAP:AckStatus>000</SAP:AckStatus><SAP:SkipReceiverDetermination/></SAP:RunTime><SAP:PerformanceHeader xmlns:SAP="http://sap.com/xi/XI/Message/30"><SAP:RunTimeItem><SAP:Name type="ADAPTER_IN">INTEGRATION_ENGINE_HTTP_ENTRY</SAP:Name><SAP:Timestamp type="begin" host="xidserver">20080527091024.6</SAP:Timestamp></SAP:RunTimeItem><SAP:RunTimeItem><SAP:Name type="ADAPTER_IN">INTEGRATION_ENGINE_HTTP_ENTRY</SAP:Name><SAP:Timestamp type="end" host="xidserver">20080527091024.6</SAP:Timestamp></SAP:RunTimeItem><SAP:RunTimeItem><SAP:Name type="CORE">INTEGRATION_ENGINE</SAP:Name><SAP:Timestamp type="begin" host="xidserver">20080527091024.6</SAP:Timestamp></SAP:RunTimeItem><SAP:RunTimeItem><SAP:Name type="CORE">INTEGRATION_ENGINE</SAP:Name><SAP:Timestamp type="end" host="xidserver">20080527091024.6</SAP:Timestamp></SAP:RunTimeItem><SAP:RunTimeItem><SAP:Name type="PLSRV">PLSRV_RECEIVER_DETERMINATION</SAP:Name><SAP:Timestamp type="begin" host="xidserver">20080527091024.616</SAP:Timestamp></SAP:RunTimeItem></SAP:PerformanceHeader><SAP:Diagnostic xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="1"><SAP:TraceLevel>Fatal</SAP:TraceLevel><SAP:Logging>Off</SAP:Logging></SAP:Diagnostic><SAP:Trace xmlns:SAP="http://sap.com/xi/XI/Message/30"><Trace level="1" type="T">Party normalization: sender </Trace>
    <Trace level="1" type="T">Sender scheme external = XIParty</Trace>
    <Trace level="1" type="T">Sender agency external = http://sap.com/xi/XI</Trace>
    <Trace level="1" type="T">Sender party external = </Trace>
    <Trace level="1" type="T">Sender party normalized = </Trace>
    <Trace level="1" type="B" name="CL_XMS_HTTP_HANDLER-HANDLE_REQUEST"></Trace><!-- ************************************ -->
    <Trace level="1" type="T">XMB was called with URL /sap/xi/engine?type=entry</Trace>
    <Trace level="2" type="T">Request Line = POST /sap/xi/engine?type=entry HTTP/1.1</Trace>
    <Trace level="2" type="T">Host = xidserver:8000</Trace>
    <Trace level="2" type="T">Server protocol = HTTP/1.1</Trace>
    <Trace level="2" type="T">Remote address = 10.137.73.104</Trace>
    <Trace level="1" type="T">COMMIT is done by XMB ! </Trace>
    <Trace level="1" type="B" name="CL_XMS_MAIN-ENTER_XMS"></Trace><!-- ************************************ -->
    <Trace level="1" type="B" name="CL_XMS_MAIN-SET_START_PIPELINE"></Trace><!-- ************************************ -->
    <Trace level="3" type="T">XMB was called with external pipeline PID = ENTRY</Trace>
    <Trace level="3" type="T">Getting type of XMB... </Trace>
    <Trace level="1" type="B" name="SXMBCONF-SXMB_GET_XMB_USE">
    </Trace>
    <Trace level="2" type="T">XMB kind = CENTRAL</Trace>
    <Trace level="3" type="T">Start pipeline found </Trace>
    <Trace level="2" type="T">Switch to external start pipeline PID = CENTRAL</Trace>
    <Trace level="1" type="B" name="CL_XMS_TROUBLESHOOT-ENTER_PLSRV">
    <Trace level="3" type="T">No triggers found. OK. </Trace>
    </Trace>
    <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="3" type="T">system-ID = XI2</Trace>
    <Trace level="3" type="T">client = 100</Trace>
    <Trace level="3" type="T">language = S</Trace>
    <Trace level="3" type="T">user = XIAFUSER</Trace>
    <Trace level="1" type="Timestamp">2008-05-27T09:10:24Z 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><!-- ************************************ -->
    <Trace level="1" type="T">Message-GUID = BD9B57A12BCC11DDC738001B7899027A</Trace>
    <Trace level="1" type="T">PLNAME = CENTRAL</Trace>
    <Trace level="1" type="T">QOS = BE</Trace>
    <Trace level="1" type="B" name="CL_XMS_MAIN-CALL_PIPELINE_SYNC"></Trace><!-- ************************************ -->
    <Trace level="1" type="T">Get definition of external pipeline CENTRAL</Trace>
    <Trace level="1" type="B" name="CL_XMS_MAIN-LOOKUP_INTERNAL_PL_ID">
    <Trace level="3" type="T">External PLID = CENTRAL</Trace>
    <Trace level="3" type="T">Internal PLID = SAP_CENTRAL</Trace>
    </Trace>
    <Trace level="1" type="T">Corresponding internal pipeline SAP_CENTRAL</Trace>
    <Trace level="3" type="T"> </Trace>
    <Trace level="3" type="T">Pipeline attributes </Trace>
    <Trace level="3" type="T">PID        = SAP_CENTRAL</Trace>
    <Trace level="3" type="T">ENABLE     = 1</Trace>
    <Trace level="3" type="T">TRACELEVEL = 0</Trace>
    <Trace level="3" type="T">EXEMODE    = A</Trace>
    <Trace level="3" type="T"> </Trace>
    <Trace level="3" type="T"> </Trace>
    <Trace level="3" type="T">Pipeline elements </Trace>
    <Trace level="3" type="T">ELEMPOS    = 0001</Trace>
    <Trace level="3" type="T">PLSRVID    = PLSRV_RECEIVER_DETERMINATION</Trace>
    <Trace level="3" type="T">PLSRVTYPE  = </Trace>
    <Trace level="3" type="T">FL_DUMMY   = 0</Trace>
    <Trace level="3" type="T"> </Trace>
    <Trace level="3" type="T">ELEMPOS    = 0002</Trace>
    <Trace level="3" type="T">PLSRVID    = PLSRV_INTERFACE_DETERMINATION</Trace>
    <Trace level="3" type="T">PLSRVTYPE  = </Trace>
    <Trace level="3" type="T">FL_DUMMY   = </Trace>
    <Trace level="3" type="T"> </Trace>
    <Trace level="3" type="T">ELEMPOS    = 0003</Trace>
    <Trace level="3" type="T">PLSRVID    = PLSRV_RECEIVER_MESSAGE_SPLIT</Trace>
    <Trace level="3" type="T">PLSRVTYPE  = </Trace>
    <Trace level="3" type="T">FL_DUMMY   = </Trace>
    <Trace level="3" type="T"> </Trace>
    <Trace level="3" type="T">ELEMPOS    = 0004</Trace>
    <Trace level="3" type="T">PLSRVID    = PLSRV_MAPPING_REQUEST</Trace>
    <Trace level="3" type="T">PLSRVTYPE  = </Trace>
    <Trace level="3" type="T">FL_DUMMY   = </Trace>
    <Trace level="3" type="T"> </Trace>
    <Trace level="3" type="T">ELEMPOS    = 0007</Trace>
    <Trace level="3" type="T">PLSRVID    = PLSRV_OUTBOUND_BINDING</Trace>
    <Trace level="3" type="T">PLSRVTYPE  = </Trace>
    <Trace level="3" type="T">FL_DUMMY   = </Trace>
    <Trace level="3" type="T"> </Trace>
    <Trace level="3" type="T">ELEMPOS    = 0008</Trace>
    <Trace level="3" type="T">PLSRVID    = PLSRV_CALL_ADAPTER</Trace>
    <Trace level="3" type="T">PLSRVTYPE  = =SWITCH=</Trace>
    <Trace level="3" type="T">FL_DUMMY   = </Trace>
    <Trace level="3" type="T"> </Trace>
    <Trace level="3" type="T">ELEMPOS    = 0009</Trace>
    <Trace level="3" type="T">PLSRVID    = PLSRV_MAPPING_RESPONSE</Trace>
    <Trace level="3" type="T">PLSRVTYPE  = </Trace>
    <Trace level="3" type="T">FL_DUMMY   = </Trace>
    <Trace level="3" type="T"> </Trace>
    <Trace level="3" type="T"> </Trace>
    <Trace level="1" type="B" name="CL_XMS_MAIN-WRITE_MESSAGE_LOG_TO_PERSIST">
    <Trace level="2" type="T">Persisting original message </Trace>
    <Trace level="3" type="T">Message-Version = 000</Trace>
    <Trace level="3" type="T">Message version 000</Trace>
    <Trace level="3" type="T">Pipeline CENTRAL</Trace>
    </Trace>
    <Trace level="1" type="Timestamp">2008-05-27T09:10:24Z CET Begin of pipeline processing PLSRVID = CENTRAL</Trace>
    <Trace level="1" type="B" name="PLSRV_RECEIVER_DETERMINATION"></Trace><!-- ************************************ -->
    <Trace level="1" type="Timestamp">2008-05-27T09:10:24Z CET Start of pipeline service processing PLSRVID= PLSRV_RECEIVER_DETERMINATION</Trace>
    <Trace level="1" type="B" name="CL_XMS_MAIN-CALL_PLSRV">
    <Trace level="3" type="T">Calling pipeline service: PLSRV_RECEIVER_DETERMINATION</Trace>
    <Trace level="3" type="T">Reading Pipeline-Service specification... </Trace>
    <Trace level="3" type="T"> </Trace>
    <Trace level="3" type="T">Pipeline service specification (table SXMSPLSRV) </Trace>
    <Trace level="3" type="T">PLSRVID    = PLSRV_RECEIVER_DETERMINATION</Trace>
    <Trace level="3" type="T">PLSRVTYPE  = </Trace>
    <Trace level="3" type="T">ADRESSMOD  = LOCAL</Trace>
    <Trace level="3" type="T">P_CLASS    = CL_RD_PLSRV</Trace>
    <Trace level="3" type="T">P_IFNAME   = IF_XMS_PLSRV</Trace>
    <Trace level="3" type="T">P_METHOD   = ENTER_PLSRV</Trace>
    <Trace level="3" type="T">FL_LOG     = </Trace>
    <Trace level="3" type="T">FL_DUMMY   = 0</Trace>
    <Trace level="3" type="T"> </Trace>
    <Trace level="1" type="B" name="CL_XMS_MAIN-CALL_PLSRV_LOCAL"></Trace><!-- ************************************ -->
    <Trace level="1" type="B" name="CL_RD_PLSRV-ENTER_PLSRV">
    <Trace level="1" type="T">R E C E I V E R - D E T E R M I N A T I O N </Trace>
    <Trace level="1" type="T"> Cache Content is up to date </Trace>
    <Trace level="2" type="T">Start without given receiver </Trace>
    <Trace level="1" type="T">No Relation found - accept given Receivers. </Trace>
    <Trace level="2" type="T">Classic Receiver Determination via Rules. </Trace>
    <Trace level="2" type="T">No Receiver found behaviour: 0  </Trace>
    </Trace>
    </Trace>
    <Trace level="1" type="B" name="CL_XMS_MAIN-WRITE_MESSAGE_TO_PERSIST"></Trace><!-- ************************************ -->
    <Trace level="3" type="T">Persisting message Status = 023</Trace>
    <Trace level="3" type="T">Message version 001</Trace>
    <Trace level="3" type="T">Pipeline CENTRAL</Trace>
    </SAP:Trace></SOAP:Header><SOAP:Body><SAP:Manifest xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:wsu="http://www.docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" wsu:Id="wsuid-manifest-5CABE13F5C59AB7FE10000000A1551F7"><SAP:Payload xlink:href="cid:payload-bd9b57a22bcc11dd95bc001b7899027a#sap.com"><SAP:Name>MainDocument</SAP:Name><SAP:Description>Main XML document</SAP:Description><SAP:Type>Application</SAP:Type></SAP:Payload></SAP:Manifest></SOAP:Body></SOAP:Envelope>
    Thanks,
    Alejandro Gomez.

  • SOAP - XI - RFC - Input parameters

    Hi,
    I'm trying to develop a SOAP-> XI -> RFC scenario and now i'm facing the following problem: I'm invoking a RFC through XI but for some reason the input parameters are not reaching the RFC. The RFC response indicates that RFC is not receiving any input parameters from XI.
    I've already cleared the cache and de-activate and re-activate the rfc receiver communication channel.
    Anyone has a hint for this?
    Thanks in advance,
    Pedro Leal

    Pedro,
    Few weeks before I also faced the same issue. I'm not sure if it's bug or not.  You are directly sending the RFC structure using SOAP client  is it? I mean your Inbound and Outbound Structure are same.
    Do onething, just do the mapping and check, It will work for sure!
    raj.

  • BPM pros and cons

    Hi All,
    I would like to pros and cons of BPM.
    Performance point of view,
    and Maintenance point of view.
    Please give me suggestion, <u>when should i use/avoid BPM?</u>
    Thanking you in advance.
    Regards
    Piyush

    Hi Piysuh,
    Just to summarize what I have ubndertood of your scenario.
    You do not want the JDBC adapter to be connected to your Database always and so , you will be using a DUMMY file, and when the file is picked up, you want to perfrom your DB look up and then perfrom an RFC call.
    This can be implemented as follows without a BPM.
    1. File Adapter to Receive File.
    2. A mapping such that the DB lookup is perfromed in the mapping program ( user defined function or java mapping ), there is a <a href="/people/siva.maranani/blog/2005/08/23/lookup146s-in-xi-made-simpler">Blog</a>   available on how to perfrom DB lookup in your mapping on SDN.
    3. map the data picked from your datbase to your RFC request message and use an RFC receiver adapter.
    Think this might help. Do let us know if you need any further help.
    Regards,
    Bhavesh

  • What are the pros and cons of installing java+abap stack for portal?

    Hi all,
      1.What are the pros and cons of installing java+abap stack for portal?
      2.what effect it does on the ume options to be choosen??
      3.for the purpose of integration of r3,bw and crm on portal and crm 4.0 60.2.3 business package which option of stack(java or abap or both)will be good option and which ume option while installation should be choosen?
    regards
    Rajendra

    Hi Rajendra,
    The NetWeaver Installation Master Guide offers some good scenarios on the pros and cons:
    https://websmp201.sapag.de/~sapidb/011000358700005412792005E.pdf
    In a nutshell:
    ABAP+JAVA
    Pros
    - Decrease # of servers required to administer the portal
    - Less costly
    Cons
    - Upgrades could be dependent on ABAP and Java release level
    - Additional load on the server due to ABAP stack
    - Limited scalability
    JAVA and ABAP on separate server
    Pros
    - Improved performance
    - Allows each system to be single-use purpose therefore downtime does not affect other components
    - More scalable
    Cons
    - Adds complexity to landscape
    - Additional costs
    Regards,
    Thomas Pham

  • What are the pros and cons of storing heavely used CFCs in the application scope?

    I've been storing all the required CFCs for a site in the application scope. During onApplicationStart I do something like this application.objSomeCfc =CreateObject('component', 'com.someCfc').init().
    Here is my reasoning.
    Get the CFCs initialized once and stored in memory for better performance.
    Using CreateObject several times on each page load can have a negative impact on performance.
    Having one place to create application scoped CFCs makes it easier to manage code.
    So is my thinking flawed? Are there any additional pros or cons for dealing with CFCs? Is there any docs, articles, blogs, videos, frameworks, ...... that I should check that may change my perspective on how I'm doing this?
    Thanks

    Your approach is fine, depending on how many and what type of CFCs you are talking about. If they are "singletons" - that is, only one instance of each CFC is needed to be in memory and can be reused/shared from multiple parts of your application - caching them in the application scope is common.  Just make sure they are thread safe ("var" or local.* all your method variables).
    You might consider taking advantage of a dependency injection framework, such as DI/1 (part of the FW/1 MVC framework), ColdSpring, or WireBox (a module of the ColdBox platform that can be used independently).  They have mechanisms for handling and caching singletons.  Then you wouldn't have to go to the application scope to get your CFC instances.
    -Carl V.

  • What are the pros and cons using Active Data Guard vs Data Guard?

    My understanding is that Active Data Guard is an additional database option for Oracle 11gR2 Enterprise Edition. I need to know the pros and cons using Active Data Guard vs Data Guard in order to decide whether to get pay extra for the Active Data Guard.
    Thanks for any help.

    Hemant K Chitale wrote:
    Before jumping in to Active Data Guard, one needs to evaluate :
    a. Is there really a need to run queries on the Standby ? The Standby could / should be at a remote site so queries are "across the network". Depending on the nature of the queries and the volume of output, the "performance" of the queries may not seem to be the same.
    b. If the database is not in Maximum Protection mode, the data "seen" at the standby may not be in "real-time" synch
    c. Not all applications are truely read-only when querying. Some applications use "jobs" that write to tables when querying. Such would not work with Active DataGuard. (example : EBusiness Suite). There are very complicated ways of handling this -- and one needs to consider if the complications can be introduced and supported.
    Over the network accessing standby read only is really not an good idea, I think no one will compare performance with primary and standby,
    But some of them they want to validate data which are very critical, as it is matching with primary or not, Its an added advantage with ACTIVE DATAGUARD
    Prior to that until unless stop MRP, open database and then we need to validate, So there is an interruption of recovery, I can say its also an advantage where there is no interruption of recovery.

  • Pros and Cons of using JBDC Adapter with XI

    Hi Experts,
        Can somebody help me understand pros and cons in using different JDBC adapters with XI?
       I would be really greatful to you.
    Thanks & Regards
    Gopal

    Hai,
    Go through the links:
    /people/varadharajan.krishnasamy/blog/2007/02/27/configuring-jdbc-connector-service-to-perform-database-lookups
    http://help.sap.com/saphelp_nw04/helpdata/en/44/f565854b7341e6e10000000a1553f6/frameset.htm
    Regarding JDBC Adapter in SAP XI
    Configuring File and JDBC adapters
    Thanks,
    Rajani.

  • What are the pros and cons re using an intel iMac vs MacPro with LP8?

    I'm considering getting a new intel Mac in the near future (presuming a new MacPro will be released in the near future - maybe at the same time as Leopard). I compose largely for film and television and I am composing largely using a combination of loops, software instruments and some recorded live performance. I usually sync to a low res quicktime movie.
    I do like the idea of a simple and uncluttered work environment with an iMac, added to which there's also a degree of portability with the iMac however the MacPro is obviously more powerful. I'm not sure how much the difference in power between the two computers would affect me.
    Would I be compromising myself much if I went for the iMac over the MacPro? What are the pros and cons of the iMac vs the MacPro in relation to Logic Pro 8?

    In the world large-scale music composition using samples, loops, etc (especially for film) your two biggest needs are RAM and HD speed/access. The imac looses big time in this department (as a single computer at least) as it can only be upgraded to 4gb ram, and only holds one internal HD, and also lacks any PCI expansion for DSP cards, audio interfaces, etc.
    In generalyou want to separate your data vs applications as much as possible, to ensure both can be accessed quickly and easily by the computer. So its best to have your system software / applications on one internal HD, and your logic data (samples, audio recordings, loops) on another drive(s). You can do this with an iMac via USB, FW800, & FW400, but depending on how big your projects get, how many USB and FW drives / interfaces you use, and how much data you need to stream, you could overload the buss on the imac (not sure if it has multiple busses or not). Plus speed wise, internal SATA are much faster than external drives, and the mac pro with its 4 internal slots seems like a great choice for speed and flexibility.
    However, if you dont find yourself doing large scale projects, then you might be better off going with an imac. We just purchased one for my father and it runs great! It blows the socks off of my Dual 2.5 G5 tower in terms of CPU speed! If you run into problems running things from the imac, you could always add a mac-mini down the road to stream sample libs, as a Logic node, etc, which seems to be a much more cost effective solution.
    I hope this was helpful, but I probably just made the decision harder . In fact, if I were to start over today, I dont know if I'd go with a MacPro, or an iMac / mac mini combination. they both seem to have their advantages / disadvantages.
    Best of luck!

  • Using CLOB data type - Pros and Cons

    Dear Gurus,
    We are designing a database that will be receiving comments from external data source. These comments are stored as CLOB in the external database. We found that only 1% of incoming data will be larger than 4000 characters and are now evaluating the Pros and Cons of storing only 4000 characters of incoming comments in VARCHAR2 data type or using CLOB data type.
    Some of the concerns brought up during discussion were:
    - having to store CLOBs in separate tablespace;
    - applications, such Toad require changing defaults settings to display CLOBs in the grid. Default value is not to display them;
    - applications that build web page with CLOBs will be struggling to fit 18 thousand chararcters of which 17 thousand are blank lines;
    - cashing CLOBs in memory will consume big chunk of data buffers which will affect performance;
    - to manipulate CLOBs you need PL/SQL anonymous block or procedure;
    - bind variables cannot be assigned CLOB value;
    - dynamic SQL cannot use CLOBs;
    - temp tables don't work very well with CLOBs;
    - fuzzy logic search on CLOBs is ineffective;
    - not all ODBC drivers support Oracle CLOBs
    - UNION, MINUS, INTERSECT don't work with CLOBs
    I have not delt with CLOB data type in the past, so I am hoping to hear from you of any possible issues/hastles we may encounter?

    848428 wrote:
    Dear Gurus,
    We are designing a database that will be receiving comments from external data source. These comments are stored as CLOB in the external database. We found that only 1% of incoming data will be larger than 4000 characters and are now evaluating the Pros and Cons of storing only 4000 characters of incoming comments in VARCHAR2 data type or using CLOB data type.
    Some of the concerns brought up during discussion were:
    - having to store CLOBs in separate tablespace;They can be stored inline too. Depends on requirements.
    - applications, such Toad require changing defaults settings to display CLOBs in the grid. Default value is not to display them;Toad is a developer tool so that shouldn't matter. What should matter is how you display the data to end users etc. but that will depend on the interface. Some can handle CLOBs and others not. Again, it depends on the requirements.
    - applications that build web page with CLOBs will be struggling to fit 18 thousand chararcters of which 17 thousand are blank lines;Why would they struggle? 18,000 characters is only around 18k in file size, that's not that big to a web page.
    - cashing CLOBs in memory will consume big chunk of data buffers which will affect performance;Who's caching them in memory? What are you planning on doing with these CLOBs? There's no real reason they should impact performance any more than anything else, but it depends on your requirements as to how you plan to use them.
    - to manipulate CLOBs you need PL/SQL anonymous block or procedure;You can manipulate CLOBs in SQL too, using the DBMS_LOB package.
    - bind variables cannot be assigned CLOB value;Are you sure?
    - dynamic SQL cannot use CLOBs;Yes it can. 11g supports CLOBs for EXECUTE IMMEDIATE statements and pre 11g you can use the DBMS_SQL package with CLOB's split into a VARCHAR2S structure.
    - temp tables don't work very well with CLOBs;What do you mean "don't work well"?
    - fuzzy logic search on CLOBs is ineffective;Seems like you're pulling information from various sources without context. Again, it depends on your requirements as to how you are going to use the CLOB's
    - not all ODBC drivers support Oracle CLOBs not all, but there are some. Again, it depends what you want to achieve.
    - UNION, MINUS, INTERSECT don't work with CLOBsTrue.
    I have not delt with CLOB data type in the past, so I am hoping to hear from you of any possible issues/hastles we may encounter?You may have more hassle if you "need" to accept more than 4000 characters and you are splitting it into seperate columns or rows, when a CLOB would do it easily.
    It seems as though you are trying to find all the negative aspects of CLOBs and ignoring all the positive aspects, and also ignoring the negative aspects of not using CLOB's.
    Without context you're assumptions are just that, assumptions, so nobody can tell you if it will be right or wrong to use them. CLOB's do have their uses, just as XMLTYPE's have their uses etc. If you're using them for the right reasons then great, but if you're ignoring them for the wrong reasons then you'll suffer.

  • Pros and cons of EPM and Classic Application.

    Hi All Experts,
    can any one tell me what are the pros and cons if create EPM Application
    and pros and cons if we create Classic Planning Application
    this is really urgent we have to submit this to our client as soon as possible

    Hi,
    The main difference between using of classic and EPMA is I think hidden in the first letter of EPMA. EPMA is for Enterprises where multiple performance management applications are considered applicable. When you have an HFM application, a planning application, a performance scorecard application, a couple of essbase cubes around and lots of reports pulling data from all these, sharing data and metadata becomes crucially important. And no mistake, classic planning is as good as EPMA planning and easier to handle, however, if your company or client is thinking of having a total EPM solution in place, then EPMA is the right choice. However, since you can always convert your classic app to EPMA but you've got only one bullet to fire, it might be wise to stick with classic application until your client/company starts imagining that sort of ambitious goal.
    Cheers,
    Alp

  • Pros and cons of using email sending package in oracle 8.1.6

    hi ,
    i would like to know the advantages /disadvantages of using email sending package from oracle 8.1.6
    compared to sending the same using say perl or php.
    iam developing a site in php/oracle8.1.6 , in which iam supposed to create a payement module.whenever a user
    register(for free trial or subscribing the site) i'll have to send him a welcoming mail.In addition to this iam also supposed to find out wether subscribers are paying cash at right time and if not send them reminder mails and other for related scenarios . i can do the same in Perl or PHP.but if iam not gaining much(say based on server performance or load) then i think i can go ahead with oracle package. when i tested it i found that its slow . what about the load that it may cause for the server (ours is linux ).
    please do give inputs on this

    Hi Ravi,
    Thanks for your reply.
    But I am specifically looking at pros and cons for web services. So the thread which you passed to me won't help.
    Regards
    Nitin.

Maybe you are looking for

  • How to use create-default-dbms-tables in SQL Server 2000

    Hi everyone, I'm new in EJB development. I'm trying to deploy a CMP to Weblogic 8.1 SP1 using JBuilderX. I configured a ConnectionPool and DataSource to allow the CMP to access the SQL Server 2000. However, I cannot deploy the CMP if I didn't create

  • Captivate 4 is now working very slowly - how can I speed things up?

    Hi, My elearning course is now 13,641 KB and is starting to work very slowly. I have deleted all unused items from the library. Is there anything else I can do to speed things up? I don't want to split the project up at this stage. Thanks.

  • DMS attachment original name

    we are using ECC 5.0. During creation of DIR in DMS using cv01n we attach original files. However the actual name of these files is not display. Displaying of original file names of attachment is available in ECC6.0. How to get the same in ECC5.0? Cu

  • Dng icons appear instead of thumbnails

    Just recently, when I open up Bridge CS3, DNG icons appear instead of my thumbnails. I have not intentionally changed any settings, so don't know how to clean this up. Once I click on the icon, the photo opens up in Photoshop. Frustrating, since ever

  • Is there an AppleTV issue with playback going on right now?

    Having a lot of issues playing purchased itunes movies thru appleTV, says it will be ready to view in 4-5 hours, also thru airplay to appleTV and thru the computer to AppleTV, it keeps stopping and either restarting or going back to the list of movie