WCF Sap Solicit Response

I am making a rfc call to SAP using WCF SAP solicit response Adapter but I am not getting any node in response message.
This is my source schema which I am sending to SAP.
<?xml version="1.0" encoding="utf-8" ?>
- <ns0:ZPTM_RFC_GET_EMPVENDOR_INFO xmlns:ns0="http://Microsoft.LobServices.Sap/2007/03/Rfc/"xmlns:ns3="http://Microsoft.LobServices.Sap/2007/03/Types/Rfc/">
  <ns0:I_KTOKK>ZEMP</ns0:I_KTOKK>
  </ns0:ZPTM_RFC_GET_EMPVENDOR_INFO>
I am getting the following response :
<?xml version="1.0" encoding="utf-8"
?>
 <ZPTM_RFC_GET_EMPVENDOR_INFOResponsexmlns="http://Microsoft.LobServices.Sap/2007/03/Rfc/" />
In WCF SAP solicit response Adapter I am using the following SOAP binding:
        http://Microsoft.LobServices.Sap/2007/03/Rfc/ZPTM_RFC_GET_EMPVENDOR_INFO
Please provide me any help.

Hi Prakash,
Have you verified is there any record exist in the SAP system for your requested input .
I doubt there is nothing to be returned and the service behavior is normal.
Thanks
Abhishek

Similar Messages

  • WCF Custom - Solicit response port - System.ArgumentException: The provided URI scheme 'https' is invalid; expected 'http',

    Hi,
    BizTalk WCF Custom Adapter - is send in a solicit response port. It works with a http address.
    However, I need to point it to a Https location.
    I imported the bindings, and changed the address to https. I was able to re-import the bindings. The send port gets started. But, when we try send a message via the send port, it throws an error:
    Error Description: System.ArgumentException: The provided URI scheme 'https' is invalid; expected 'http'.
    Parameter name: via
    Any help is appreciated.
    Regards,
    Sharmishtha

    The error logs do not give any other information.
    Also, security is TransportCredentialOnly, with Basic - Client Credential Type.
    Regards,
    Sharmishtha
    Hi Sharmishtha,
    TransportCredentialOnly mode
    does not provide message integrity and confidentiality. It provides HTTP-based client authentication. You need to use either of the below security mode :
    Transport
    TransportWithMessageCredential
    Rachit
    Please mark as answer or vote as helpful if my reply does

  • How to handle empty Dats field received from SAP RFC response

    Hi All,
    I am invoking a SAP RFC which gives me a Dats field in response.
    A valid dats fields is successfully received by my pipelines.
    But when an empty Dats field is received, My pipeline fails and i get error.
    How to handle the empty Dats field from SAP

    Hi Anant,
    This is because the legacy SAP adapter accepted RFC messages with date field empty. In the new version, the same call results in an error. WCF-SAP adapter doesn't allow blank XML nodes.
    You need to use the below custom pipeline component as a workaround.
    Refer:
    Pipeline component for enabling legacy behavior in WCF-SAP adapter.
    Rachit
    Please mark as answer or vote as helpful if my reply does

  • BizTalk 2009 WCF-SAP Adapter Could not load file or assembly 'Microsoft.Adapters.SAP.SAPGInvoker...' one of its dependencies error

    Hello,
    I have a BizTalk Server 2009 running on Windows Server 2003 x64. I am installing WCF-SAP adapter and have done the following for the same. However, I am getting an error as mentioned below when I click on the Configure button of WCF-SAP adapter in send
    port. I would appreciate if anyone could let me know how to fix this error and make the WCF-SAP adapter working.
    TITLE: BizTalk Server 2009 Administration Console
    Exception has been thrown by the target of an invocation. (mscorlib)
    ADDITIONAL INFORMATION:
    Exception has been thrown by the target of an invocation. (mscorlib)
    Could not load file or assembly 'Microsoft.Adapters.SAP.SAPGInvoker, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. This application has failed to start because the application configuration is incorrect. Reinstalling
    the application may fix this problem. (Exception from HRESULT: 0x800736B1) (Microsoft.Adapters.SAP)
    This application has failed to start because the application configuration is incorrect. Reinstalling the application may fix this problem. (Exception from HRESULT: 0x800736B1)
    I have copied the following 32 bit & 64 bit unicode DLLs in SysWOW64 and System32 folders respectively.
    icudt30.dll
    icuin30.dll
    icuuc30.dll
    librfc32u.dll
    libsapu16vc71.dll
    libsapucum.dll
    Following r3dllinst DLLs are there in System32 folder.
    mfc42.dll
    mfc42u.dll
    mfc71.dll
    mfc71u.dll
    msvcp60.dll
    msvcp71.dll
    msvcp80.dll
    msvcr71.dll
    msvcr80.dll
    Following r3dllinst DLLs are there in SysWOW64 folder.
    mfc40.dll
    mfc40u.dll
    mfc42.dll
    mfc42u.dll
    mfc71.dll
    mfc71u.dll
    mfc80.dll
    mfc80u.dll
    msvcp50.dll
    msvcp60.dll
    msvcp71.dll
    msvcp80.dll
    msvcr71.dll
    msvcr80.dll
    I have the following softwares installed on the server.
    Microsoft Visual C++ 2008 Redistributable x64
    Microsoft Visual C++ 2008 Redistributable x86
    WCF LOB Adapter SDK (64-bit)
    BizTalk Adapter Pack 2.0 (64-bit)
    BizTalk Adapter Pack 2.0 (32-bit)
    The following bindings are also present in the machine.config under Framework\v2.0.50727\CONFIG and Framework64\v2.0.50727\CONFIG
    <system.serviceModel>
    <extensions>
    <bindingElementExtensions>
    <add name="sapAdapter" type="Microsoft.Adapters.SAP.SAPAdapterExtensionElement, Microsoft.Adapters.SAP, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
    </bindingElementExtensions>
    </extensions>
    <client>
    <endpoint binding="sapBinding" contract="IMetadataExchange" name="sap" />
    </client>
    </system.serviceModel>
    Thanks,
    Tarun

    Have you tried this?
    http://geekswithblogs.net/MoonWalker/archive/2013/07/17/could-not-load-file-or-assembly-microsoft.adapters.sap.sapginvoker.dll.aspx
    Morten la Cour

  • WCF-SAP vs SFTP Adapter

    Hi All,
    We've an existing interface that picks up IDocs from SAP using WCF-SAP adapter, these IDocs contain updates to data that are in turn subscribed by two other SAP systems via couple of Send Ports using the same WCF-SAP adapter. In production we've been facing
    performance issues with this design as when there are mass updates in SAP, they push up to 7 to 10K IDocs through, which BizTalk struggles with and that also creates issues for SAP as the queue is not read in quick time which starts building up and creates
    issues on the source system.
    Now one of the solution proposed for above problem is to use a file based adapter like FILE, SFTP etc. where SAP will publish IDocs as flat files, I believe that'll solve the problem of backlog building on SAP queue and SAP can continue to write files without
    impacting by BizTalk not picking them up but would it help in inside BizTalk performance as well? or we'll have to batch the files in using adapter properties (i think it works on SFTP adapter) say take in 100 files every 30 seconds? Any other solution which
    can speed this up?
    Thanks
    Syed

    I was just reading this
    Restrict the number files Picked up by BizTalk FTP Adapter msdn
    thread and it says
    "Not possible, the Maximum Files setting only controls how BizTalk creates the message batch
    to write them into SQL.  This also applies to the File adapters Number of messages in a batch"
    So , you need to implement some kind of controller pattern in your solution to manage this floodgate. 
    Have a read of
    How to implement Concurrent FIFO Processing in BizTalk technet wiki article, this for FIFO but this may give some idea to write a controller.
    Greetings,HTH
    Naushad Alam
    When you see answers and helpful posts, please click Vote As Helpful, Propose As Answer, and/or
    Mark As Answer
    alamnaushad.wordpress.com

  • How to handle idoc documents by BizTalk without WCF-SAP Adapter?

    Dear All,
    our company is no customer of SAP.
    But one partner company of us uses SAP Systems to generate business transactions like "INVOICE".
    Then they send us such a idoc-file per email.
    So I can not use the SAP-WCF Adapter by BizTalk (the download of SAP RFC SDK is constrained and only for customers) to generate a schema of such a flat file automatically.
    The second problem: I believe that only the WCF Adpater can validate the structure of the infomartion in inbound idoc files.
    Is there a way to solve this problem without using the WCF-SAP Adapter?
    Thanks in advance

    Actually I only need an idoc decoder and disassembler to import the information of the idoc file.
    Is there a special pipeline component by MS?

  • 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

  • WCF-SAP Unreleased Segments

    The adapter "WCF-SAP" raised an error message. Details "Microsoft.ServiceModel.Channels.Common.XmlReaderGenerationException: The segment or group definition E2IDB02003 was not found in the IDoc metadata. The UniqueId of the IDoc type is: IDOCTYP/3/PEXR2002//740.
    For Receive operations, the SAP adapter does not support unreleased segments.
    This is the error I get when the 2 segments below are in the SAP IDOC sent to BizTalk
    Here is the Generated schema that I receive from SAP when I use the wizard.
    Whenever I remove the segment from the SAP export the file processes successfully. I have been toying with this adapter a little over a week. When I remove the segment the message comes in as Typed XML and resolves to the proper schema.  
    When I change ReceiveIDocFormat to string and used xpath I get an error :
    Reason: Object reference not set to an instance of an object. 
    How can I modify the schema so that it matches what SAP is exporting? Every configuration I try has some type of error unless I remove the segments. Unfortunately the segments are important and cannot be removed from the final version. What are my options?

    The actual problem is that the IDOC you are receiving is containing unreleased segments and that's not
    supported, you should contact your SAP administrator to get this problem resolved.
    Alternatively, you can refer to his link for the workaround http://geekswithblogs.net/PsudoKnowledgeBase/archive/2011/02/06/conversion-of-biztalk-projects-to-use-the-new-wcf-sap-adaptor.aspx
    As mentioned in the link getting the raw xml data in string format is the only workaround within BizTalk.
    The error Object reference not set to an instance of an object could be because your XPath expression may not be correct.
    Rachit
    Please mark as answer or vote as helpful if my reply does

  • Issues with creating and sending BOM XML IDOC to SAP using 2010 WCF-SAP Adapter (without using Biztalk Server)

      I'm trying to replace an existing Biztalk 2006 Send BOM IDOC process, and completely remove Biztalk server from the equation.   The existing Bizatalk 2006 server receives an input BOM (Bill of Materials) flat file, and using a Biztalk Map (BM08),
    and Orchestration, generates an Idoc and sends it to SAP.
      In my replacement C# program, I'm using the 2010 WCF-SAP Adapter, and am trying to generate the BOMMAT03 XML IDOC it to SAP.  
      I generated the BOMMAT03 schema from SAP using the Add Adapter Service in VS 2010.  I was able to generate a BM08 XSLT from the existing BMO8 map in the current Biztalk 2006 process.  I am able to run a XSLT transform on the input BOM flat
    file, and generate an XML file from that.  
      However, I've run into a few issues.   First of which, is that the XML file that is generated from the XSLT transform is NOT the same schema as the BOMMAT03 schema expects.  It's somewhat similar, but different enough that I have to manually
    translate between the two in my code.  I've verified that both the original Bitztalk 2006 process and my replacement program use BOMMAT V3 from SAP.  Question--Is Biztalk 2006 server doing some other magic to turn that transormed XML into the BOMMAT03
    schema?    
     I ended writing code which translates the transformed XML into the BOMMAT03 schema (which is a strong typed XML IDOC at this point).
      However, when I try to send the BOMMAT03 XML IDOC, I get an exception "Object reference not set to an instance of an object."
                   idocClient.Send(idocData, ref sadapterTxGuid);
    idocData is of type BOMMAT03, and I've verified that the various fields are populated.  
      Any help is appreciated. 

    Well, putting in a MSDN subscription support ticket for Biztalk server actually helped with the issue.  They didn't find, or fix the issue directly.  But one of the examples (https://randypaulo.wordpress.com/tag/idoc/) they sent over, jogged my
    memory, and I realized in the code snippet below, I had accidentally deleted the 1st line.  Such a simple mistake, yet was easy to overlook.  The URL example is almost EXACTLY like my code, but without the transform and translation code to convert
    from input XML file to IDOC XML.  If someone is interested in that, let me know.    
    //Forgot the 1st line.  
    idocClient = new IdocBOMMAT03SIEIS_WED_BOMMAT03V3R700Client(binding, endpointAddress);
     idocClient.Send(idocData, ref sadapterTxGuid);
    For anyone else interested in knowing, you CAN send a strongly typed IDOC to SAP using C#.NET and the WCF SAP 2010 Adapter, using the IDOC Binding Client class you generated using the Add Adapter Service Reference in VS2010.  
    The one difference, which no one, not even the tech support from MS could tell me, was why the XSLT which I generated from the original map, did not transform the input BOM XML into the BOMMAT03 XML.  Instead, it transformed it into an intermediate
    XML, which resembled the BOMMAT03 IDOC XML, but still needed to be translated to the BOMMAT03 IDOC format.  
    The tech support person swore up and down that it should.  But I believe that something happens in Biztalk server, after the Mapping occurs, maybe in the Pipeline, which converts that
    intermediate XML into the final BOMMAT03 IDOC XML format.
    I do think that the examples are severely lacking in showing how to send a strong typed IDOC using C# and the WCF-SAP Adapter.  Even worse, the examples are completely lacking in how to actually generate a weakly typed IDOC.  They show how to send
    that weakly typed IDOC, but show me, or give me a class to be able to generate it.
    I realize that this is not quite the "recommended way" to do it, but in reality, not everyone wants or even needs a full Biztalk installation.   For some simple stuff like this, a C#.NET program and WCF-SAP adapter do the trick.  

  • WCF-SAP Adapter throwing errors after SAP Upgrade from ECC 5 to ECC6 Release 640 to 700

    Hello Everyone,
    We were able to communicate(Send and Receive Idoc's) to SAP via WCF-SAP Adapter in BizTalk 2010.
    SAP Servers were upgraded to ECC5 to ECC 6 and we started facing below issue communicating on send and receive both.
    I am aware that there is a hotfix available but that is more on the Receive Side from SAP. Nevertheless I installed the hotfix but issue still persists. Any suggestions will be highly appreciated.
    Microsoft.ServiceModel.Channels.Common.XmlReaderParsingException: The segment name is not valid for the IDOCTYP, Release, or CIMTYP. Segment name: E2EDP01006GRP   IDOCTYP: ORDERS05   
    Release: 700    CIMTYP: . Ensure that your message xml validates against the operation schema.
    Server stack trace:
       at System.Runtime.AsyncResult.End[TAsyncResult](IAsyncResult result)
       at System.ServiceModel.Channels.ServiceChannel.SendAsyncResult.End(SendAsyncResult result)
       at System.ServiceModel.Channels.ServiceChannel.EndCall(String action, Object[] outs, IAsyncResult result)
       at System.ServiceModel.Channels.ServiceChannel.EndRequest(IAsyncResult result)
    Exception rethrown at [0]:
       at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
       at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
       at System.ServiceModel.Channels.IRequestChannel.EndRequest(IAsyncResult result)
       at Microsoft.BizTalk.Adapter.Wcf.Runtime.
    Thanks,
    Vikingss

    I am aware that there is a hotfix available but that is more on the Receive Side from SAP. Nevertheless I installed the hotfix but issue still persists. Any suggestions will be highly appreciated.
    For this issue, you can contact Microsoft support directly(http://support.microsoft.com).

  • Request Response Receive Port and Solicit Response Send Port

    Can anyone give me some idea how to bind Request Response Receive Port and Solicit Response Send Port with each other through TCP/IP adapter ??

    The binding of a Receive and Send Port has nothing to with the choice of Adapter.
    1) There is no out-of-the-box TCP/IP Adapter for BizTalk, but several 3rd. Party Adapters has been made, along with this one in CodePlex: http://tcpipbz2010.codeplex.com/
    2) Most people will use an Orchestration for binding a SR Send Port to a RR Receive Port. This may not be necessary though. All you need to do is have your Send Port subscribe to your Receive Port (by setting the Filter on the Send Port to "BTS.ReceivePortName
    == [The name of your Receive Port]". In this case, internal correlation will make sure that the response is routed back to the Receive Port.
    Morten la Cour

  • Retrieving(Inbound) IDOC from SAP Error WCF-SAP Adapter

    I am attempting to retrieve data from SAP using WCF-SAP Adapter. I used the wizard to retrieve the IDOCTYP(PEXR2002) and the appropriate docrel=740. Whenever I send the IDOC to BizTalk I receive the error below.  Anyone have insight to what could be
    the problem. BizTalk is not resolving the IDOC types properly.
    Also: I am using the schema in a flat file disassembler in the receive pipeline.
    Reason: Unexpected data found while looking for:
    'E2EDKA1003'
    'E2IDBL2000'
    'E2IDB02002'
    'E2EDL02'
    'E2EDL03'
    'E2IDLU5001'
    'E2IDPU1'
    'E2IDBW1'
    The current definition being parsed is E2IDKU5001GRP. The stream offset where the error occured is 1483. The line number where the error occured is 11. The column where the error occured is 0. 

    Hi Jordan ,
    This really happens when you receive untyped message from your SAP System .  Its been well described in below link 
    Receiving Idocs - getting the raw idoc data
    Better option here is to create a pipeline component which will be responsible for your message parsing or try something like below
    During the configuration of your one-way Receive Location using WCF-Custom, navigate to the Messages tab. Under the section "Inbound BizTalk Messge Body", select the "Path" radio button, and:
    (a) Enter the body path expression as:
    /*[local-name()='ReceiveIdoc']/*[local-name()='idocData']
    (b) Choose "String" for the Node Encoding.
    Thanks
    Abhishek

  • SAP - FTP - response back to SAP

    Is it possible to have a program from SAP trigger a scenario that will go through XI to an FTP site, pull in a CSV file.  The file will need to get pulled back into XI get converted to XML with file content conversion and then loaded into an SAP Ztable.
    Thanks
    Yudi

    Hi,
    This kind of scenario is possible with the help of BPM...as here two things are involved that the Program will trigger to send signal to start fetching data from csv file and send back to R/3.
    Thus You could either use any IDOC to send it as starting signal which will start the event in BPM..then you can read the data from FTP server by using Receive step and pass it to either proxy, Asynchronous RFC or as an IDOC to process further on R/3 side.
    Here IDOC will be sending as triggering point and will be async..so no errors or response would be expected..
    Thus indirectly it will involve two scenarios as one to trigger the process and 2nd one to read data from csv file and to pass to R/3 by IDOC, PROXY, RFC etc.
    Thanks
    Swarup

  • Not able to replace & special character in WCF service XML response

    Hi,
    I am trying to replace a string which is & with "&amp;". In the XML response, I m getting &amp;amp;
    I tried with "&amp;amp;" also, but still not working.
    Any suggestions will be helpful. thanks
    Regards,
    Harish
    Harish

    See webpage below.  The & needs to be replace with U+0026.
    http://en.wikipedia.org/wiki/List_of_XML_and_HTML_character_entity_references
    jdweng

  • BizTalk 2013 Synchronous scenario

    Hi
    Is there a sample of how to do a synchronous web service call using biztalk 2013 anywhere i can look at?
    Basically i need to call biztalk from a .Net web application, biztalk passes this onto SAP and the response message needs to go back to the web application.
    Thanks
    Riaz

    expose your schema as a service (this is what your .Net client will call) and create the associated receive port [the service endpoint]. Create a wcf SAP request-response port which will pass this request to SAP.
    Bind this send port (through filter) to the receive location and apply the MAP to transform from your request schema to the SAP service schema.
    If however you want to do additional processing which might not be possible through maps then convert this into an orchestration and expose the orchestration as a service.
    Regards.

Maybe you are looking for