Configuring WCF-SAP for RFC Call

Hi,
I want help in configuring the WCF-SAP adapter in a receive port.
I have done configuration set like below:
But when SAP calls RFC then I am getting below error in application log:
Thanks, Girish R. Patil.

Examine the non-resumable message in your Group Box. It will reveal the Context Properties of the message from SAP that the Publish/Subscribe engine tried (and failed) to find a matching subscription for.
After examining the message, create an Orchestration and/or Send Port that subscribes to some of the Context Properties.
Also: Remember that if your subscriptions require message type or you have Map(s) on your Receive Port, you need to use the XMLReceive Pipeline and not the PassThruReceive.
Morten la Cour

Similar Messages

  • Which paramter configures the timeout for rfc call (to R/3 ) from BPM

    hi froum,
    i have a scenario, with BPM, in which theres a synchronous send to a rcf Function Module in R/3,
    now, can u tell me which paramter decides the time out for this Sync call to rfc enabled Function Module in R/3,
    i mean which paramater in SXMB_ADM or anywhere else that dictates the time period

    Check this out, RFC adapter section
    /people/michal.krawczyk2/blog/2006/06/08/xi-timeouts-timeouts-timeouts
    Regards,
    Prateek

  • Question on service userid - for RFC call

    Hi
       In XI 3.0 SP18 , we are making a RFC call from XI mapping runtime - to XI's ABAP stack - RFC function module . In the RFC receiver communication channel , I tried using service user XIISUSER , XIAPPLUSER for this RFC call - I got short dumps on XI ABAP stack mentioning that these two service users do not have authorization to make RFC calls -
    Does anybody out there know what service user on XI has RFC call authorization that can used to make RFC calls onto XI ABAP stack from its mapping runtime ?
    Correct answers will be rewarded rightaway. Thanks for your time in advance.

    Hi,
    u have to make entry in sld...
    Hi,,
    2 Introduction
    Configuring IDoc adapter in Exchange Infrastructure 3.0 requires some configuration on the SAP
    systems, for both XI and the backend system where the IDoc message is to be sent. These steps, although
    simple, are many times missed or mis-configured, causing the delivery of messages to fail.
    Since IDoc adapter uses the ABAP stack, instead of J2EE, the configuration requirements are mainly in
    ABAP.
    Setting up IDoc adapters requires the XI integration server to be able to communicate with the backend
    SAP system, and also to make sure that the Logical System Name used when posting IDoc exists on the
    backend SAP system.
    3 The Step By Step Solution
    The basic steps for the IDoc configuration are outline below:
    1. Configure SM59 on XI to communicate to SAP backend system.
    2. Configure port on XI for IDoc communication.
    3. Create or verify the Logical System Name on the SAP backend system.
    4. Create or verify business system in XI’s System Landscape Directory.
    5. Verify the Logical System Name of the business system.
    6. Verify or add the Logical System Name for the sender business system.
    7. Create/configure the Communication Channel for the IDoc receiver adapter
    3.1 Configure SM59 on XI to communicate to SAP backend system.
    1. Using transaction SM59, create an RFC destination with Connection Type = “3”.
    In this example, the RFC destination name is “NDVCLNT510”.
    2. Enter the logon information:
    3. Test the connection by clicking on “Testing connection” and “Remote logon”.
    Both must be successful.
    3.2 Configure port on XI for IDoc communication.
    4. Go to transaction IDX1 on XI, and create a port. In this example, the Port name is “SAPNDV”.
    • The Port name must be in the form of “SAPxxx”, where xxx is the system ID of the backend SAP
    system.
    • The Client must be the client number of the backend SAP system.
    • Select the RFC Destination which was created in the previous step.
    3.3 Create or verify the Logical System Name on the SAP backend system.
    5. Enter transaction SALE on the SAP backend system.
    6. Create or verify the Logical System Name. In our example, NDVCLNT510 is verified.
    3.4 Create or verify business system in XI’s System Landscape Directory.
    The business system name for the SAP backend system must contain a valid Logical System Name. This Logical System Name is the one verified or created in the previous step.
    7. In the System Landscape Directory, select the SAP backend business system. If one does not exist, then create the business system. Verify the Logical System Name.
    3.5 Verify the Logical System Name of the business system.
    8. In the Integration Directory, doubleclick on the business system (in our example, it is NDVCLNT510).
    Navigate the menu:
    Service • Adapter Specific Identifiers.
    If information is empty or incorrect, then it will have to be synchronized with the content of the System Landscape Directory. Follow the steps below for synchronization.
    9. (Optional) Synchronization of the business system in Integration Directory to the business system in System
    Landscape Directory.
    • Double-click on the business system in the Integration Directory.
    • Switch to Edit mode.
    • Select menu: Service • Adapter-Specific Identifiers
    10. (Optional) Within the dialog box, click on the button as indicated below to resynchronize.
    11. (Optional) If the expected data from the System Landscape Directory is not updated, then the SLD cache may need to be cleared first.
    3.7 Create/configure the Communication Channel for the IDoc receiver adapter.
    15. In the Integration Directory, create an IDoc receiver communication channel.
    • The RFC Destination is from step 3.1.
    • The Port is from step 3.2.
    NOTE:
    There is no need to create an IDoc sender Communication Channel for XI. Instead, the backend SAP system must be configure to send the IDoc to XI.
    4 Appendix
    Transaction: IDX2
    There are a couple of situation where IDX2 can be useful on the XI system.
    1. When we want to test connection between the XI and SAP backend system.
    2. When an IDoc has changed, and the meta data stored in XI needs to be update. When an IDoc is sent from the SAP backend system to XI, XI will first check to see if the meta data for the IDoc is already in its persistent cache. If not, then XI will use the configuration in IDX1 to retrieve the IDoc meta data from the backend system. If the
    meta is already in cache, then it will NOT do so. Therefore, when an IDoc has changed, it is necessary to manually update the new meta data on XI, or delete it from the cache, so that the latest version can be retrieved. IDX2 is used for this purpose.
    Go to transaction IDX2 and click on “Create”.
    Enter the IDoc Type and the Source Port as defined in step #2. Click “Continue”.If successful, the following will show up. If error occurs, then the IDX1 configurations will need to be re-checked.
    Reward points if find useful.

  • Diiferent user for RFC call

    Hi All,
    Can we have use different user IDs to make RFC calls to SAP? Do we have option to call RFC using different users like DEV1, DEV2 etc which is specific to the user logging in to MII. This is required to maintain the change history record while posting data back to SAP
    As per the current set up its always  user which is configured in SAP server editor in MII, makes the change in SAP.
    Any input is appreciable
    Thanks in advance
    Namita

    Ajay,
      It is like passing any other parameter to your BLS.
    For example :
    1.In your BLT, create 2 trx params
    UserName,Password.
    In your Jco Action Block assign these params in the Links Tab of the action.
    2. Create a xAcute Query Template wrapping this BLS transaction.Set Param1 as UserName and Param2 as Password.
    3. Now in your frontpage screen, create an iCommand applet wrapping the above xAcute Query Template.
    4. In your screen have 2 input fields to enter username and password.
    In the "OnClick()" event, use the setParam() method to set the values from the Input fields.
    Hope this helps. I do not have the resources to give you the code but i think this should work. Let me know if this helps,
    Thanks,
    Ram

  • Login information for RFC call

    Hi there,
    I would like to know if there is a way to authenticate a user via bsp and get that login information to make the RFC call to different systems.
    i tried the to call an FM via RFC directly from abap and it forces me to login and it works but when i put that code to bsp. I just get a "page cannot be displayed" error.
    I know i can enter an ID and password on sm59 for the connection but i need to let the user login
    I am using this for a user creation tool.. instead of using su01 to create a user it will be done via bsp and would like to reflect the changes done when running the reports from SUIM
    thanks in advance
    Ryan

    Hi Ryan,
    I will assume your RFC Destination already trusted system and using current user logon (see my previous reply).
    However this still prerequisite for the next step.
    Now, please correct me if my understanding is wrong.
    In your reply, you have at least 2 System, right?
    S1 & S2.
    Where S1 has BSP Application (Ex:/ FormRegistration)
    And S2 is where you control the user and Function Module.
    Do you put, generic user for all BSP Service in System S1?
    You can create another BSP Application in System S1 (Ex:/ CallingFM)
    but this time don't put default user in BSP Service.
    And from BSP Application FormRegistration, you create 1 button to call the BSP Application CallingFM.
    I will give you sample code:
    FormRegistration: address:http://systemS1.sap.com/FormRegistration/page1.htm
    HTML Part:
    ===========
    <HTML>
    <input type="button" value="Register the user" onclick="submitUser();">  
    <script>
       function submitUser(){
           document.forms[0].action = 'http://systemS1.sap.com/CallingFM/page1.htm';
           document.forms[0].target = '_new';
            //it will open new window, just put it empty if you don't want to open new window.
           document.forms[0].submit();
    </script>
    </HTML>
    Now, when user click Button "Register the user" it will open the new window.
    But because it doesn't allow you to using default user, it will prompt user id and password.
    After that it will submit the data to CallingFM
    Now in CallingFM we already have the sy-uname = user-B.
    CallingFM: address-> http://systemS1.sap.com/CallingFM/page1.htm
    OnInputProcessing Part:
    =================
    call function 'zcreate_user' destination 'S2'
    Why you need CallingFM BSP application? because you need to re-assign sy-uname in S1 from default user with user-B ID, and use it to connect to System S2, S3, etc.
    Please note: SM59 and User Id must be set before this.
    Because when you call RFC from other destination, SAP will refer to Logon setting in SM59 for that destination.
    Hope this will help you.

  • 'Classic' RFC library - password limited for rfc calls ?

    Hi ,
    we are using the 'classic'  RFC library to connect  to SAP for calling RFC function modules. Due to the fact that there are often older SAP systems involed, we use only passwords with 8 digits. But now we have the requirement to use passwords for the rfc user with more than 8 digits.  According to my todays knowlede, the password is limited to 8 digits with the standard rfc lib.
    Can the newer SAP NW RFC lib handle a password with more than 8 digits ?
    But  am i right that the SAPNW RFC lib is unable to handle rfc calls with opening a SAPGUI ?
    thx
    Heike

    Hi,
    thank you for your answer!
    I have investigated something new yesterday:
    I thought at the beginning, that the problem just occurs, when the system work processes are reached. The system has for example set up 15 dialog processes and the external server is calling the function 20 times in parallel. Then we normally need 5 dialog processes more. The system is taking then all 15 dialog processes and the locks got stucked.
    That means, that I´ll maybe only get 4 or 5 uploads, which have really been updated the tables. All the others couldn´t get the table locked for their process.
    But if I now let the server call the function just about 13 times in parallel, nearly all uploads have been updated the table!
    From my point of view, the lock from SAP gets stucked, when the limit of dialog processes is reached. It´s not working in the right way anymore...
    The same is happening, when you set up in the system, that only 10 work proecesses can be used by RFC. If I have more than 10, it´s going to be critical with the locks....
    WEIRD!
    Can anybody help me out of trouble?
    Thank you!

  • XML pay load for RFC call in java mapping

    Hi,
    I searched in many forums about the payload to be given for RFC Lookup from a functional module,but i think i am not able to get it correct.
    Can any one please give me the exact structure of XML Payload to be sent while invoking the function module via RFC LOOKUP
    Say i have 2 import parameters(input1,input2) and one output(output1)......
    Thanks in advance,
    H.L.Babu

    >
    hlbabu123 wrote:
    > Hi,
    > I searched in many forums about the payload to be given for RFC Lookup from a functional module,but i think i am not able to get it correct.
    >
    > Can any one please give me the exact structure of XML Payload to be sent while invoking the function module via RFC LOOKUP
    >
    > Say i have 2 import parameters(input1,input2) and one output(output1)......
    >
    > Thanks in advance,
    > H.L.Babu
    have a look at this document - https://www.sdn.sap.com/irj/scn/index?rid=/library/uuid/a03e7b02-eea4-2910-089f-8214c6d1b439&overridelayout=true
    in case u still have issues do get back

  • Best approach for RFC call from Adapter module

    What is the best approach for making a RFC call from a <b>reciever</b> file adapter module?
    1. JCo
    2. Is it possible to make use of MappingLookupAPI classes to achieve this or those run in the mapping runtime environment only?
    3. Any other way?
    Has anybody ever tried this? Any pointers????
    Regards,
    Amol

    Hi ,
    The JCo lookup is internally the same as the Jco call. the only difference being you are not hardcoding the system related data in the code. So its easier to maintain during transportation.
    Also the JCO lookup code is more readable.
    Regards
    Vijaya

  • ROLEs for RFC call

    Hi all,
       Is there any specific role, that should be assigned to the USER, so that he can make RFC calls to BAPIs.
        Or by default any USER can make the RFC calls to the BAPIs. For example, I am writing a Java/JCO appliation to call BAPIS. The current user I am using has all the permissions (I guess).
    Thanks,
    Nagarjuna.

    Your basis admin should be able to tell you.  I know that it would be included in SAPALL.  I can't really say, because it can very from system to system.
    Regarsds,
    Rich Heilman

  • Message mapping transformation error for RFC calls

    Hi,
    I am having a weird problem. recently client migrated the server and we started getting all possible errors in XI which we are able to fix. Now we have a strange problem in quality system alone where the bapi calls are made from QA11 and MIGO. The bapi call from MIGO is sucessfull but from QA11 it fails with below error
    com.sap.aii.utilxi.misc.api.BaseRuntimeException
    thrown during application mapping
    com/sap/xi/tf/_MP_RFC_PROXY_GOODS_RECEIPT_:
    RuntimeException in Message-Mapping transformatio~
    I checked in development system and production where it is sucessfull but in quality its failing. I checked the cache and refreshed for confirmation and checked the trace and log files but couldt find any solution. The call made from a test report is also sucesfull but only bapi calls from QA11 are failing.
    Note: i am using same bapi in MIGO and QA11 and the integration is same as well. There is no difference in data between 2 transaction just the trigerring point is differenct.
    I tested my message mapping, interface mapping and configuration as well with sample payload and they are working fine.
    I checked SDN and saw that similar issue is faced by others but no solution is provided.
    Regards,
    Jayaram
    Edited by: JAYARAM MAGANTI on Jun 9, 2009 1:14 PM

    Hi all,
    Has anyone ever faced this issue?
    i tried all the options that i think of and as a last attempt even restarted XI engine though it makes no sense. but still i am having the same issue.
    If anyone had come across similar kindly update the solution
    Jayaram

  • Target system(Destination) for RFC call ?

    Need some help in calling an RFC for xi interface.
    For triggering the data in to xi , RFC needs to be called. This RFC can be called using an ABAP Program / report . BUT inorder to call that RFC a Destination / Target system needs to be defined . Even though RFC destinations can be managed by transaction SM59 what will be the target system for calling this RFC in a generic sense?
    Like what destination i should be expecting this code : ?
    REPORT  Z_TEST.
    CALL FUNCTION 'ZFunctest' destination ????
    Please suggest
    Krishna

    Yes i now understand the scenario : well is this statment correct ?
    When we say like this :
    CALL Function 'ZTEST' Destination SIDCLNT015
    does this mean ZTEST should be there in destination system ? which means the RFC i am writing should be there on xi systems whose system id is SID ?
    As i heard some where that ZTEST should be there on targetsystem i call for ?
    Please suggest
    Krishna

  • A problem about configuring an endpoint for RFC in GP

    Hi, All.
    I tried to implement a RFC CO in my gp process.
    So I have to configure the endpoint in GP.
    When I configured it , I got an error messag
    "Error occurred while trying to connect: A client allocated from pool 660ALEREMOTEENgwmis-PUBLICsaphrdHRD100 cannot be disconnected directly. Please, use JCO.releaseClient(JCO.Client) instead".
    Can anyone do me a favor to tell me how can I deal with this?
    Thanks a lot.

    Hello Dai,
    you only have to (eventually) change the config.xml when you upgrade the Workflow engine. So if you install the workflow for the first time there is no need to change.
    If you have to change it and the "Edit workflow configuration file" is not working properly (In my case it is working?!) you could edit the config file manually. This file can be found in the Workflow dir (standard path is: "Program FilesSAPIdMworkflowconfigs"). I
    In my case the config.xml looks like that:
    Regarding your second question. If you follow the installation guide everything should work fine.
    I hope I could help you.
    BR
    Jörn Kaplan

  • Packing how do u configure in sap for any material

    Pls let me know
    1.The process of packing for any material in sap
    2.If a project is going live on 1/06/07 and if delivery , billing takes place in the legacy system on 30 and 31/05/07 how do u activiate it in the prod system
    3.what is the exact role of migo and miro process in third party sales

    Process of packing
    Path: IMGLogestics executionshipping--packing
    1)  Define Number ranges for Handling Units
         Here we define the number ranges for packing the units.
    2) Packing control by item categories:
        Here we define if the items categories that we use can be packed or not.
    3) Define requirements for Packing in the delivery
        Here the requirement for packing is set. We are using std requirement. We can create our own requirement for example saying that the packing is not possible if credit block exists.
    4) Define packing materials
    Here we define the packing materials that we use. the material master for  materials must be created and the material type is VERP. In the sales: general/ plant view in packing material data the corresponding packing material has to be enterd in the packing material type field. Ex: you create packing material Z003 and call it wooden box, then you must enter Z003 in the material masters sales: general plant view in the packing material type field.
    5) Define material group for packing material
    This group has to be mentioned in the material master of all the materials that have to be packed. Ex You define a material group grp1, then you must mention this in the material master sales: general plant view in the packing mat grp pack matls field.
    6) Define Allowed Packaging Materials
    Here we define all the materials that are allowed for packing along with the respective mat group. Ex: You have created three packing materials (step 4)
    a) z001: Plastic trays
    b) z002: corrugated box
    c) z003: wooden box
    you have also created a packing material group grp1 (step 5)
    Now you must assign z001, z002, and z003 to the packing group grp1

  • Where used for RFC calls to different system

    Hi,
    I want to change the interface of a function module which exists in our XI system.
    The function is called from R/3 in different places and hence will need to be changed in each location.
    Is there an easy way of determining all the different calling points?
    The only way I can see would be to run a text search utility against the code.
    Thanks,
    Alan

    You cannot user SE37 and whereused list for this. due RFC available in XI and you need to check for R/3 for whereused points
    Try to run the program RS_ABAP_SOURCE_SCAN and in the search string put your function module name and execute
    ( if it is a custom function module search. in the search pattern use all custom package names)
    a®s
    Edited by: a®s on Jul 14, 2008 9:24 AM

  • Why poor WCF performance for first calls?

    I'm seeing some weird WCF call timings that I can't explain, and it is causing some real issues in my application. My WCF service calls seem to be taking hundreds of milliseconds if not seconds longer than they should.
    I've set up a simple SL5 project hosted in a web app project just to reduce the variables, and I still see terrible timings.
    I've got a very simple WCF service call, and I'm using ClientBase to instantiate the service instance, then I'm calling the service in a tight loop 30 times (asynchronously).
    The problem is that the first handful of calls take extremely long, according to the IE F12 tools. I'm seeing network times of between 500ms and 2000ms. After that, all of the service call times drop down below 100 ms. The problem for me is that,
    when I am just calling the service once in an application, I am seeing these initial delays, meaning every time I call the service it tends to take a really long time. I only did the tight loop test to see if things get better over time, which they do.
    I would imagine it is doing something like establishing the initial channels, and that is what is taking the hit, and then calls after that just reuse them, but is there anyway to reduce that initial hit? Adding tons of extra time to each of my
    calls in the real app is killing my performance.
    Here is a screenshot of F12 with the call results. You can see the first bunch of calls take an extremely long time, then everything gets nice and quick after:
    Here is the calling code in the test app:
    Private Sub TestWcfClientBase()
    Dim client = ServicesCommon.GetService()
    client.Proxy.BeginGetCurrentUser((AddressOf OnGetUserCompletedCommon), Nothing)
    End Sub
    Public Shared Function GetService() As ServiceClient(Of IServiceAsync)
    Dim service As New ServiceClient(Of IServiceAsync)("IServiceAsyncEndpoint")
    Return service
    End Function
    Public Class ServiceClient(Of T As Class)
    Inherits ClientBase(Of T)
    Implements IDisposable
    Private _disposed As Boolean = False
    Public Sub New()
    MyBase.New(GetType(T).FullName)
    End Sub
    Public Sub New(endpointConfigurationName As String)
    MyBase.New(endpointConfigurationName)
    End Sub
    Public ReadOnly Property Proxy() As T
    Get
    Return Me.Channel
    End Get
    End Property
    Protected Sub Dispose() Implements IDisposable.Dispose
    If Me.State = CommunicationState.Faulted Then
    MyBase.Abort()
    Else
    Try
    Catch
    End Try
    End If
    End Sub
    End Class
    The client config is as follows:
    <system.serviceModel>
    <bindings>
    <basicHttpBinding>
    <binding
    name="NoSecurity"
    closeTimeout="00:10:00"
    openTimeout="00:01:00"
    receiveTimeout="00:10:00"
    sendTimeout="00:10:00"
    maxBufferSize="2147483647"
    maxReceivedMessageSize="2147483647"
    textEncoding="utf-8">
    <security mode="None" />
    </binding>
    </basicHttpBinding>
    </bindings>
    <client>
    <endpoint
    name="IServiceAsyncEndpoint"
    address="http://localhost/TestService.svc"
    binding="basicHttpBinding"
    bindingConfiguration="NoSecurity"
    contract="Services.Interfaces.IServiceAsync" />
    </client>
    </system.serviceModel>
    Here is the stripped down service code:
    <AspNetCompatibilityRequirements(RequirementsMode:=AspNetCompatibilityRequirementsMode.Allowed)>
    <ServiceBehavior(InstanceContextMode:=InstanceContextMode.PerCall)>
    Public Class TestProxy
    Implements IServiceAsync
    Public Function GetCurrentUser() As WebUser Implements IServiceAsync.GetCurrentUser
    Dim user As New WebUser
    With user
    .User_Name = "TestUser"
    End With
    Return user
    End Function
    End Class
    And here is the service config:
    <system.serviceModel>
    <serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true"/>
    <bindings>
    <basicHttpBinding>
    <binding name="NoSecurity" closeTimeout="00:10:00" openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:10:00" maxBufferSize="2147483647" maxReceivedMessageSize="2147483647" textEncoding="utf-8">
    <readerQuotas maxDepth="32" maxStringContentLength="2147483647" maxArrayLength="2147483647" maxBytesPerRead="4096" maxNameTableCharCount="16384"/>
    </binding>
    </basicHttpBinding>
    </bindings>
    <behaviors>
    <serviceBehaviors>
    <behavior name="TestProxyServiceBehavior">
    <serviceMetadata httpGetEnabled="true"/>
    <serviceDebug includeExceptionDetailInFaults="false"/>
    </behavior>
    </serviceBehaviors>
    </behaviors>
    <services>
    <service behaviorConfiguration="TestProxyServiceBehavior" name="TestProxy">
    <endpoint address="" binding="basicHttpBinding" bindingConfiguration="NoSecurity" contract="Services.Interfaces.IService" />
    <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/>
    </service>
    </services>
    </system.serviceModel>

    Hi ChrisMikeC,
    Based on your description and config file, it seems that you host your WCF Service in IIS and you try to consume this WCF Service in a SL5 project, if I do not misunderstand you, in my mind when we are hosting our WCF service in IIS, there is a high
    cost for the first call. On the first call to our WCF service, IIS must compile our service. Then IIS must construct and start the service host, so it will be slow in the first call. For more information about how to improve the time for the first call, please
    try to refer to
    this article. Meanwhile please try to host your WCF Service in Windows Activation Services or Windows Service in where you will have greater control on the service host startup.
    Besides, since your SL5 project hosted in a web app, then in my mind ASP.NET applications always takes longer in first call because it includes JIT compilation step, and ocne the code is compiled, all the calls thereafter are faster than first one, so please
    try to use the Console application or a Windows Forms appliction to test if the time can be slow down.
    Best Regards,
    Amy Peng
    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click
    HERE to participate the survey.

Maybe you are looking for