Missing lines in an  XML message

Hello,
The scenario is as follows
[SAP] --> Idoc --> [XI] --> XML --> [Mail]
The XML structure is imported as an external definition.
In the created XML message the following lines are missing:
mlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.ean.nl Order.xsd".
Does someone have any idea how I can add these lines ?
Thanks.
Regards,
Marco van Iersel

Hello Sridhar,
Thanks for the quick reaction, only I don't think this is the solution.
I'll give some more info.
Now the beginning of the message looks like this:
<?xml version="1.0" encoding="UTF-8"?>
<Order>
  <OrderHeader>
    <OrderVersion>1.1</OrderVersion>
And it should be like this:
<?xml version="1.0" encoding="UTF-8"?>
<Order xmlns="http://www.ean.nl" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.ean.nl Order.xsd">
  <OrderHeader>
    <OrderVersion>1.1</OrderVersion>
How can I do this?
Kind regards,
Marco

Similar Messages

  • Multiple lines in a Output XML message

    Hi all,
         I am currently implimenting a simple scenario of creating a file in a particular format using XI.The working scenario is that we get an XML message from BO which will be mapped to the required format of the file.But for testing we are using an hardcoded XML file as the incoming message to XI.
         But there is a problem I am facing. The incoming XML message will contain multiple information and this has to be mapped to a header information followed by items.Like for example I have a payment document which has paid some 5 invoices.The incoming XML message will have this information and what I need in the output is to have the invoice information in 5 different lines.
    For eg - Assume I have the following structure for incoming message
    REGUH
    REGUP
    ....and so on
    Here for every REGUH entry we can have mulitple REGUP and also we can have multiple REGUH.
    Say my target structure is -
    Header Info
    Record Info
    so for every REGUH and corresponding REGUP combination I will have a Header Info and Record Info.For the next REGUH and corresponding REGUP I will have another Header and Record Info.
         I tried testing this in message mapping by duplicating the node REGUH and REGUP but it does not work.I also tried by having the occurances as 1 to n on both sides.It did not seem to work.
    Can you guys give some feedback on this.
    Thanks..
    Sandeep

    Manish,
        Thanks for the information.But this was a simple case which works.But in my case I have something like -
    one field in REGUH will appear once in the file while some other fields will appear multiple times.Also I have a lot other structures which are something like this.
    I assume that occurence for both sides should be 1 to n.
    But it does not seem to work for me.Its a bit complicated target structure.

  • How to map a complex XML message onto a flattened XSD for multi line insert

    Hi Experts.
    I have a webservice in my composite that takes an xml message that contains repeating complex type elements. The XSD is as follows:
    <?xml version= '1.0' encoding= 'UTF-8' ?>
    <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:XxInt003Stg="http://www.somewhere.co.uk/xxx/integration/int003Stage"
    targetNamespace="http://www.somewhere.co.uk/xxx/integration/int003Stage" elementFormDefault="qualified">
    <xsd:complexType name="InterfaceFileType">
    <xsd:sequence>
    <xsd:element name="FileName" type="xsd:string"/>
    <xsd:element name="FileSource" type="xsd:string"/>
    <xsd:element name="FileIdentifier" type="xsd:integer"/>
    <xsd:element name="InterfaceInvoices" type="XxInt003Stg:InterfaceInvoicesType"/>
    </xsd:sequence>
    </xsd:complexType>
    <xsd:complexType name="InterfaceInvoicesType">
    <xsd:sequence>
    <xsd:element name="InterfaceInvoice" type="XxInt003Stg:InterfaceInvoiceType"
    maxOccurs="unbounded"/>
    </xsd:sequence>
    </xsd:complexType>
    <xsd:complexType name="InterfaceInvoiceType">
    <xsd:sequence>
    <xsd:element name="SupplierNumber" type="xsd:string"/>
    <xsd:element name="SupplierSite" type="xsd:string"/>
    <xsd:element name="InvoiceNumber" type="xsd:string"/>
    <xsd:element name="InterfaceInvoiceLines">
    <xsd:complexType>
    <xsd:complexContent>
    <xsd:extension base="XxInt003Stg:InterfaceInvoiceLinesType">
    <xsd:sequence>
    <xsd:element name="InterfaceInvoiceLine"
    type="XxInt003Stg:InterfaceInvoiceLineType"
    maxOccurs="unbounded"/>
    </xsd:sequence>
    </xsd:extension>
    </xsd:complexContent>
    </xsd:complexType>
    </xsd:element>
    </xsd:sequence>
    </xsd:complexType>
    <xsd:complexType name="InterfaceInvoiceLinesType"/>
    <xsd:complexType name="InterfaceInvoiceLineType">
    <xsd:sequence>
    <xsd:element name="LineAmount" type="xsd:decimal" nillable="false"/>
    <xsd:element name="TaxAmount" type="xsd:decimal"/>
    <xsd:element name="BusinessEntityReference" type="xsd:string"/>
    <xsd:element name="AccountNumber" type="xsd:string"/>
    </xsd:sequence>
    </xsd:complexType>
    <xsd:element name="InterfacePayload">
    <xsd:complexType>
    <xsd:sequence>
    <xsd:element name="InterfaceFiles" type="XxInt003Stg:InterfaceFileType"
    maxOccurs="unbounded"/>
    </xsd:sequence>
    </xsd:complexType>
    </xsd:element>
    </xsd:schema>
    When I try to push this through the database adapter after mapping the fields it inserts multiple rows but they are all the same values. I have put a for-each XSLT construct based on the lowest element in the XSD (Invoice Line) and allocated that at various places on the target tree structure but with no success.
    The XSLT is as follows:
    <xsl:template match="/">
    <top:XxInt003InterfaceInvoiceStgCollection>
    <top:XxInt003InterfaceInvoiceStg>
    <top:fileName>
    <xsl:value-of select="/inp1:InterfacePayload/inp1:InterfaceFiles/inp1:FileName"/>
    </top:fileName>
    <top:fileSource>
    <xsl:value-of select="/inp1:InterfacePayload/inp1:InterfaceFiles/inp1:FileSource"/>
    </top:fileSource>
    <top:fileIdentifier>
    <xsl:value-of select="/inp1:InterfacePayload/inp1:InterfaceFiles/inp1:FileIdentifier"/>
    </top:fileIdentifier>
    <top:supplierNumber>
    <xsl:value-of select="/inp1:InterfacePayload/inp1:InterfaceFiles/inp1:InterfaceInvoices/inp1:InterfaceInvoice/inp1:SupplierNumber"/>
    </top:supplierNumber>
    <top:supplierSite>
    <xsl:value-of select="/inp1:InterfacePayload/inp1:InterfaceFiles/inp1:InterfaceInvoices/inp1:InterfaceInvoice/inp1:SupplierSite"/>
    </top:supplierSite>
    <top:invoiceNumber>
    <xsl:value-of select="/inp1:InterfacePayload/inp1:InterfaceFiles/inp1:InterfaceInvoices/inp1:InterfaceInvoice/inp1:InvoiceNumber"/>
    </top:invoiceNumber>
    <xsl:for-each select="/inp1:InterfacePayload/inp1:InterfaceFiles/inp1:InterfaceInvoices/inp1:InterfaceInvoice/inp1:InterfaceInvoiceLines/inp1:InterfaceInvoiceLine">
    <top:lineAmount>
    <xsl:value-of select="/inp1:InterfacePayload/inp1:InterfaceFiles/inp1:InterfaceInvoices/inp1:InterfaceInvoice/inp1:InterfaceInvoiceLines/inp1:InterfaceInvoiceLine/inp1:LineAmount"/>
    </top:lineAmount>
    </xsl:for-each>
    <top:taxAmount>
    <xsl:value-of select="/inp1:InterfacePayload/inp1:InterfaceFiles/inp1:InterfaceInvoices/inp1:InterfaceInvoice/inp1:InterfaceInvoiceLines/inp1:InterfaceInvoiceLine/inp1:TaxAmount"/>
    </top:taxAmount>
    <top:businessEntityReference>
    <xsl:value-of select="/inp1:InterfacePayload/inp1:InterfaceFiles/inp1:InterfaceInvoices/inp1:InterfaceInvoice/inp1:InterfaceInvoiceLines/inp1:InterfaceInvoiceLine/inp1:BusinessEntityReference"/>
    </top:businessEntityReference>
    <top:accountNumber>
    <xsl:value-of select="/inp1:InterfacePayload/inp1:InterfaceFiles/inp1:InterfaceInvoices/inp1:InterfaceInvoice/inp1:InterfaceInvoiceLines/inp1:InterfaceInvoiceLine/inp1:AccountNumber"/>
    </top:accountNumber>
    </top:XxInt003InterfaceInvoiceStg>
    </top:XxInt003InterfaceInvoiceStgCollection>
    </xsl:template>
    I am sure this is just something fundemantal I am doing, is it something to do with the inp1 bit of the XSLT? I get the feeling this should be looping somehow?
    Thanks
    Keith

    Hi,
    as I understand you try to transform 'InterfacePayload' (your XSD - just easier to read here)
    InterfacePayload (1:1)
    -- InterfaceFiles (1:N)
    ---- FileName (1:1)
    ---- FileSource (1:1)
    ---- FileIdentifier (1:1)
    ---- InterfaceInvoices (1:1)
    ------ InterfaceInvoice (1:N)
    -------- SupplierNumber (1:1)
    -------- SupplierSite (1:1)
    -------- InvoiceNumber (1:1)
    -------- InterfaceInvoiceLines (1:1)
    ---------- InterfaceInvoiceLine (1:N)
    ------------ LineAmount (1:1)
    ------------ TaxAmount (1:1)
    ------------ BusinessEntityReference (1:1)
    ------------ AccountNumber (1:1)
    to 'XxInt003InterfaceInvoiceStgCollection' (extracted from your XSLT)
    XxInt003InterfaceInvoiceStgCollection (1:1)
    -- XxInt003InterfaceInvoiceStg (1:1)
    ---- fileName (1:1)
    ---- fileSource (1:1)
    ---- fileIdentifier (1:1)
    ---- supplierNumber (1:1)
    ---- supplierSite (1:1)
    ---- invoiceNumber (1:1)
    ---- lineAmount (1:N)
    ---- taxAmount (1:1)
    ---- businessEntityReference (1:1)
    ---- accountNumber (1:1)
    In the 'xsl:for-each' construct
    +<xsl:for-each select="/inp1:InterfacePayload/inp1:InterfaceFiles/inp1:InterfaceInvoices/inp1:InterfaceInvoice/inp1:InterfaceInvoiceLines/inp1:InterfaceInvoiceLine">+
    +<top:lineAmount>+
    +<xsl:value-of select="/inp1:InterfacePayload/inp1:InterfaceFiles/inp1:InterfaceInvoices/inp1:InterfaceInvoice/inp1:InterfaceInvoiceLines/inp1:InterfaceInvoiceLine/inp1:LineAmount" />+
    +</top:lineAmount>+
    +</xsl:for-each>+
    - you are asking to iterate through all available 'inp1:InterfaceInvoiceLine' elements in the input XML document
    - the value of the element 'top:lineAmount' (for each iteration) is being calculated as all values of available 'inp1:LineAmount' elements in the input XML document together
    So, if you have ... lets say
    - 4x 'inp1:InterfaceInvoiceLine' element in the input XML document, each containing one 'inp1:LineAmount' element ... with values {1, 2, 3, 4} respectively
    - the output will be something like this
    <top:lineAmount>1234</top:lineAmount>
    <top:lineAmount>1234</top:lineAmount>
    <top:lineAmount>1234</top:lineAmount>
    <top:lineAmount>1234</top:lineAmount>
    Why are you always querying from +/inp1:InterfacePayload/inp1:InterfaceFiles/...+ ?
    I think ... all Xpath queries in your XSLT are wrong (they query something else than you think).
    e.g.
    - putting all file names together into one element (+/inp1:InterfacePayload/inp1:InterfaceFiles/inp1:FileName+)
    - putting all file sources together into one element (+/inp1:InterfacePayload/inp1:InterfaceFiles/inp1:FileSource+)
    - putting all invoice numbers together into one element (+/inp1:InterfacePayload/inp1:InterfaceFiles/inp1:InterfaceInvoices/inp1:InterfaceInvoice/inp1:InvoiceNumber+)
    Best regards,
    Martin.

  • Error message: Missing line item for CO-PA characteristic line 0000000001

    Hello, when posting is being done in automatic we are getting the following error message RW621 : 'Missing line item for CO-PA characteristic line 0000000001' and the document is not being created. I've filled in correctly the cost center / profit center for the line items. Any idea on why i'm getting this message?

    Hello Prashanth ,
    there are 2 structures I think you should fill
    CRITERIA (ref structure BAPIACKEC9 )
    VALUEFIELD( ref STRUCTURE  BAPIACKEV9) in  BAPi_ACC_DOCUMENT_POST
    hope this helps...

  • View is not retuning data when creating XML message through workflow

    Hi All,
    This is a very critical problem for me. I am trying to send an XML message (outbound) through XML gateway. This is done from a custom workflow. The message creation is done from the standard procedure ecx_document.sendDirect. The data for the XML file is taken from two views (whcih are created in a custom schema and have synonym in apps). One view for header and another one for line information (I am creating an XML for a purchase order).
    The problem is when the workflow try the first time to create a message, the views are not returning data. So message creation fails. Now, if we restart the workflow after some time, it will work and the message is created. What could be the reason for this sort of a behaviour ?
    I am using business events to trigger the workflow. The data in the table/view will be updated by standard POAPPRV workflow activities. The custom workflow is subscribed to a business event raised from POAPPRV workflow, at a certain point. So this will execute when this event is raised from POAPPRV wf. The subscription has a phase value of 99.
    Any help on this regard will be much appreciated, as this is a critical issue.
    Thanks in advance,
    Arun
    PS : One more thing : this is happening mostly in the production instance where the number of messages is very high (freqency).

    Hello,
    With the BAPI_EQUI_CREATE you can only create PM equipments not IS-U devices that why there is no IS Tab .
    You have to use the dialog transactions IQ01, IQ04 or the MM transaction, where you can create devices through a movement.
    There is objecttype DEVICE (SWO1) with the following methods:
    -> Device.CreateFromData (Create Equipment Master Record)
    -> Device.Create (Create Equipment Master Record)
    -> Device.CreateISU (Create IS-U: Modification for IS-U)
    Please check whether you can use method Device.CreateISU for your requirement.
    Regards
    Olivia

  • Reading the XML message from Xi stored in XML format from a abap program.

    Hi Gurus,
    My requirement here is to read the data that will be coming from Xi from my custom abap program and updating 2 data base tables. The method is after the data mapping is done a class is generated in abap proxy in which a method is available. Inside the method i am writing the code for getting the Xi data stored as a payload message which can be seen in the transaction SXMB_MONI. My code is given below.
    ***begin code***
    method ZII_PAYROLL_HEADER_IN~PAYROLL_HEADER_IN.
    **** INSERT IMPLEMENTATION HERE **** ***
    data: ln type i.
    DATA: i_items TYPE TABLE OF ZPAYLOAD_WRAPPER_EMPLOYEE_REC3.
    *DATA: wa_items type ZPAYLOAD_WRAPPER_EMPLOYEE_TAB5.
    data: wa_items type ZPAYLOAD_WRAPPER_EMPLOYEE_REC3.
    DATA:PERNR TYPE STRING.
    *data: it_ZPAYLOAD_WRAPPER16  TYPE ZPAYLOAD_WRAPPER16.
    I_ITEMS[] = INPUT-PAYLOAD_WRAPPER-BODY-XMLDOC-PAYROLL_PERIOD_OVERVIEW-EMPLOYEE_RECORD[].
    *I_ITEMS = INPUT-payloadWrapper-Body-XMLDOC-PayrollPeriodOverview-EmployeeRecord.
    describe table i_items[] lines ln.
    endmethod.
    **End code***
    As per the logic the data stored in the XML message should be avaialble in INPUT-payloadWrapper-Body-XMLDOC-PayrollPeriodOverview-EmployeeRecord which i am assigning to a local internal table in the class.
    But in my case there is no data coming in
    INPUT-payloadWrapper-Body-XMLDOC-PayrollPeriodOverview-EmployeeRecord.
    But i can see the data transffered from XI in the transaction SXMB_MONI->XML message->inbound message->payload.
    Is there any way to read the data stored in the XML message in the transaction SXMB_MONI.
    Also why the data is not coming in
    INPUT-payloadWrapper-Body-XMLDOC-PayrollPeriodOverview-EmployeeRecord inside the class.
    If there is any solution for this problem please post it.

    You can use function module SXMB_GET_MESSAGE_PAYLOAD.
    Code snippet:
    DATA: ls_mast      TYPE sxmspmast,
          ls_msgkey    TYPE sxmsmkey,
          lv_bin_xml   TYPE xstring,
          lv_str_xml   TYPE string.
    * select sxmspmast into ls_mast
      ls_msgkey-msgid  = ls_mast-msgguid.
      ls_msgkey-pid    = 'RECEIVER'.
      CALL FUNCTION 'SXMB_GET_MESSAGE_PAYLOAD'
        EXPORTING
          im_msgkey      = ls_msgkey
          im_archive     = ' '
          im_version     = ls_mast-vers
        IMPORTING
          ex_msg_bytes   = lv_bin_xml
        EXCEPTIONS
          not_authorized = 1
          no_message     = 2
          internal_error = 3
          no_payload     = 4
          OTHERS         = 5.
      IF sy-subrc EQ 0.
          lv_str_xml = cl_soap_moni_helper=>convert_xstring_to_string( xstring_in = lv_bin_xml ).
      ENDIF.

  • Missing Line items for CO-PA "BAPi_ACC_DOCUMENT_POST"

    Hi Every one,
    I am facing a problem while posting the documents using the standard "BAPI_ACC_DOCUMENT_POST". Problem is, if I have a multiple line items to be posted, BAPI is posting only a part of them and throwing the other documents into error with an error message "Missing Line items for CO-PA" or "inconsistency between a document field and prof. segment number" .
    Program is handling the errors in another internal table and displaying them on output report.
    When we re-run the program with same parameters, it is posting the some part of the residue and throwing some documents into error. So to clear out all the documents I need to run the Program for multiple times.
    Any one can help me out in solving this Problem.

    Hello Prashanth ,
    there are 2 structures I think you should fill
    CRITERIA (ref structure BAPIACKEC9 )
    VALUEFIELD( ref STRUCTURE  BAPIACKEV9) in  BAPi_ACC_DOCUMENT_POST
    hope this helps...

  • Attachments in XML message

    Hi All,
    We are into SRM 7.01 with SUS functionality. We want transfer the PO attachment (both in header and line item) from ECC to SUS and i want to trace whether the attachment has been transferred or available in XML message or not.
    So how do I find out that attachment is flowing or not in XML message. How to display data that is being carried by XML message.
    Thanks and Regards

    Hi,
    we can use many adapters with attachments (jpg,pdf)
    like mail adapter, receive via file adapter
    but soap adapter (so proxies and soap adapter) handle it in an natual way I'd say
    Regards,
    michal

  • One IDOC to multiple XML messages

    Hi! I am using the graphical mapper in XI to map the SHPMNT03 IDOC to an XML message. The IDOC has a shipment node and potentially multiple delivery nodes, for example:
    E1EDT20
      - E1EDL20
      - E1EDL20
      - E1EDL20
    I need to create one XML message per E1EDL20 node. I figured I could do this in the mapper but when I execute the map for an IDOC with multiple E1EDL20 nodes, I get a 'Cannot cast 2 to boolean' error. The map executes fine when there is a single E1EDL20 in the IDOC.
    As always, help is very much appreciated and points awarded.
    Thx, Duncan

    Hi Duncan,
    Can you just check if this is what you have done,
    IR
    1. Message Mapping -- Occurence of the Destination message type ( file ) is unbounded
    2. Interface Mapping -- Occurence of the Destination Interface ( File ) is unbounded
    ID
    1. No sender communication channel , sender agreement
    2. Receiver communcation channel for FIle with appropriate FILE CONSTRUCTION MODE
    3. Receiver Determination  and Interface Determination with Sender Interface as the IDOC interface and Receiver Interface as the FILE INTERFACE.
    I think there is some misunderstanding on this front.
    Multimapping will work if you are trying to  do an IDOC to FILE with a 1:N split
    just check this and let me know if you ve missed something.
    Regards,
    Bhavesh

  • TCP XML messages parsing time with realtime output.

    I am currently coding a project and I have hit a bit of a roadblock. The basic overview is I need to be able to receive around 3,000 lines of XML per second from a JavaScript sending TCP messages. I have to extract the data to two seperate files, output the data to a text pane and also further seperate that data into a table as well. All this data needs to be updated as soon as it is received. I am currently comfortable with receiving around 700 lines per second without data loss but anything over that I start losing data somewhere. As for the basic over view of my code, I have my main program which creates the GUI and starts a listening thread that listens for "clients"(JavaScripts) to connect.
    Main:
    public static void main(String[] args)
         SplashScreen screen = new SplashScreen();
         screen.showSplashWindow();
         SwingUtilities.invokeLater(new Runnable()
             public void run()
              MainMenu mainmenu = new MainMenu();
              mainmenu.setVisible(true);
              mainmenu.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
        }Listener Thread:
    final Runnable listener_runner = new Runnable()
              public void run()
                  try
                   startClientListener();
                  catch (Exception e)
             final Thread listener_thread = new Thread(listener_runner,
                  "ListenerThread");
             listener_thread.start();Called from listening thread to setup client:
    public void startClientListener() throws IOException
         ServerSocket serverSocket = null;
         try
             serverSocket = new ServerSocket(XXXX);
         catch (IOException e)
             System.err.println("Could not listen on port: " + portNumber);
         while (true)
             MultiServerThread new_thread = new MultiServerThread(serverSocket
                  .accept(), outputWindow, resultsWindow, prefAttr, runningCount);
             new_thread.start();
        }In my MultiServerThreads runnable I have a BufferedReader to read the input. This reader loops through the input and adds it to a StringBuilder which then passes that data to the output files and the XML parser as seen here:
    in = new BufferedReader(new InputStreamReader(socket
                  .getInputStream()));
             while ((input_line = in.readLine()) != null)
              build.append(input_line + "\n");
              file_out.append(build);  //Text file
              xml_copy_out.append(build);  //XML file
              loadData(build);  //XML parser
              build = new StringBuilder();
             }My XML parser is configured as follows:
    public void loadData(final StringBuilder bufs)
         bufs.insert(0, "<VTR>");
         bufs.append("</VTR>");
         try
             StructuredDocumentHandler par = new StructuredDocumentHandler(
                  runningCount);
             SAXParserFactory spf = SAXParserFactory.newInstance();
             spf.setValidating(false);
             javax.xml.parsers.SAXParser sp = spf.newSAXParser();
             final String s = bufs.toString();
             final ByteArrayInputStream file_buf = new ByteArrayInputStream(s
                  .getBytes());
             final DataInputStream in_data = new DataInputStream(file_buf);
             org.xml.sax.InputSource input = new InputSource(in_data);
             sp.parse(input, par);
         catch (Exception ex)
             ex.printStackTrace();
        }As the parser goes through each XML message it sends the String to an output window that is straight text in a TextArea. It also stores the data in some arrays which then get built into a row that is added to a JTable. Does anyone have any ideas on how I can get up to 3000 lines per second? I'm not sure if my threading scheme is wrong or what. Is Java not powerful enough to handle 3000 TCP messages per second or can the XML parser not handle that much processing that fast? Any help would be much appreciated because I've kind of run out of ideas. Thanks!

    Thanks for the replies. I've trimmed my code down a little bit which has helped. I'm still around 2000 messages a second. Here's where I'm at for an update. Thanks again for all your help. I'm much happier at 2k vs 700 messages per second.
    import java.io.BufferedReader;
    import java.io.BufferedWriter;
    import java.io.ByteArrayInputStream;
    import java.io.File;
    import java.io.FileNotFoundException;
    import java.io.FileWriter;
    import java.io.InputStreamReader;
    import java.net.Socket;
    import java.util.ArrayList;
    import java.util.Calendar;
    import javax.swing.JOptionPane;
    import javax.xml.parsers.SAXParser;
    import javax.xml.parsers.SAXParserFactory;
    import org.xml.sax.Attributes;
    import org.xml.sax.InputSource;
    import org.xml.sax.helpers.DefaultHandler;
    public class MultiServerThread extends Thread
        private final StructuredDocumentHandler par = new StructuredDocumentHandler();
        private final SAXParserFactory spf = SAXParserFactory.newInstance();
        private SAXParser sp;
        public MultiServerThread(final Socket socket,
             final OutputWindow output_window,
             final ResultsWindow results_window,
             final PreferencesDialog.Info attr, final int count)
         try
             spf.setValidating(false);
             sp = spf.newSAXParser();
         catch (Exception ex)
        @Override
        public void run()
         try
             xml_copy_out.append("<VTR>\n");
             in = new BufferedReader(new InputStreamReader(socket
                  .getInputStream()));
             while ((input_line = in.readLine()) != null)
              file_out.append(input_line + StaticVariable.NEW_LINE);
              xml_copy_out.append(input_line + StaticVariable.NEW_LINE);
              loadData(input_line);
             xml_copy_out.append("</VTR>");
             xml_copy_out.close();
             file_out.close();
             in.close();
             attributes.parent.setCheckFailed(runningCount, procPassed);
             socket.close();
         catch (FileNotFoundException ex)
         catch (Exception e)
             e.printStackTrace();
       public void killOuts()
        public void loadData(final String xml_str)
         try
             ByteArrayInputStream file_buf = new ByteArrayInputStream(xml_str.getBytes());
             InputSource input = new InputSource(file_buf);
             sp.parse(input, par);
         catch (Exception ex)
             ex.printStackTrace();
        public void addRowData(boolean procedurePassed)
        public void clearArrays()
        public class StructuredDocumentHandler extends DefaultHandler
         boolean procedurePassed = true;
         boolean isTestCase = false;
         boolean isTestCaseInput = false;
         boolean isTestCaseOutput = false;
         boolean isTestStep = false;
         boolean isComment = false;
         boolean isRequirement = false;
         boolean isEnsure = false;
         boolean isVerify = false;
         boolean isResult = false;
         boolean eval = false;
         public StructuredDocumentHandler()
         public void startElement(String uri, String lname, String qname,
              Attributes attributes)
             if (!qname.equals(StaticVariable.XML_COMMAND))
              eval = true;
              if (qname.equals(StaticVariable.XML_TESTCASE))
                  isTestCase = true;
              else if (qname.equals(StaticVariable.XML_TESTCASEINPUT))
                  isTestCaseInput = true;
              else if (qname.equals(StaticVariable.XML_TESTCASEOUTPUT))
                  isTestCaseOutput = true;
              else if (qname.equals(StaticVariable.XML_TESTSTEP))
                  isTestStep = true;
              else if (qname.equals(StaticVariable.XML_COMMENT))
                  isComment = true;
              else if (qname.equals(StaticVariable.XML_REQUIREMENT))
                  isRequirement = true;
              else if (qname.equals(StaticVariable.XML_MEASUREMENT))
                  String xml_val = attributes
                       .getValue(StaticVariable.XML_VALUE);
                  outputWindow.addData(xml_val + StaticVariable.NEW_LINE);
                  measurementArray.add(xml_val);
              else if (qname.equals(StaticVariable.XML_EXPECTED))
                  String xml_val = attributes
                       .getValue(StaticVariable.XML_VALUE);
                  outputWindow.addData(xml_val + StaticVariable.NEW_LINE);
                  expectedArray.add(xml_val);
              else if (qname.equals(StaticVariable.XML_RESULT))
                  isResult = true;
              else if (qname.equals(StaticVariable.XML_VERIFY))
                  isVerify = true;
                  verifyArray.add(new String(attributes
                       .getValue(StaticVariable.XML_RESULT)));
              else if (qname.equals(StaticVariable.XML_ENSURE))
                  isEnsure = true;
         public void characters(char[] chars, int start, int length)
             if (eval)
              if (isTestCase)
                  outputWindow.addData(new String(chars, start, length)
                       + StaticVariable.NEW_LINE);
                  testCaseArray.add(new String(chars, start, length));
              else if (isTestCaseInput)
                  outputWindow.addData(new String(chars, start, length)
                       + StaticVariable.NEW_LINE);
                  testCaseInputArray.add(new String(chars, start, length));
              else if (isTestCaseOutput)
                  outputWindow.addData(new String(chars, start, length)
                       + StaticVariable.NEW_LINE);
                  testCaseOutputArray.add(new String(chars, start, length));
              else if (isTestStep)
                  outputWindow.addData(new String(chars, start, length)
                       + StaticVariable.NEW_LINE);
                  testStepArray.add(new String(chars, start, length));
              else if (isComment)
                  outputWindow.addData(new String(chars, start, length)
                       + StaticVariable.NEW_LINE);
                  commentArray.add(new String(chars, start, length));
              else if (isRequirement)
                  outputWindow.addData(new String(chars, start, length)
                       + StaticVariable.NEW_LINE);
                  requirementArray.add(new String(chars, start, length));
              else if (isResult)
                  outputWindow.addData(new String(chars, start, length)
                       + StaticVariable.NEW_LINE);
                  resultArray.add(new String(chars, start, length));
              else if (isVerify)
                  outputWindow.addData(new String(chars, start, length)
                       + StaticVariable.NEW_LINE);
                  verifyDescriptionArray
                       .add(new String(chars, start, length));
              else if (isEnsure)
                  outputWindow.addData(new String(chars, start, length)
                       + StaticVariable.NEW_LINE);
                  ensureArray.add(new String(chars, start, length));
         public void endElement(String uri, String lname, String qname)
             if (!qname.equals(StaticVariable.XML_COMMAND))
              if (qname.equals(StaticVariable.XML_VERIFY))
                  addRowData(procedurePassed);
                  clearArrays();
              else if (qname.equals(StaticVariable.XML_END))
                  clearArrays();
              isTestCase = false;
              isTestCaseInput = false;
              isTestCaseOutput = false;
              isTestStep = false;
              isComment = false;
              isRequirement = false;
              isResult = false;
              isVerify = false;
              isEnsure = false;
              eval = false;
    }Any other suggestions on trimming down that I'm not seeing would be much appreciated. Thanks again for all your help.

  • SXMB_MONI: No Payload under XML Message\Response

    Hi All,
    At transaction SXMB_MONI in the left frame you have usually three folders "Inbound Message", "Receiver Grouping" and "Response" under XML Message for the pipeline monitoring.
    Under our XI system I miss the folder "Payloads" under folder "Response" above.
    So I am not able to monitor the outgoing Payload at SXMB_MONI.
    Is there any configuration missing?
    Many thanks in advance!
    Jochen

    Hi Jochen,
    You can see the response payload under Response Msg Id = <>
    in "Request Message Mapping" under Payload folder
    If you are not able to see this, go to sxmb_adm -> Integration Engine Configurarion -> Specific Configureation
    add/update the parameter TRACE_LEVEL in categoy RUNTIME to value 3
    Regards,
    Sreenivas

  • XML messages eamil (Problem)

    http://www.flickr.com/photos/25222280@N03/
    Hi, All
    We are using XI 3.0 Support package: 20
    I can expalin the probelm step by step please help me about thanks in advanced
    Step: 1
    I am trying to get XML message from XI system messages shows in SXMB_MONI with some read flags
    Step 2
    SAPconnect working fine... I can send email anyone internaly through so01 so connections works
    Step 3
    Goto ALRTCATDEF and create alert category which is XDV_ALRT then goto RWB and click Alrt configuration, select classification and click Roules its does show my user ID and Alert cagt. there
    Then I received XML messages my eamil with Attachment file and subject: Alert, which is I didn't define anywhere... I didn't know where this messages comes from?
    Step 4: I put some others users using alrtcatdef tr such as make_m and amer_J and my user id in it as well but only I am getting these messages not others I double check user profile and roles all pretty much same look like...
    My simple question is that I want to setup XML messages to some users through email thats it
    I am sending some screen shot I thing someitng is missing or I am getting some wrong please look at this
    http://www.flickr.com/photos/25222280@N03/
    Thanks

    Hello Aamir
    Thanks for very fast responsed, Aamir when I goto SXMB_MONI first screen comes up "Monitor processed for XML messages"
    First Screen
    view is = Defaul
    Status group is empty
    Standard selection criteria  (from date to date = I just define date couple of days ago!)
    Sender and receiver all fields are empty
    2nd Screen
    When I execute its shows xml messages with black flag and Red dot all Red dot comes with attachemnt eamil
    in this screen they have some button like "display", "error information" "referencing infromation" "reset" 'shows"
    with Error look like that before I click on it
    @5C\QSystem Error - Restart Not Possible@     @5F@     02.04.2008     02:14:39 02.04.2008     02:14:43                    MOL_NQA tp://www.abc.com/MOL/OnlineStore     O_msgIF_CHECK_BILLING
    dbcinqa     http://www.mitel.com/MOL/OnlineStore     I_msgIF_CHECK_BILLING     "Current Status"     @5F@     @5F@     @5F@               6          
    When I click on that 3rd screen comesup with some bottons like windows1 windows2, ....
    with RED error messages in right side....
    that error messages comes with my attachment....
    I didn't see anything scenarios, how may I check that where is it? please let me know
    My name is also Aamir
    Thanks

  • Handling new line character in XML

    Hi,
    Question : How can we specify new line character in xml ?
    Explaination for use :
    I have a xml structure like :
    <?xml version="1.0" encoding="UTF-8"?>
    <MT_ISO8583_XML_request>
    <TRANSDETAILS>.
    <TRANSACTIONAMOUNT>0000000000000000</TRANSACTIONAMOUNT>
    <SYSAUDITNUMBER>225998394671</SYSAUDITNUMBER>
    </TRANSDETAILS>
    </MT_ISO8583_XML_request>
    I am using Java mapping to convert xml to some satndard flat file format. It works fine for single message.
    To handle multiple message i am using Multimapping split. Multimapping needs xml tags in traget structure also to split the message.
    To achieve it without BPM, I want to take the whole content of my target file to one tag. When i do this i lost all the new line characters aslo. How can i preserve my new line character using XML ?
    Regards
    Kulwinder

    Are you sure, that the nl characters are deleted?
    They are usually not shown in the XML display.
    You can also use an adapter module instead of a Java mapping. So you can do a split in mapping, but the conversion to the flat file in the adapter module. If you have already a Java mapping for this purpose, you can easily create an adapter module based on that Java code.
    Regards
    Stefan

  • OAG 7.x XML messages over AS2

    Hi All,
    Need some help for the below issue.
    We will be receiving OAG Xml messages over AS2 from our trading partners. I have setup the Trading partner Agreement but the message is not picking any agreement. I believe we need to set the below fields in the Document Definition.
    Identification Expression (XPath)
    Identification Value
    I have tried different values for these fields but it is not working. Could someone please suggest if you have done this and how you handled this. Or someone please throw some idea for me to try another approach.
    Thanks
    Ismail.

    Here is the XML Payload. Sorry it is a big payload. I am not getting any error when I upload the message to AS2. In B2B it shows the message received but the sender fields are blank.
    I used below values in the Document definition.
    Identification Expression (XPath) ==> //*[local-name()='TASK']/text()
    Identification Value ==> POISSUE
    The task element is 10 - 12 lines below in the paylod under SENDER.
    <?xml version="1.0" encoding="UTF-8" standalone='no'?>
    <!DOCTYPE PROCESS_PO_007 SYSTEM "003_process_po_007.dtd">
    <!-- Oracle eXtensible Markup Language Gateway Server -->
    <PROCESS_PO_007>
    <CNTROLAREA>
    <BSR>
    <VERB value="PROCESS">PROCESS</VERB>
    <NOUN value="PO">PO</NOUN>
    <REVISION value="007">007</REVISION>
    </BSR>
    <SENDER>
    <LOGICALID/>
    <COMPONENT>PURCHASING</COMPONENT>
    <TASK>POISSUE</TASK>
    <REFERENCEID>DEVB.MyCompanyIND.PRI:oracle.apps.po.event.xmlpo:48135-42957</REFERENCEID>
    <CONFIRMATION>0</CONFIRMATION>
    <LANGUAGE>US</LANGUAGE>
    <CODEPAGE>AL32UTF8</CODEPAGE>
    <AUTHID>APPS</AUTHID>
    </SENDER>
    <DATETIME qualifier="CREATION" type="T" index="1">
    <YEAR>2013</YEAR>
    <MONTH>03</MONTH>
    <DAY>19</DAY>
    <HOUR>07</HOUR>
    <MINUTE>51</MINUTE>
    <SECOND>56</SECOND>
    <SUBSECOND>0000</SUBSECOND>
    <TIMEZONE>-0500</TIMEZONE>
    </DATETIME>
    </CNTROLAREA>
    <DATAAREA>
    <PROCESS_PO>
    <POORDERHDR>
    <DATETIME qualifier="DOCUMENT" type="T" index="1">
    <YEAR>2013</YEAR>
    <MONTH>03</MONTH>
    <DAY>19</DAY>
    <HOUR>07</HOUR>
    <MINUTE>51</MINUTE>
    <SECOND>47</SECOND>
    <SUBSECOND>0000</SUBSECOND>
    <TIMEZONE>-0500</TIMEZONE>
    </DATETIME>
    <OPERAMT qualifier="EXTENDED" type="T">
    <VALUE>1578</VALUE>
    <NUMOFDEC/>
    <SIGN>+</SIGN>
    <CURRENCY>USD</CURRENCY>
    <UOMVALUE>1</UOMVALUE>
    <UOMNUMDEC>0</UOMNUMDEC>
    <UOM/>
    </OPERAMT>
    <POID>500378</POID>
    <POTYPE>STANDARD</POTYPE>
    <ACKREQUEST>D</ACKREQUEST>
    <CONTRACTB/>
    <CONTRACTS/>
    <DESCRIPTN/>
    <NOTES index="1"/>
    <PORELEASE/>
    Edited by: 957748 on Apr 2, 2013 12:50 PM
    Edited by: 957748 on Apr 2, 2013 12:51 PM

  • OWSM SAML Verify step problem: Missing Security Header in SOAP message

    I'm having a problem with SAML steps. From gateway log:
    2008-09-17 13:21:32,987 INFO [HTTPThreadGroup-58] saml.InsertSAMLSVStep - User attributes map set to generate the attribute assertions: null
    2008-09-17 13:21:33,034 INFO [HTTPThreadGroup-60] saml.SAMLProcessor - Assertion Major Version :1 , Minor Version :1
    2008-09-17 13:21:33,034 WARNING [HTTPThreadGroup-60] saml.SAMLProcessor - SAML Assertion verification error: An invalid token was provided
    2008-09-17 13:21:33,034 WARNING [HTTPThreadGroup-60] saml.VerifySAMLStep - SAML Token verification failed:
    2008-09-17 13:21:33,096 SEVERE [HTTPThreadGroup-58] wssecurity.OSDTWSSecurity - Missing Security Header in SOAP message
    2008-09-17 13:21:33,096 WARNING [HTTPThreadGroup-58] wssecurity.SecurityBaseStep - Failure while applying XML Security
    FAULT CODE: InvalidSecurity FAULT MESSAGE: Missing WS Security header in the SOAP message
    at com.cfluent.policysteps.security.wssecurity.OSDTWSSecurity.decryptVerify(OSDTWSSecurity.java:369)
    at com.cfluent.policysteps.security.wssecurity.DecryptStep.performXmlSecurity(DecryptStep.java:131)
    at com.cfluent.policysteps.security.wssecurity.SecurityBaseStep.execute(SecurityBaseStep.java:238)
    at com.cfluent.pipelineengine.container.DefaultPipeline.executeStep(DefaultPipeline.java:124)
    but the wsse:Security header with SAML assertion IS confirmed in the incoming message log. Anybody seen this issue?

    Below is the log of the incoming message just prior to the failing SAML Verify step:
    <?xml version="1.0" encoding="UTF-8" ?>
    - <env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns0="http://exception.common.periop.gehc.com" xmlns:ns1="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:ns2="http://www.patient.patientmanager.periop.gehc.com/service/" xmlns:ns3="http://entity.common.periop.gehc.com" xmlns:ns4="http://entity.patient.patientmanager.periop.gehc.com" xmlns:ns5="http://entity.allergy.patientmanager.periop.gehc.com" xmlns:ns6="http://pdo.domain.customizer.periop.gehc.com" xmlns:ns7="http://entity.cases.scheduler.periop.gehc.com" xmlns:ns8="http://entity.insurance.patientmanager.periop.gehc.com">
    - <env:Header>
    - <ns1:Security>
    - <saml:Assertion MajorVersion="1" MinorVersion="1" AssertionID="158RBY2QvCFPiTqdXYWh9A22" IssueInstant="2008-09-17T19:58:43Z" Issuer="GE" xmlns="urn:oasis:names:tc:SAML:1.0:assertion" xmlns:saml="urn:oasis:names:tc:SAML:1.0:assertion">
    <saml:Conditions NotBefore="2008-09-17T19:58:13Z" NotOnOrAfter="2008-09-17T19:59:43Z" />
    - <saml:AuthenticationStatement AuthenticationInstant="2008-09-17T19:58:43Z" AuthenticationMethod="urn:oasis:names:tc:SAML:1.0:am:password">
    - <saml:Subject>
    <saml:NameIdentifier NameQualifier="www.ge.com" Format="urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified">gowri</saml:NameIdentifier>
    - <saml:SubjectConfirmation>
    <saml:ConfirmationMethod>urn:oasis:names:tc:SAML:1.0:cm:sender-vouches</saml:ConfirmationMethod>
    </saml:SubjectConfirmation>
    </saml:Subject>
    </saml:AuthenticationStatement>
    </saml:Assertion>
    </ns1:Security>
    </env:Header>
    - <env:Body>
    - <ns2:getPatient>
    <ns2:patientId>137115</ns2:patientId>
    </ns2:getPatient>
    </env:Body>
    </env:Envelope>

Maybe you are looking for

  • Couldn't find root user.  Sleeping and trying again.

    Last week I installed an MSO 2004 update on my G5 iMac running 10.4.11. Then I attempted to repair permissions. The repair permissions process halted at about half of the progress bar. I let it cook for about two hours without success, then tried to

  • Can No longer see my shortcuts bar in my home scre...

    Help! I have a Nokia 5800 and its suddenly gone bonkers. i'm meant to have a shortcuts bar and the top of my home screen...but its gone. ive obviously been into settings > personal > home screen > home screen theme to shortcuts bar..and all the inbet

  • Customer Balance Summary Report

    Dears, I have this query for custom report from receipt screen under receivable responsibility, but i need to view the organization code that create the invoice and the org. code that receive it, any help to modify this query ? SELECT   mpv.organizat

  • Hard Drive Replacement - Easy/hard?

    I took my PowerBook G3 to an Apple Store yesterday to try and fix a hardware issue. It turns out that my hard drive is dead. The tech told me they were going to send it to Apple for repairs, but Apple said the model I have is considered vintage and t

  • Adding Supplier details

    Expert, We are buying an engine assembly from our Vendor, but there is no visibility for us to verify that Fixed Process Control(FPC) (quality)requirements have been met by the engine. So we need to know the details of the inner parts of the engine a