RFC to XML-RFC Parsing issue in RFC Adapter as Sender

Hi all,
I tried to use RFC adapter as a sender. The scenario I am trying to achieve is R3 -> RFC Adapter Sender --> BPM --> RFC Adapter Receiver --> SAP Auto-ID system.
The reason to use two RFC adapter and BPM is to log the request message if the RFC call fails. Everything works as expected, except the RFC Adapter Sender.
The RFC I am calling has an input table. The input data I use works fine if I call it via SE37 or remotely from another SAP system. However, if I call it via RFC adapter, when XI parses the data into RFC-XML format, the input data is all messed up.
DATA: BEGIN OF ID_STR,
        ID_VERSION(8)       TYPE C,
        ID(96)              TYPE C,
        ELEMENT_NAME(50)    TYPE C,
        ELEMENT_VALUE(128)  TYPE C,
      END OF ID_STR.
DATA: it_id LIKE TABLE OF ID_STR,
      ls_id LIKE ID_STR.
ls_id-ID_VERSION = 'EPC_1.30'.
ls_id-ID = '30340242206DC3C00000000A'.
ls_id-element_name = 'BATCH_ID'.
ls_id-element_value = 'BATCH001'.
APPEND ls_id TO it_id.
CALL FUNCTION '/AIN/UI_MOBILE_MSG_SEND'
  IN BACKGROUND TASK
  DESTINATION  'RFC_UPDATEAII'
  EXPORTING
    IV_BUSINESS_PROCESS       = '09'
    IV_COMMAND                = 'DO'
    IV_ACTION_TYPE            = 'APL2'
    IV_PRT_ID                 = '31140242200000000F000000'
    IV_DEVGRP_EXTID           = 'MOBILE'
  TABLES
    IT_ID                     = it_id
  commit work.
And the parsed RFC-XML message is:
<?xml version="1.0" encoding="UTF-8" ?>
<rfc:_-AIN_-UI_MOBILE_MSG_SEND
xmlns:rfc="urn:sap-com:document:sap:rfc:functions">
<IV_ACTION_TYPE>APL2</IV_ACTION_TYPE>
<IV_BTD_EXTID />
<IV_BTD_TYPE />
<IV_BUSINESS_PROCESS>09</IV_BUSINESS_PROCESS>
<IV_COMMAND>DO</IV_COMMAND>
<IV_DEVGRP_EXTID>MOBILE</IV_DEVGRP_EXTID>
<IV_LOC_EXTID />
<IV_LOC_TYPE />
<IV_PRT_ID>31140242200000000F000000</IV_PRT_ID>
<IV_PRT_ID_VERSION />
<IV_REASON_CODE />
<IV_UNAME/>
<ET_RETURN />
<IT_ID>
<item>
<ID_VERSION>EPC_1.30</ID_VERSION>
<ID>206DC3C00000000A BATCH_ID</ID>
<ELEMENT_NAME />
<ELEMENT_VALUE />
</item>
</IT_ID>
</rfc:_-AIN_-UI_MOBILE_MSG_SEND>
You can see the data in the table is all wrong, it should be:
<IT_ID>
<item>
<ID_VERSION>EPC_1.30</ID_VERSION>
<ID>30340242206DC3C00000000A</ID>
<ELEMENT_NAME>BATCH_ID</ELEMENT_NAME>
<ELEMENT_VALUE>BATCH001</ELEMENT_VALUE>
</item>
</IT_ID>
The calling system is a 4.6C non-unicode system, and the destination system is a unicode system (this does not matter since the first part of the integration is between R3 and XI). There is no config found on R3 side to specify non-unicode because it is a rather old system. In XI RFC Adapter config, I checked non-unicode checkbox (I also tested it with this unchecked, but still the same issue).
Have any of you seen this problem and how you resolve it?
Thanks a lot for your help!
Regards,
Hart

Hi Hart
long time no seen - hope you remember me
>The reason to use two RFC adapter and BPM is to log the request message if the RFC call fails
there is an easy way (guess max 3-4 hours) to solve all of your issues
and get rid of a BPM
use IDOC - XI - ABAP Proxy
then you will have IDOC and ABAP Proxy that always log the message on both ends (and you can restart ABAP proxies easily in AII - and every AII supports ABAP proxies) + you get rid of a BPM as it's not necessary as far as I understand (as it's asyn communication right?)
maybe you can go this way and IDOCs always work...
good luck,
Regards,
Michal Krawczyk
http://mypigenie.com XI/PI FAQ

Similar Messages

  • XML Document parsing issue

    Hello I am doing some SOAP XML stuff and I am having an issue that hopefully I can get some help with.
    Is XML like this valid to do in a SOAP message?
    <prompt>1 &_lt_; 0? <prompt>It's suppose to represent "1 < 0?"
    * the forum formatter seems to eat up my encoded text and transofrms it into acutal "<" so I am placing underscores "_" everywhere to keep the text. so above is actually without underscores
    From what I've read I think it is. I have text like this transported as part of the overall SOAP message to my client from the server.
    In my code I do:
    // Create an instance of the DocumentBuilderFactory
    DocumentBuilderFactory documentFactory = DocumentBuilderFactory.newInstance();
    // Get the DocumentBuilder from the factory
    DocumentBuilder builder = documentFactory.newDocumentBuilder();
    Document doc = builder.parse(inputStream);
    ...inputStream is an InputStream (specifically ByteArrayInputStream) containing the XML.
    The issue I am having is that wherever I have an '&' (such as "&_lt_;" or "&_gt_;" or "&" etc...) the parsing seems to get cut off and the rest of the string doesn't seem to get parsed. So the above string "1 &_lt_; 0?" ends up being "1 ".
    Also is there an easy way to get back or rebuild the XML into a string from a Document object? I would really like to do that right after I do the parse method and see if the XML data that the Document object has is the same as what's in the inputStream (which is "1 &_lt_; 0?").
    Any input you can provide is much appreciated. Thanks,
    Latem

    Hello I am doing some SOAP XML stuff and I am having an issue that hopefully I can get some help with.
    Is XML like this valid to do in a SOAP message?
    <prompt>1 &_lt_; 0? <prompt>It's suppose to represent "1 < 0?"
    * the forum formatter seems to eat up my encoded text and transofrms it into acutal "<" so I am placing underscores "_" everywhere to keep the text. so above is actually without underscores
    From what I've read I think it is. I have text like this transported as part of the overall SOAP message to my client from the server.
    In my code I do:
    // Create an instance of the DocumentBuilderFactory
    DocumentBuilderFactory documentFactory = DocumentBuilderFactory.newInstance();
    // Get the DocumentBuilder from the factory
    DocumentBuilder builder = documentFactory.newDocumentBuilder();
    Document doc = builder.parse(inputStream);
    ...inputStream is an InputStream (specifically ByteArrayInputStream) containing the XML.
    The issue I am having is that wherever I have an '&' (such as "&_lt_;" or "&_gt_;" or "&" etc...) the parsing seems to get cut off and the rest of the string doesn't seem to get parsed. So the above string "1 &_lt_; 0?" ends up being "1 ".
    Also is there an easy way to get back or rebuild the XML into a string from a Document object? I would really like to do that right after I do the parse method and see if the XML data that the Document object has is the same as what's in the inputStream (which is "1 &_lt_; 0?").
    Any input you can provide is much appreciated. Thanks,
    Latem

  • XML file parse issue

    I have a requirement to print <attribute-override> and <column> in a spreadsheet.
    My xml file is as
    <?xml version="1.0" encoding="UTF-8"?>
    <entity-mappings xmlns="http://www.eclipse.org/eclipselink/xsds/persistence/orm" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.eclipse.org/eclipselink/xsds/persistence/orm http://www.eclipse.org/eclipselink/xsds/eclipselink_orm_2_4.xsd">
      <entity class="com.ofss.fc.domain.account.entity.accountcreditmatrix.CreditMetricDetails">
        <table name="FLX_AC_ACCT_CREDIT_MATRIX_DTLS"/>
        <attributes>
          <embedded-id attribute-type="com.ofss.fc.domain.account.entity.accountcreditmatrix.CreditMetricDetailsKey" name="key">
            <attribute-override name="accountId">
              <column name="ACCOUNT_ID"/>
            </attribute-override>
            <attribute-override name="accountType">
              <column name="ACCOUNT_TYPE"/>
            </attribute-override>
            <attribute-override name="effectiveDate">
              <column name="EFFECTIVE_DATE"/>
            </attribute-override>
            <attribute-override name="matrixIdvalue">
              <column name="MATRIX_ID_VALUE"/>
            </attribute-override>
            <attribute-override name="classification">
              <column name="Classification"/>
            </attribute-override>
          </embedded-id>
          <embedded attribute-type="com.ofss.fc.domain.account.entity.accountcreditmatrix.CreditMetric" name="creditMetric">
            <attribute-override name="metricType">
              <column name="METRIC_TYPE" unique="false"/>
            </attribute-override>
            <attribute-override name="metricValue">
              <column name="METRIC_VALUE" unique="false"/>
            </attribute-override>
          </embedded>
          <embedded attribute-type="com.ofss.fc.domain.account.entity.accountcreditmatrix.RiskScore" name="riskScore">
            <attribute-override name="scoreType">
              <column name="SCORE_TYPE" unique="false"/>
            </attribute-override>
            <attribute-override name="otherScoreType">
              <column name="OTHER_SCORE_TYPE" unique="false"/>
            </attribute-override>
            <attribute-override name="scoreCardExternalReferenceNo">
              <column name="SCORE_EXTR_REF_NO" unique="false"/>
            </attribute-override>
            <attribute-override name="ratingModel">
              <column name="RATING_MODEL" unique="false"/>
            </attribute-override>
            <attribute-override name="ratingStatus">
              <column name="RATING_STATUS" unique="false"/>
            </attribute-override>
            <attribute-override name="riskGrade">
              <column name="RISK_GRADE" unique="false"/>
            </attribute-override>
            <attribute-override name="scoreCardIndex">
              <column name="SCORE_CARD_INDEX" unique="false"/>
            </attribute-override>
            <attribute-override name="score">
              <column name="SCORE" unique="false"/>
            </attribute-override>
          </embedded>
        </attributes>
      </entity>
    </entity-mappings>
    I have managed to write the code as
    package xmlexcel;
    import org.apache.poi.hssf.usermodel.*;
    import java.util.ArrayList;
    import java.awt.List;
    import java.io.*;
    import java.util.ArrayList;
    import javax.xml.parsers.DocumentBuilder;
    import javax.xml.parsers.DocumentBuilderFactory;
    import javax.xml.parsers.ParserConfigurationException;
    import org.xml.sax.SAXException;
    import org.apache.poi.hssf.usermodel.HSSFCell;
    import org.apache.poi.hssf.usermodel.HSSFRow;
    import org.apache.poi.hssf.usermodel.HSSFSheet;
    import org.apache.poi.hssf.usermodel.HSSFWorkbook;
    import org.w3c.dom.Document;
    import org.w3c.dom.Element;
    import org.w3c.dom.Node;
    import org.w3c.dom.NodeList;
    public class XMLconvertExcel {
      private static File xmlDocument;
        private static NodeList e;
        int a;
      public void generateExcel(File xmlDocument) {
      try {
      HSSFWorkbook wb = new HSSFWorkbook();
      HSSFSheet spreadSheet = wb.createSheet("spreadSheet");
      spreadSheet.setColumnWidth((short)0,(short) (256*25));
      spreadSheet.setColumnWidth((short)1,(short) (256*25));
      spreadSheet.setColumnWidth((short)2,(short) (256*25));
      spreadSheet.setColumnWidth((short)3,(short) (256*25));
      DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
      DocumentBuilder builder = factory.newDocumentBuilder();
      Document document = builder.parse(xmlDocument);
      NodeList nList = document.getElementsByTagName("attributes");
      document.getDocumentElement().normalize();
      //a=nodelist.getLength();
      //e = printStackTrace();
      //System.out.println("I am here " +e);
             System.out.println("Root element :" + document.getDocumentElement().getNodeName() + " nlist length  " +nList.getLength());
             System.out.println("Node Type :" + document.getDocumentElement().getNodeType());
      HSSFRow row = spreadSheet.createRow(0);
      HSSFCell cell = row.createCell((short)0);
      cell.setCellValue("Entity");
      cell = row.createCell((short)1);
      cell.setCellValue("Table");
      cell = row.createCell((short)2);
      cell.setCellValue("Attribute");
      cell = row.createCell((short)3);
      cell.setCellValue("Column");
      HSSFRow row1 = spreadSheet.createRow(1);
      HSSFRow row2 = spreadSheet.createRow(2);
      HSSFRow row3 = spreadSheet.createRow(3);
      for (int i = 0; i < nList.getLength(); i++) {
      Node nNode = nList.item(i);
                 System.out.println("\nCurrent Element :"    + nNode.getNodeName());
                 switch {
      case 0:
      //cell = row1.createCell((short)0);
      //cell.setCellValue("Attribute");
      //trying from http://architects.dzone.com/articles/parsing-xml-using-dom-sax-and
      cell = row1.createCell((short) 2);
                    cell.setCellValue(((Element) (nList.item(0)))
                       .getElementsByTagName("attribute-override").item(0)
                       .getFirstChild().getNodeValue());
      break;
      case 1:
      //cell = row1.createCell((short)1);
      //cell.setCellValue("Table");
      cell = row1.createCell((short) 3);
      cell.setCellValue(((Element) (nList.item(0)))
      .getElementsByTagName("column").item(0)
      .getFirstChild().getNodeValue());
      break;
      case 2:
      cell = row1.createCell((short)2);
      cell.setCellValue("Attribute");
      cell = row1.createCell((short) 2);
      cell.setCellValue(((Element) (nodelist.item(2)))
      .getElementsByTagName("attribute-override").item(0)
      .getFirstChild().getNodeValue());
      cell = row1.createCell((short)3);
      cell.setCellValue("Column");
      cell = row1.createCell((short) 3);
      cell.setCellValue(((Element) (nodelist.item(3)))
      .getElementsByTagName("column").item(0)
      .getFirstChild().getNodeValue());
      break;
      default:
      break;
      //wb.write(arg1.getOutputPayload().getOutputStream());
      //Outputting to Excel spreadsheet
      FileOutputStream output = new FileOutputStream(new File("C:\\java_training\\com\\XMLtoExcel\\ormaccount.xls"));
             wb.write(output);
             output.flush();
             output.close();
      } catch (IOException e) {
      System.out.println("IOException " + e.getMessage());
      } catch (ParserConfigurationException e) {
      System.out.println("ParserConfigurationException " +e.getMessage());
      }catch (SAXException e) {
      System.out.println("SAXException " +e.getMessage());
      private String printStackTrace() {
      // TODO Auto-generated method stub
      return null;
      * @param args
      public static void main(String[] args) {
      File xmlDocument = new File("C:\\java_training\\com\\XMLtoExcel\\AccountCreditMatrixDetails.orm.xml");
      XMLconvertExcel excel = new XMLconvertExcel();
      excel.generateExcel(xmlDocument);
    Both the tags are not getting printed in separate columns.
    I have looked at
    http://www.javaworld.com/article/2076189/enterprise-java/book-excerpt--converting-xml-to-spreadsheet--and-vice-versa.html
    http://scn.sap.com/thread/3224533
    http://www.tutorialspoint.com/java_xml/java_dom_parse_document.htm
    The above URL shows example of simple xml.
    Please can I get assistance.

    I too received this error as I tried to run my first Windows 8.1 deployment. Per another post I commented out this line
    <IEWelcomeMsg>false</IEWelcomeMsg>
    from the IE section of the unattend.xml. I was then able to run my deployment. I do not see this line in your posting though.
    I referenced this link even though it was for Windows 7.
    http://social.technet.microsoft.com/Forums/en-US/c41a2b69-a591-4cd3-86ab-6a0f8a73b858/getting-windows-could-not-parse-or-process-the-unattend-answer-file-for-pass-specialize-with?forum=mdt
    Hope this helps someone.
    JayTheTech
    To clarify, I edited the unattend.xml file from from Deployment Share, not C:\Windows\Panther.
    DS\control\task sequence ID\unattend.xml
    JayTheTech

  • Altova XML Spy parsing issue

    I wonder if anyone can help.
    Pasted below is an standard WSDL file has generated by BPEL Designer. However, XML Spy wont validate it, reporting:
    "The file is not valid. Unexpected element 'plnk:PartnerLinkType' in element definitions"
    Can anyone help?
    many thanks
    Vince
    <?xml version="1.0"?>
    <definitions name="a"
    targetNamespace="http://www.a.com"
    xmlns:tns="http://www.a.com"
    xmlns:plnk="http://schemas.xmlsoap.org/ws/2003/05/partner-link/"
    xmlns="http://schemas.xmlsoap.org/wsdl/"
    >
    <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    TYPE DEFINITION - List of types participating in this BPEL process
    The BPEL Designer will generate default request and response types
    but you can define or import any XML Schema type and use them as part
    of the message types.
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
    <types>
    <schema attributeFormDefault="unqualified" elementFormDefault="qualified"
    targetNamespace="http://www.a.com"
    xmlns="http://www.w3.org/2001/XMLSchema">
    <element name="aRequest">
    <complexType>
    <sequence>
    <element name="input" type="string"/>
    </sequence>
    </complexType>
    </element>
    <element name="aResponse">
    <complexType>
    <sequence>
    <element name="result" type="string"/>
    </sequence>
    </complexType>
    </element>
    </schema>
    </types>
    <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    MESSAGE TYPE DEFINITION - Definition of the message types used as
    part of the port type defintions
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
    <message name="aRequestMessage">
    <part name="payload" element="tns:aRequest"/>
    </message>
    <message name="aResponseMessage">
    <part name="payload" element="tns:aResponse"/>
    </message>
    <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    PORT TYPE DEFINITION - A port type groups a set of operations into
    a logical service unit.
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
    <!-- portType implemented by the a BPEL process -->
    <portType name="a">
    <operation name="process">
    <input message="tns:aRequestMessage" />
    <output message="tns:aResponseMessage"/>
    </operation>
    </portType>
    <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    PARTNER LINK TYPE DEFINITION
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
    <plnk:partnerLinkType name="a">
    <plnk:role name="aProvider">
    <plnk:portType name="tns:a"/>
    </plnk:role>
    </plnk:partnerLinkType>
    </definitions>

    Alexander,
    There is a WSDL tutorial in User Manual of Altova XML Spy Help. Just go through that which gives you an idea of how to generate the WSDL file.
    Also go through this weblogs which may give some information:
    /people/siva.maranani/blog/2005/09/03/invoke-webservices-using-sapxi
    /people/siva.maranani/blog/2005/03/01/testing-xi-exposed-web-services
    ---Satish

  • XMLDocument and blank XML tag parse issue

    var xmlDoc:XMLDocument = new XMLDocument();
                    xmlDoc.ignoreWhite = false;
                    xmlDoc.parseXML("<Test> </Test>");
                    var decoder:SimpleXMLDecoder = new SimpleXMLDecoder(true);
                    var processObj:Object = decoder.decodeXML(xmlDoc);
                   trace( processObj.Test  );
    Result is comming as 0 instead of a blank space between the tags(<Test> </Test>).

    Hi,
    Here are two possible solutions :
    xmlelement("EXCEPTIONS",
      xmlforest(
        xmlforest(
          v1.exception_code as "EXCEPTION_CODE"
        , v1.exception_long_desc as "EXCEPTION_LONG_DESC"
        ) as "EXCEPTION"
    )or,
    xmlelement("EXCEPTIONS",
      case when v1.exception_code is not null
             or v1.exception_long_desc is not null
        then xmlelement("EXCEPTION",
               xmlforest(
                 v1.exception_code as "EXCEPTION_CODE"
               , v1.exception_long_desc as "EXCEPTION_LONG_DESC"
      end
    )

  • Mapping Exception Issue with RFC LookUp

    Hi,
    My scenario is Idoc To file, in my idoc user who created a purchase order filed is not there but in xml file i want the user who create that PO, for this i am using RFC LooUp. I want the user who created a purchase order.
    Graphical Mapping looks like below.
    Belnr-->User Defined Function--
    >UserName
    Please find the code bloew:
    String DBTABLE = "EKKO";
    String lookUpField = "ERNAM";
    String WHERE_CLAUSE = " EBELN "" = "" ' "a" ' " ;
    JCO.Repository mRepository;
    JCO.Client mConnection = JCO.createClient(
                   "500",
                    "RFCUSER",
                   "abc1234",
                   "EN",
                   "cxylo06",
                   "05");
    // connect to SAP
    mConnection.connect();
    // create repository
    mRepository = new JCO.Repository( "GenericRFCMappingLookup", mConnection );
    // create function template to select data from any table
    JCO.Function function = null;
    IFunctionTemplate ft = mRepository.getFunctionTemplate("RFC_READ_TABLE");
    function = ft.getFunction();
    // Obtain parameter list for function
    JCO.ParameterList input = function.getImportParameterList();
    // Pass function parameters
    // set import parameters table name and RFC
    input.setValue( DBTABLE, "QUERY_TABLE");
    input.setValue( "," , "DELIMITER");
    //Fill the where clause of the table
    JCO.ParameterList tabInput = function.getTableParameterList();
    JCO.Table inputTable = tabInput.getTable("OPTIONS");
    inputTable.appendRow();
    inputTable.setValue(WHERE_CLAUSE,"TEXT");
    mConnection.execute( function );
    //Find the position of the field that has to be lookedUp
    JCO.Table lookupFieldPos = function.getTableParameterList().getTable("FIELDS");
    int pos = -1;
    for (int i = 0; i < lookupFieldPos.getNumRows(); i++)
              lookupFieldPos.setRow(i);
              if (lookupFieldPos.getString("FIELDNAME").equals(lookUpField))
              pos = i;
    //Get the exact lookupvalue from the position obtained above
    JCO.Table valueSet = function.getTableParameterList().getTable("DATA");
    valueSet.setRow(0);
    String resultSet = valueSet.getString("WA");
    result.addValue(resultSet);
    mConnection.disconnect();
    I am not aware of java coding so kindly make necessary  modifications.
    Kindly suggest what changes i need to do to execute perfectly.
    Your help will be greatly apprecited.
    Regards,
    Venkat

    Hi Venkat,
         If you use the JCO connection to get the value from RFC, it would be a problem in futherly like when you move this interface DEV to Q, then you need to change the connection parameters to establish the JCO connection.Same in Production environment too.It is not advisable to do JCO lookup. Go for RFC lookup as the link given by Farooq.
    Create Reciever RFC communication channel and take the XML signature of u r RFC by importing that RFC under imported objects.Create an UDF, for this see the sample code which is exisitng in document to pass the Export parameter to RFC.
    In this way u r RFC channel establish the connection to R3 and your RFC will execute and return the value.U just need to change the Reciever RFC channel parameters respective of environment.
    Cheers
    Veera

  • NWDS import RFC interface for the structure issue??

    Hi Gurus,
    I'm working on the SAP NetWeaver BPM with NWDS 7.3 SP12 rite now and got confused about the RFC interface structure stuff.
    I have a mapping activity defined in the process and the receiver interface needs a RFC. So I go to "Process Modeling" -> "Services Interfaces", right click and choose "Import RFC",type the correct RFC/BAPI name connecting with the SAP ECC system. The issue is that when I finished importing the RFC, went to the "Data Types", the RFC interface namespace shows out but the structure shows seperately with individual segment, so the whole nested RFC interface structure messed up in parallel which is incorrect for the data object and output mapping for later process activities.
    Anyone has ran into such kind of issue or experience the same, any solution or suggestion?
    Thanks in advance,
    Rajesh

    William,
    Another two questions relates to NWDS BPM development:
    1. Sometimes after I import the service interface into NWDS, the structure displays differently from it defines in ESR, I mean the fields sequence. I dont know why
    2. Refer to your screenshot,
    Assume the occurence of node HEADER and item is (0..1), when I want to map a blank constant to them to generate the target structure, the editor not allows and display error which is very different with ESR mapping tool, could you please help to advise? Tons of thanks!
    Thanks a lot in advance,
    Rajesh

  • RFC to HTTP (Async) and HTTP to RFC (Async)

    Guys,
    I have one scenario.
    RFC need to be Executed (Async) to Fetch a XML file at one location.
    Say. www.onecompany.com/details.xml
    How should I Proceed.?
    Which adapter should I use HTTP or SOAP.
    Should I have combination of RFC to HTTP and the HTTP to RFC.
    Kind of confuse.
    Please help.
    BD.

    Ok,
    i am doing it in the way you suggested. (syncronous)
    i have following problems.
    1. How to configure the Reciver HTTP Adapter.
    2. What should I use in Address Type.
        HTTP Destination or URL Address.
    3. If I use HTTP Destination , The length of the field is very short to accomodate complete address.
    4. If I use URL address, what should I put in all the fields , like Target host, Service Number, path.
    I have URL , something like this, www.yahoo.com/exchangerates.xml
    I dont know what to put in Target Host, service name and host.
    Please help.

  • What is the use of t-rfc in ALE? compared to t-rfc, Qrfc is better and effi

    what is the use of t-rfc in ALE? compared to t-rfc, Qrfc is better and efficient?

    Hi Sunil,
    These are the types of RFC
    Asynchronous RFC (aRFC)
    Synchronous RFC (sRFC)
    Transactional RFC (tRFC)
    Queued RFC (qRFC)
    Parallel RFC (pRFC)
    Asynchronous RFC :
    This is used when you need to increase the performance of ABAP program by having system call more than one function module in parallel than forcing the program to wait for results .
    Transactional RFC
    This let you group one or more function module call together o tRFC LUW and ensure that fucnction module within LUW is called once . In contrast to aRFC and sRFC the tRFC belonging to tRFC LUW are executed in order .
    tRFC is always used if a function is executed as a Logical Unit of Work (LUW). Within a LUW, all calls are
    1.Executed in the order in which they are called
    2.Executed in the same program context in the target system
    3.Run as a single transaction: they are either committed or rolled back as a unit.
    Implementation of tRFC is recommended if you want to guarantee that the transactional order of the calls is preserved
    Asynchronous remote function calls (aRFCs) are similar to transactional RFCs, in that the user does not have to wait for their completion before continuing the calling dialog. There are three characteristics, however, that distinguish asynchronous RFCs from transactional RFCs:
    • When the caller starts an asynchronous RFC, the called server must be available to accept the request.
    The parameters of asynchronous RFCs are not logged to the database, but sent directly to the server.
    • Asynchronous RFCs allow the user to carry on an interactive dialog with the remote system.
    • The calling program can receive results from the asynchronous RFC.
    You can use asynchronous remote function calls whenever you need to establish communication with a remote system, but do not want to wait for the function’s result before continuing processing. Asynchronous RFCs can also be sent to the same system. In this case, the system opens a new session (or window). You can then switch back and for between the calling dialog and the called session
    RECEIVE RESULTS FROM FUNCTION Remotefunction is used within a FORM routine to receive the results of an asynchronous remote function call. The following receiving parameters are available:
    IMPORTING
    TABLES
    EXCEPTIONS
    The addition KEEPING TASK prevents an asynchronous connection from being closed after receiving the results of the processing. The relevant remote context (roll area) is kept for re-use until the caller terminates the connection.
    Hope this resolves your query.
    Reward all the helpful answers.
    Regards

  • RFC call failed : Error when opening an RFC connection

    Hi,
    As a result of "Start Data Collection" operation in the t-code RZ70, I have got this error.
    "RFC call failed : Error when opening an RFC connection"
    Others things are with success message.
    Regards,
    Bala Raja

    hi
    check this links
    http://help.sap.com/saphelp_nw04s/helpdata/en/9b/da0f41026df223e10000000a155106/frameset.htm
    http://help.sap.com/saphelp_nw04s/helpdata/en/9b/da0f41026df223e10000000a155106/frameset.htm
    also check Tcode: SLDAPICUST.
    run tcode SLDCHECK? any error?
    Thanks
    Rodrigo
    PS: If useful reward points

  • I changed RFC but Webdynpro java still using old RFC, why?

    Hi,
    I changed RFC but Webdynpro java still using old RFC, why?
    How can I solve this problem?(Wihtout resetting j2ee engine.)
    Thanks.

    Cemil,
    check whether cache invalidation tool is installed on your portal or not.
    go to system administration-system configuration-webdynpro console-invalidate ARFC cache
    or you can reimport model using another jco connection.
    check this link for more details
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/10465350-b4f5-2910-61ba-a58282b3b6df
    Thanks
    Bala Duvvuri

  • Bpel parsing issue with special characters...

    Hi All,
    We are integrating Oracle Sales Order information with OTM as Order Releases.
    For this we are sending the Sales Order in the form of clob from the procedure to the Bpel process.
    1. A PL/SQL procedure would send the Sales order XML as a CLOB.
    2.In the BPEL process , we are performing ora:parseXML() function on the clob obtained.
    3.A patch was installed on the BPEL SOA server:
    10.1.3.3.1 MLR#8, Patch#6906880 which was supposed to handle all the parsing activities at run time.
    4. But when ever any special character viz..; #,UNIT¿S etc the BPEL process is failing with a fault string due to Parsing error.
    5. Could you please provide us a workaround for solving this issue ASAP with all the special characters.
    I have provided a sample xml tag due to which the parsing is failing in the bpel process. here it is failing because it is not able to parse : UNIT¿S successfully...
    <SHIPPING_INSTRUCTIONS>
    **San Dieg UNIT¿S contact name is Jenny Haden 858-609-1170** 12/12/08
    **Updated Contact is ASHTON REYES 72-696-1525, hours are 830-5 only, N/S. Millyz DELIVERY
    CONTACT: ELLEN HILGER @ 248-932-9000: LINE 4.1 -TRIAL CONVERSION FROM ORDER # 25766204
    </SHIPPING_INSTRUCTIONS>
    is there some other bpel patch or some other workaround using which whatever input value comes in , the bpel is able
    to successully parse that through..
    we are stuck with this special character parsing issue as of now and go live is very near ...your help/inputs would be highly appreciated
    thanks

    Guys,
    I am new to OTM and SOA/BPEL architecture.
    Could you please suggest me in detail as how to integrate OTM with outside world using BPEL.
    Thanks,
    Kamleshwar

  • XML SAX parser that support  LexicalHandler

    Hello,
    I'm looking for an XML SAX parser that support a LexicalHandler.
    I have xml files that are not well formed, ie: (&, <, >, etc...) characters within tags and I need to ignore them.
    Anyone have a link to some opensource library ??
    Thanks,
    Samir

    Don't waste your time. Using a LexicalHandler isn't going to help with parsing malformed XML. You should get the person who produced those files to replace them with correct XML.
    PC&#178;

  • Parsing Issue in Filter For Date Format

    Hi Folks,
    I am having Parsing Issue on "Key Date" Object in Universe. See the Error and Code below for your review
    Error: Parse Failed: Exception: DBD, The value entered is not valid. It must adhere to one of the following formats.
    YYYYMMDD
    DD.MM.YYYYState:N/A
    Code:
    <OPERATOR VALUE="AND"><OPTIONAL><FILTER KEY="0I_DAYIN"><CONDITION OPERATORCONDITION="Between"><CONSTANT TECH_NAME="@Prompt('Day Interval From','A','Calendar Day\LovDay IntervalBase',mono,primary_key)"/><CONSTANT TECH_NAME="@Prompt('Day Interval To','A','Calendar Day\LovDay IntervalBase',mono,primary_key)"/></CONDITION></FILTER></OPTIONAL><FILTER KEY="0P_KEYDA"><CONDITION OPERATORCONDITION="Equal"><CONSTANT TECH_NAME="@Prompt('Key Date','D',,mono,free)"/></CONDITION></FILTER></OPERATOR>
    This universe is created by someone else and client need to modify it with a calendar but i did not modify it yet however its already giving me the hard time. Kindly advise, any kind of help will be appreciated
    Thanks

    Hi,
    With the information provided I cannot for sure get to the error but here is what I would check.
    Firstly, I was wondering if the 5th parameter in the @Prompt can be Primary_Key. I thought it would be either free or constrained.
    Secondly, please the LOV values for the @ prompt are being populated from 'Calendar Day\LovDay IntervalBase'. So I would check the date format being used there.
    Third, the To and From dates are alphaneumeric and not dates, so I am not sure how the comparision would happen.
    Hope this helps.
    Regards,
    Madhur

  • Using XDKs XML Schema Parser

    I want to parse an XML schema(XSD file) and extract the types from it, ComplexType etc. Does anyone know to even begin this. Ive managed to parse and any XML file sucessfully returning all element types,names and values using the DOM parser but cant seem to find suitable methods in the oracle.xml.parser.schema library. I have started along these lines
    XSDBuilder bob =new XSDBuilder();
    XMLSchema sch = (XMLSchema)bob.build(url);
    where URL is string referencing the xsd file. But after that all I can get is the targetnamespace using
    String display = sch.getSchemaTargetNS();
    Any help greatly appreciated.

    Srinivas,
    Thanks for the reply. But that is not my requirement.Suppose I have a schema representing the following xml
    <Student>
    <Name>ABC</Name>
    <Class>XYZ</Class>
    <Course>PQR</Course>
    </Student>
    When I parse the XML Schema representing the above XML, it should give me a Java object that represents this XML structure. (Similar to Document object that is obtained when we an XML is parsed)
    Hope this is more clear.

Maybe you are looking for