Call tranformation

In which cases can the abap statement call transformation can be used?
a. to transform as ixml document object into and abap data structure using xslt.
b. to transform an xml document contained in a string into another xml document using and xslt program.
c. to get canonic xml display of an abap data structure.
d. to transform an xml document contained in an xstring into another xlm document using an ST program.
e. to transform and abap data structure into an sml document using ST.
Thanks & Regards
Pragathi.

Hi
I feel more than one answer suits this question.
But if only one option then (e) satisfies
its not compulsory to be ixml document or any strict ABAP data type.(String or XString)
ST is used for the transformation of ABAP data to XML (serialization) and from XML to ABAP data (deserialization).
http://www.sap-hefte.de/download/dateien/1112/076_leseprobe.pdf
http://help.sap.com/saphelp_nw2004s/helpdata/en/27/101640a991c742e10000000a1550b0/frameset.htm
Thanks
Gaurav

Similar Messages

  • Trouble with Call Tranformation id_indent

    Hello Guru,
    Can anyone tell me why I'm having trouble with this.
    " Convert xstring back into XML
      CALL TRANSFORMATION id_indent
        SOURCE XML gd_xstring
        RESULT itab = <gt_itab>.
    Exception : XSLT_BAD_SOURCE_CONTEXT
    Regards,
    Kais

    Sorry buddy, I have been along way from home.
    Can't remember how I solve it
    Can you?
    Probably, your string does contain some missleading characters.

  • How to call a Proxy method in a program

    hello All,
    I created proxy which consumes Soap webservice. A method exits in that proxy. I created a program in which am calling the proxy method and passing input parameters(Exporting) and in output(Importing) am not getting any output. When i debugged the code, exceptions were raised during call tranformation.
    What might me the error. Is the error in wsdl?
    Regards,
    Sanjani
    Edited by: Sanjani on Dec 17, 2010 1:27 PM

    // Modified from Just Java
    import java.io.*;
    public class execDir {
    public static void main(String args[]) {
    try {
    Runtime rt = Runtime.getRuntime(); // step 1
    Process prcs = rt.exec("doDir.bat"); // step 2
    InputStreamReader isr = // step 3
    new InputStreamReader( prcs.getInputStream() );
    BufferedReader br = new BufferedReader( // step 4.
    isr );
    String line;
    while ((line = br.readLine()) != null)
    System.out.println(line);
    } catch(IOException ioe) { System.out.println(ioe); }
    Maybe this will help you.

  • XSLT and Call transformation

    Hi
    Using <b>XSLT</b> and <b>Call transformation</b> (XSLT scheme) to convert XML file to html the problem is that line breaks in xml are ignored when passing the call tranformation.
    <b>Note in xml look like:</b>
    <com:Note><![CDATA[
    Serie 87% 0,000000
    Amount in this period 01-01-2006 - 01-07-2006 - 180 days
    Currency 16.267.117,38 DKK
    Loan DKK 14.332.700,00
    Debt 7.358.534,23
    Indexsfactor 226,230
    ]]></com:Note>
    <b>When HTML displayed in sap, - note is just a long string which continue out of the screen. Note looks like:</b>Serie 87% 0,000000Amount in this period 01-01-2006 - 01-07-2006 - 180 daysCurrency 16.267.117,38 DKKDebt 7.358.534,23Indexsfactor 226,230
    What to do ? Any ideas ?

    hi Jan,
    Check out the link
    http://www.topxml.com/code/default.asp?p=3&id=v20031025170911&ms=20&l=xsl&sw=categ
    This link contains a file that contains an importable xslt stylesheet with two templates. The first is a text wrap template that breaks texts at carriage returns. You need to modify the xslt.
    [code]<xsl:template name="text.wrap">
            <xsl:param name="texttowrap"/>
            <xsl:variable name="textlength" select="string-length($texttowrap)"/>
            <!-- don't waste time if no text supplied or remaining from recursion-->
            <xsl:if test="$textlength > 0">
                <xsl:choose>
                    <xsl:when test="contains($texttowrap,$CR)">
                        <!-- get the text before the first instance of a carriage return character-->
                        <xsl:variable name="<span  style="background-color:yellow;color:red;font-weight:bold;">line</span>beforefirst<span  style="background-color:yellow;color:red;font-weight:bold;">break</span>" select="substring-before($texttowrap,$CR)"/>
    .................[/code]
    Hope this helps.
    Regards,
    Richa

  • Call transformation XSLT and long note string in XML

    Hi
    Using call transformation (XSLT scheme) to convert XML file to html the problem is that line breaks in xml are ignored when passing the call tranformation.
    <b>Note in xml look like:</b>
    <com:Note><![CDATA[
    Serie 87% 0,000000
    Amount in this period 01-01-2006 - 01-07-2006 - 180 days
    Currency 16.267.117,38 DKK
    Loan DKK 14.332.700,00
    Debt 7.358.534,23
    Indexsfactor 226,230
    ]]></com:Note>
    <b>When HTML displayed in sap, - note is just a long string which continue out of the screen. Note looks like:</b>
    Serie 87% 0,000000Amount in this period 01-01-2006 - 01-07-2006 - 180 daysCurrency 16.267.117,38 DKKDebt 7.358.534,23Indexsfactor 226,230
    <i>What to do ? Any ideas ?</i>

    Hi Jon,
    What is the XSLT program that you're using to transform the XML?
    Can you try modifying the XSLT stylesheet and add or modify the following attribute.
    <xsl:output indent="yes"/>
    Regards,
    Erwin

  • Defining XSLT from Abap to XML and XML to Abap (Internal Table)

    Hi Experts, I need help with this XSLT for call transformation. I have defined an internal table and intend to use it as a source for Call Tranformation. But I have a Problem defining its XSLT and help would be greatly appreciated! I also wonder if this XSLT can be used for XML to internal table? Or do I have to define another XSLT again.... Hope to hear from any of u soon!
    CODES->>>
    TYPES: BEGIN OF CONTENT,
             CONTENT1(20),
             CONTENT2(20),
           END OF CONTENT.
    TYPES: T_CONTENT TYPE TABLE OF CONTENT.
    DATA: BEGIN OF I_DATA OCCURS 0,
            KEY1(10),
            KEY2(10),
            CONT TYPE T_CONTENT,
          END OF I_DATA.
    DATA: WA_TBL TYPE CONTENT.
    DATA: LI_TBL TYPE T_CONTENT.
    START-OF-SELECTION.
    populate data 1
      CLEAR I_DATA.
      I_DATA-KEY1 = 'AMI'.
      I_DATA-KEY2 = 'LEE'.
      CLEAR WA_TBL.
      REFRESH LI_TBL.
      WA_TBL-CONTENT1 = 'PENHAS ROAD'.
      WA_TBL-CONTENT2 = 'SG'.
      APPEND WA_TBL TO LI_TBL.
      WA_TBL-CONTENT1 = 'GILLMAN ROAD'.
      WA_TBL-CONTENT2 = 'SG'.
      APPEND WA_TBL TO LI_TBL.
      I_DATA-CONT = LI_TBL.
      APPEND I_DATA.
    populate data 1
      CLEAR I_DATA.
      I_DATA-KEY1 = 'KAI'.
      I_DATA-KEY2 = 'LEE'.
      CLEAR WA_TBL.
      REFRESH LI_TBL.
      WA_TBL-CONTENT1 = 'SUNSET WAY'.
      WA_TBL-CONTENT2 = 'SG'.
      APPEND WA_TBL TO LI_TBL.
      WA_TBL-CONTENT1 = 'BEDOK NORTH'.
      WA_TBL-CONTENT2 = 'SG'.
      APPEND WA_TBL TO LI_TBL.
      I_DATA-CONT = LI_TBL.
      APPEND I_DATA.
    call transformation (xslt)
        source i_data = i_data
        result xml xmlstr.

    here is the code sample using ixml library .
    just create a report program and copy paste the following code.
    if time permits, later on i will post the xslt program which you can use it call transformation.
    REPORT  y_test_xml.
    DATA: l_ixml                                 TYPE REF TO if_ixml,
            l_ixml_sf                              TYPE REF TO if_ixml_stream_factory,
            l_istream                              TYPE REF TO if_ixml_istream,
            l_ostream                              TYPE REF TO if_ixml_ostream,
            l_booklist                   TYPE REF TO if_ixml_element,
            l_document                             TYPE REF TO if_ixml_document,
            l_parser                               TYPE REF TO if_ixml_parser,
            l_root_element                         TYPE REF TO if_ixml_element,
            l_book_record                            TYPE REF TO if_ixml_element,
            l_date TYPE REF TO if_ixml_element ,
                    l_time TYPE REF TO if_ixml_element ,
            l_book_group                            TYPE REF TO if_ixml_element,
            l_book_cat                            TYPE REF TO if_ixml_element ,
            others                                  TYPE REF TO if_ixml_element ,
            link                                    TYPE REF TO if_ixml_element ,
            description                            TYPE REF TO if_ixml_element ,
            xml                                    TYPE xstring ,
            size TYPE  i ,
             l_xml  TYPE REF TO cl_xml_document  .
    DATA: xml_out TYPE string ,
          temp_string TYPE string .
    TYPES: BEGIN OF add_category,
    category_id(10),
    category_desc(40),
    END OF add_category,
    add_t_category TYPE add_category OCCURS 0 .
    TYPES: BEGIN OF add_book_grp,
    book_category TYPE add_t_category,
    END OF add_book_grp,
    add_t_book_grp TYPE add_book_grp OCCURS 0.
    TYPES: BEGIN OF add_book,
    book_num(10) TYPE c,
    short_desc(40) TYPE c,
    book_group TYPE add_t_book_grp,
    END OF add_book,
    add_t_book TYPE add_book OCCURS 0.
    TYPES: BEGIN OF type_data,
    date TYPE sy-datum,
    time TYPE sy-uzeit,
    book_record TYPE add_t_book,
    END OF type_data.
    DATA: i_data TYPE type_data OCCURS 0 WITH HEADER LINE.
    DATA: itab LIKE soli OCCURS 0 WITH HEADER LINE.
    DATA: cat_wa TYPE add_category ,
          bk_gp_wa TYPE add_book_grp ,
          bk_rec_wa TYPE add_book ,
          bk_wa LIKE LINE OF i_data .
    DATA: cat_tab TYPE STANDARD TABLE OF add_category ,
          bk_gp_tab TYPE STANDARD TABLE OF add_book_grp ,
          bk_rec_tab TYPE STANDARD TABLE OF add_book .
    MOVE: '03' TO cat_wa-category_id  ,
          ' BK GP 3' TO cat_wa-category_desc .
    APPEND cat_wa TO cat_tab .
    MOVE: '02' TO cat_wa-category_id  ,
          ' BK GP 2' TO cat_wa-category_desc .
    APPEND cat_wa TO cat_tab .
    bk_gp_wa-book_category  = cat_tab.
    APPEND bk_gp_wa TO bk_gp_tab .
    MOVE: '0012345678' TO bk_rec_wa-book_num ,
          'OMS book' TO bk_rec_wa-short_desc .
    bk_rec_wa-book_group = bk_gp_tab .
    APPEND bk_rec_wa TO bk_rec_tab .
    CLEAR:bk_gp_tab, cat_tab .
    REFRESH :bk_gp_tab, cat_tab .
    MOVE: '01' TO cat_wa-category_id  ,
          ' BK GP 1' TO cat_wa-category_desc .
    APPEND cat_wa TO cat_tab .
    MOVE: '09' TO cat_wa-category_id  ,
          ' BK GP 9' TO cat_wa-category_desc .
    APPEND cat_wa TO cat_tab .
    bk_gp_wa-book_category  = cat_tab.
    APPEND bk_gp_wa TO bk_gp_tab .
    MOVE: '00123456789' TO bk_rec_wa-book_num ,
          'SAP book' TO bk_rec_wa-short_desc .
    bk_rec_wa-book_group = bk_gp_tab .
    APPEND bk_rec_wa TO bk_rec_tab .
    MOVE: sy-datum TO bk_wa-date ,
          sy-uzeit TO bk_wa-time .
    bk_wa-book_record = bk_rec_tab .
    APPEND bk_wa TO i_data .
    CLEAR: cat_wa , bk_gp_wa ,bk_rec_wa , bk_wa .
    l_ixml = cl_ixml=>create( ).
    l_ixml_sf = l_ixml->create_stream_factory( ).
    l_document = l_ixml->create_document( ).
    l_root_element = l_document->create_element( name = 'asx:abap' ).
    l_root_element->set_attribute( name = 'xmlns:asx' value = 'http://www.sap.com/abapxml' ) .
    l_root_element->set_attribute( name = 'version' value = '1.0' ).
    l_document->append_child( new_child = l_root_element ).
    others = l_document->create_simple_element( parent = l_root_element name = 'asx:values' ).
    l_booklist = l_document->create_simple_element( parent = others name = 'BOOKLIST' ).
    LOOP AT i_data INTO bk_wa .
      CLEAR temp_string .
      MOVE: bk_wa-date TO temp_string .
      l_date = l_document->create_simple_element( parent = l_booklist name = 'DATE' value = temp_string  ).
      CLEAR temp_string .
      MOVE: bk_wa-time TO temp_string .
      l_time = l_document->create_simple_element( parent = l_booklist name = 'TIME' value = temp_string ).
      LOOP AT bk_wa-book_record INTO bk_rec_wa .
        l_book_record = l_document->create_simple_element( parent = l_booklist name = 'BOOK_RECORD' ) .
        CLEAR temp_string .
        MOVE: bk_rec_wa-book_num TO temp_string .
        l_date = l_document->create_simple_element( parent = l_book_record name = 'BOOK_NUM' value = temp_string ).
        CLEAR temp_string .
        MOVE: bk_rec_wa-short_desc TO temp_string .
        l_time = l_document->create_simple_element( parent = l_book_record name = 'SHORT_DESC' value = temp_string ).
        l_book_group = l_document->create_simple_element( parent = l_book_record name = 'BOOK_GROUP' ).
        LOOP AT bk_rec_wa-book_group INTO bk_gp_wa .
          LOOP AT bk_gp_wa-book_category INTO cat_wa .
            l_book_cat = l_document->create_simple_element( parent = l_book_group name = 'BOOK_CATEGORY' ).
            CLEAR temp_string .
            MOVE: cat_wa-category_id TO temp_string .
            l_date = l_document->create_simple_element( parent = l_book_cat name = 'CATEGORY_ID' value = temp_string ).
            CLEAR temp_string .
            MOVE: cat_wa-category_desc TO temp_string .
            l_time = l_document->create_simple_element( parent = l_book_cat name = 'CATEGORY_DESC' value = temp_string ).
          ENDLOOP .
        ENDLOOP .
      ENDLOOP .
    ENDLOOP .
    l_ostream = l_ixml_sf->create_ostream_xstring( xml ).
    l_document->render( ostream = l_ostream ).
    CREATE OBJECT l_xml.
    CALL METHOD l_xml->parse_xstring
      EXPORTING
        stream = xml.
    l_xml->render_2_string(
      EXPORTING
        pretty_print = 'X'
      IMPORTING
    *    RETCODE      = RETCODE
        stream       = xml_out
        size         = size
    CALL METHOD l_xml->display.
    Hope this is helpful.
    do let us know how it goes.
    Regards
    Raja

  • XML transformation -- abap

    Hi Experts, I need help with this XSLT for call transformation. I have defined an internal table and intend to use it as a source for Call Tranformation. But I have Problems to defining my internal table to get the resut of the function transformation.(SAP 4.7)
    In my case i have a xml with attibutes and i can't store these attibutes in internal table.
    Hope to hear from any of u soon!
    CMA
    <--XSLT--
    >
    <xsl:transform xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:sap="http://www.sap.com/abapxml" version="1.0">
      <xsl:template match="//Catalog">
        <asx:abap xmlns:asx="http://www.sap.com/abapxml">
          <asx:values>
            <CATALOG>
              <!-- Boucle catalogue -->
              <xsl:for-each select="EnTete">
                <ENTETE>
                  <EMETTEUR>
                    <xsl:value-of select="Emetteur"/>
                  </EMETTEUR>
                  <DATEPUBLICATION>
                    <xsl:value-of select="DatePublication"/>
                  </DATEPUBLICATION>
                  <!-- Suite -->
                  <xsl:for-each select="Univers">
                    <UNIVERS>
                      <LIBELLE>
                        <xsl:value-of select="@libelle"/>
                      </LIBELLE>
                      <OBJREF>
                        <xsl:value-of select="@objref"/>
                      </OBJREF>
                      <OBJID>
                        <xsl:value-of select="@objid"/>
                      </OBJID>
                      <EMETTEUR>
                         <xsl:value-of select="Emetteur"/>
                     </EMETTEUR>
                    </UNIVERS>
                  </xsl:for-each>
                </ENTETE>
              </xsl:for-each>
              <!-- ENTETE-->
            </CATALOG>
          </asx:values>
        </asx:abap>
      </xsl:template>
    </xsl:transform>
    <--XML--
    >
    <?xml version="1.0" encoding="UTF-8"?>
    <asx:abap xmlns:asx="http://www.sap.com/abapxml">
    <asx:values>
    <Catalog>
         <EnTete>
              <Emetteur>UGAP</Emetteur>
              <DatePublication>27/06/2007 09:20:02</DatePublication>
                  <Univers libelle="Nettoyage, hygine et entretien"  objref="08" objid="374417o.bemp" >
                     <Emetteur>UGAP</Emetteur>
                  </Univers>
               <Univers libelle="Nettoyage, hygine et entretien"  objref="09" objid="374417o.bemp" >
                     <Emetteur>UGAP</Emetteur> 
                  </Univers>
    </EnTete>       
    </Catalog>
    </asx:values>
    </asx:abap>
    <--abap--
    >
    TYPES: BEGIN OF t_universs,
           libelle(35),
           objref(35),
           objid(35),
          boutique  TYPE t_boutique,
           END OF t_universs.
    TYPES: t_univers TYPE t_universs OCCURS 0.
                   UNIVERS                 *
    TYPES: BEGIN OF t_entetes,
                Emetteur(20),
                DatePublication(30),
                UNIVERS  TYPE t_univers,
             END OF t_entetes.
    *TYPES: t_entete TYPE t_entetes OCCURS 0.
    DATA: it_data    TYPE STANDARD TABLE OF t_entetes,
          wa_data    TYPE t_entetes.
    PARAMETER p_file(200) DEFAULT '/tmp/catalogue4.xml' LOWER CASE .
    start-of-selection.
    DATA: dsn(20) VALUE '/usr/catalogue2.xml',
          msg(100).
    data : l_sysubrc like sy-subrc.
    *OPEN DATASET p_file FOR INPUT MESSAGE msg
                    IN TEXT MODE ENCODING DEFAULT.
    OPEN DATASET p_file FOR INPUT IN BINARY MODE.
    IF sy-subrc = 0.
    CLEAR : gv_read_xml.
    clear l_sysubrc.
    READ DATASET p_file INTO gv_read_xml.
    Transformation XML en ABAP-DATA
    PERFORM check_xml USING gv_read_xml.
    CLOSE DATASET p_file.
    ENDIF.
    *& Form check_xml
    FORM check_xml USING p_xml TYPE string.
    DATA: cx_runtime_error TYPE REF TO cx_xslt_runtime_error.
    DATA: cx_format_error TYPE REF TO cx_xslt_format_error.
    DATA: err_text TYPE string.
    DATA: lt_xml TYPE STANDARD TABLE OF typ_xml,
          ls_xml TYPE typ_xml,
          source_xml TYPE string,
          lt_result_xml TYPE abap_trans_resbind_tab,
          ls_result_xml TYPE abap_trans_resbind.
    TRY.
    CALL TRANSFORMATION ZUGAP
    SOURCE XML p_xml
    RESULT CATALOG = it_data.
    ENDTRY.
    LOOP AT it_data INTO wa_data.
    ENDLOOP.
    i'm wonder if is it possible to get attribute from xml with abap function transformation...
    Hope to hear from any of u soon!

    Hi Marcelo,
    Thanks a lot for your reply, your code is very usefull but my problem is located around the XSLT file.
    With my progam (abap), I can't read the attibutes from a XML file correctly because the XSLT have not the suitable tags.
    In my XML i have 2 rows of "Univers" and after use the function transformation from abap i can store only 1 rows in internal table   :
    <Catalog>
         <EnTete>
              <Emetteur>UBB</Emetteur>
                  <b><Univers libelle="Nettoyage, hygine et entretien"  objref="08">
                  </Univers>
                  <Univers libelle="Nettoyage, hygine et entretien"  objref="09">
                  </Univers></b>     
                  </EnTete>       
    </Catalog>
    XSLT :
    <xsl:for-each select="EnTete">
                <ENTETE>
                  <EMETTEUR>
                    <xsl:value-of select="Emetteur"/>
                  </EMETTEUR>
                   <xsl:for-each select="Univers">
                    <UNIVERS>
                      <UNIVERS1>
                        <LIBELLE> <xsl:value-of select="@libelle"/></LIBELLE>
                        <OBJREF> <xsl:value-of select="@objref"/>  </OBJREF>
                      </UNIVERS1>
                    </UNIVERS>
                   </xsl:for-each>
                </ENTETE>
              </xsl:for-each>
    My question is : How can i do to define attributes in XSLT to allow read them by a program abap ?
    In my example, the program abap get only 1 attribute in my iternal table, what is the suitable syntax in the xslt to read all the attributes  ?
    Hope to hear from any of u soon!
    Christophe.

  • How to change XML Header in  file

    Hi,
    How to have the following XML output header XML with simple transformation:
    <?xml version="1.0"> encording="ISO-8859-1"?>
    When I used the following transformation template:
    <tt:transform xmlns:tt="http://www.sap.com/transformation-templates">
    I get the following output header and file is not readable.
    <?xml version="1.0" encoding="utf-16" ?>
    If i call tranformation without encoding option file is creted and readable. Does there is any impact on functionality if file is without header.
    Thanks
    anya

    Hi,
    you could use the below alternative solution also as some Web services do not accept the message , if Content type is application/XML in the HTTP Header, it will accept only Text/XML. So While calling the Web service, the content has to be changed, This is possible using Module of the adapter as shown in the screen shot.
    HTTP Header field values before using the module
    User-Agent: SAP-Messaging-com.sap.aii.messaging/1.0505
    content-id: [email protected]
    content-type: application/xml
    Content-Length: 1280
    Module name - localejbs/AF_Modules/MessageTranspormationBean
    Type - Local Enterprise Bean Module - This is defined by the user, but the same name should be given in the module configuration for passing the parameters. In this case “transform” In the module configuration ,
    Module key - In this case “transform”
    Parameter name - Transform.ContenType
    Parameter Value - text/xml;charset=utf-8
    Here you could use the required parameters and pass the values....:-))
    Thanks
    Swarup

  • IDOC(ALEAUD01) to file...

    Hi ..
    we have a client requirment were they want the ALEAUD acknowledgement in the form of file.
    So we are creating a IDOC to file scenario, where IDOC is ALEAUD which is mapped to create a file in the traget system. but when we post the IDoc we get thwe following error.
    **Note: have a small doubt. Can we use ALEAUD Idoc as a normal IDoc to File Scenario. because with the documents i understand that ALEAUD is a acknowledgment IDoc which is generated based on the request IDOC. but in our scenario we are manually using the structure of ALEAUD in the source system**
    <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
    <!-- Inbound Message
    -->
    <SAP:Error xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="1">
    <SAP:Category>XIAdapter</SAP:Category>
    <SAP:Code area="IDOC_ADAPTER">ATTRIBUTE_NO_REQUEST</SAP:Code>
    <SAP:P1 />
    <SAP:P2 />
    <SAP:P3 />
    <SAP:P4 />
    <SAP:AdditionalText />
    <SAP:ApplicationFaultMessage namespace="" />
    <SAP:Stack>ALEAUDIT IDoc cannot find request IDoc in Integration Server</SAP:Stack>
    <SAP:Retry>N</SAP:Retry>
    </SAP:Error>
    please refer the thread having similer query...
    Error in IDOC(ALEAUD) to file Scenario
    anybdy have done the scenario....?????????/
    Actualy i am sending shipment details from legacy system to SAP using IDOC (TPSSHT01)..and ... i dont want the acknowledgement imidiately....
    is there any solution for this????/

    Hi Biplab,
    Looking at the Structure of the IDOC ALEAUD basic type ALEAUD01 it doesnt seem like  you can use it in a request sccenario. 
    Check the segment
    E1PRTOB : IDoc number and application object in receiving system.
    It would always have a receving system Information attached.
    Hence I feel, you cannot use it for Request messages.
    To convert this to a XML  file, you can use SAP function modules or call tranformations directly  which generate files.  If i understand your requirement correctly, no mapping would be needed.
    Let me know if this was helpful.
    Regards,
    Abhishek

  • Java.lang.thread exception while using Xalan 2.0 in WLS 6.0

    Hi, I'm trying to use Xalan 2.0 in a servlet hosted by WLS. Ive
    modified Xalan's SimpleTransform sample to be a servlet. I
    create a Transformer with the .xsl, then call tranform() to
    print the tranformed xml to the response stream. The xml is
    tranformed correctly, but it throws a java.lang.thread
    exception. The standalone Xalan sample doesn't do this. Anyone
    else seen this problem?
    Here's the code of interestest, I apologize if its not formatted very well:
    public void doGet(HttpServletRequest req, HttpServletResponse res) throws IOException
         PrintWriter out = res.getWriter();
         res.setContentType("text/html");
         out.println("<html><head><title>XalanTest<title></head>");
         out.println("<body><h1>XalanTest</h1>");
         try{
         TransformerFactory tFactory = TransformerFactory.newInstance();
         StreamSource ss = new StreamSource("file:\\\\My-path\\birds.xsl");
         Transformer transformer = tFactory.newTransformer(ss);
         StreamResult SR = new StreamResult(out);
         transformer.transform(new StreamSource("file:\\\\My-path\\birds.xml"), SR );
         catch(Exception e){
         out.println("<p>" + e.toString() + "</p>");
         e.printStackTrace(out);
         out.println("<p>Exception</p>");
              out.println("</body></html>");

    It also looks like the workaround suggested does not work.
    I put the following code as workaround:
         response.setContentType("text/html");
         response.setHeader ("Pragma", "no-cache");
         Transformer transformer;
         TransformerFactory factory = TransformerFactory.newInstance();
         String stylesheet = "config\\closs\\applications\\webroot\\jsp\\example\\Load2.xsl";
         String sourceId = "config\\closs\\applications\\webroot\\jsp\\example\\Load2.xml";
         String outputFile = "config\\closs\\applications\\webroot\\jsp\\example\\Load2.html";
         String outputDirectFile = "config\\closs\\applications\\webroot\\jsp\\example\\Load2_Direct.html";
         try
              PrintWriter fout = new PrintWriter (new FileOutputStream (outputFile));
              OutputStream os = new ByteArrayOutputStream();
              transformer = factory.newTransformer(new StreamSource(stylesheet));
              transformer.transform(new StreamSource(sourceId), new StreamResult(outputDirectFile));
              transformer.transform(new StreamSource(sourceId), new StreamResult(os));
              os.flush ();
              os.close();
              out.print(os.toString());
              fout.print (os.toString ());
              fout.flush ();
              fout.close ();
         catch (Exception e)
              // Error Handler
         e.printStackTrace();
    The two .html files produced look exactly the same, which is good.
    However, the screen output to my html browser (Internet Explorer 5.50 sp1) produces
    different output.
    That is strange, but that shows that this bug does not have a known workaround
    "Rabinowitz" <[email protected]> wrote:
    >
    I have the same problem with java sun xml parser (jaxp 1-1)
    It is interesting to know that all this perfectly works under weblogic
    5.1, so
    I cannot migrate my application to 6.0
    So, the functionality of weblogic 6.0 degraded since 5.1.
    I cannot buy the explanation that that is not bea's fault, because it
    perfectly
    worked with the same version of xml parser.
    Now, their customer support is saying they have not decided whether this
    is a
    bug or a feature.
    Interesting to know that degradation of functionality could be a feature!
    It is now June 21, 3 months since this bug was reported, sp2 was shipped
    since
    that time, and this bug is still there.
    "Chuck H. Zhao" <[email protected]> wrote:
    I am having the exact same problem you are having. If we analyze the
    stack
    trace:
    javax.xml.transform.TransformerException: java.lang.Thread
    at
    org.apache.xalan.transformer.TransformerImpl.transformNode(TransformerImpl.j
    ava:1212)
    at
    org.apache.xalan.transformer.TransformerImpl.run(TransformerImpl.java:2894)
    at java.lang.Thread.run(Thread.java:484)
    java.lang.ClassCastException: java.lang.Thread
    at
    weblogic.servlet.internal.ResponseHeaders.setDateHeader(ResponseHeaders.java
    :273)
    at
    weblogic.servlet.internal.ServletResponseImpl.setDateHeader(ServletResponseI
    mpl.java:449)
    at
    weblogic.servlet.internal.ServletResponseImpl.writeHeaders(ServletResponseIm
    pl.java:637)
    at
    weblogic.servlet.internal.ServletOutputStreamImpl.flush(ServletOutputStreamI
    mpl.java:124)
    at
    weblogic.servlet.internal.WLOutputStreamWriter.flush(WLOutputStreamWriter.ja
    va:124)
    at java.io.PrintWriter.flush(PrintWriter.java:120)
    at
    org.apache.xalan.serialize.SerializerToXML.flushWriter(SerializerToXML.java:
    1431)
    at
    org.apache.xalan.serialize.SerializerToXML.endDocument(SerializerToXML.java:
    629)
    at
    org.apache.xalan.transformer.ResultTreeHandler.endDocument(ResultTreeHandler
    ..java:180)
    at
    org.apache.xalan.transformer.TransformerImpl.transformNode(TransformerImpl.j
    ava:1194)
    at
    org.apache.xalan.transformer.TransformerImpl.run(TransformerImpl.java:2894)
    at java.lang.Thread.run(Thread.java:484)
    What happened is: to support incremental output, Xalan-Java performs
    the
    transformation in a second thread while building the source tree inthe
    main
    thread. So Transformer.transform() creates a new thread to run the
    transformer.run() method, which will write to weblogic's internal
    ServletOutputStreamImpl, and in the end calls flush() on it.
    ServletOutputStreamImpl determines that the headers haven't been written
    yet, and the headers need to be written before any servlet output, so
    it
    calls ServletResponseImpl.writeHeaders(), which eventually calls
    ResponseHeaders.setDateHeader(). The last method assumes the thread
    is
    weblogic's internal ExecuteThread and tries to cast the thread as such,
    maybe to get the date from it. But the thread is a plain java.lang.Thread
    created by xalan, thus we get the java.lang.ClassCastException:
    java.lang.Thread
    This suggests a second workaround: call ServletResponse.flushBuffer()
    before any xalan stuff, which will force the headers to be written in
    weblogic's ExecuteThread. The shortcoming of this is that this will
    cause
    the response to be commited, and if the xalan stuff throws exception
    you can
    not forward to another page.
    Another thing is that xalan should not directly call flush() on
    ServletOutputStreamImpl at all. I will report it to xalan and see if
    they
    consider that a bug. If they fix that then we have a third workaround:
    set
    the buffer size of ServletResponse big enough to accomodate everything
    including the xslt outputs, so the ServletOutput does not need to be
    flushed
    during xalan code.
    I do not consider this problem a weblogic bug, since the servlet container
    has to right to expect any thread inside it to be its own. Serlvet2.2
    spec
    says:
    1.2 What is a Servlet Container?
    A Servlet Container may place security restrictions on the environment
    that
    a servlet executes in. In
    a Java 2 Platform Standard Edition 1.2 (J2SE) or Java 2 Platform Enterprise
    Edition 1.2 (J2EE)
    environment, these restrictions should be placed using the permission
    architecture defined by Java 2
    Platform. For example, high end application servers may limit certain
    action, such as the creation of
    a Thread object, to insure that other components of the container are
    not
    negatively impacted.
    Weblogic should explicitly warn the developers that creating threads
    inside
    the servlet container may have adverse effects, the same kind of problem
    we
    are having. (or maybe they already did somewhere in their documentation?)
    On the xalan side, I would suggest them to either give the option to
    switch
    the two threads, or to give the option to buffer the output and write
    it out
    in the main thread, which is exactly what you did in your first workaround.
    Any comments or thoughts on the subject are welcome.
    -- Chuck Zhao
    "MK Parini" <[email protected]> wrote in message
    news:[email protected]...
    I found, what I think to be a bug, and a work-around for it.
    When doing an XSLT Transformation, you must specify a StreamResult
    to which to write the output. I was doing my transformation in
    a
    servlet so I was writing my output to the HttpResponse
    (The variable res is a javax.servlet.http.HttpServletResponse
    object)
    StreamResult htmlTarget = new StreamResult(res.getWriter());
    If I use this, when I perform the transformation using the TRAX
    APIs,
    InputStream xslFile = context.getResourceAsStream(fileName);
    TransformerFactory tFactory = TransformerFactory.newInstance();
    Templates xslTemplates = tFactory.newTemplates(new StreamSource(xslFile));
    transformer = xslTemplates.newTransformer();
    transformer.transform(xmlSource, htmlTarget);
    I receive the ClassCastException from the class
    weblogic.servlet.internal.ResponseHeaders.setDateHeader(ResponseHeaders.java
    :273),
    as seen in my previous posting.
    I discovered, if I write my output to a StringBuffer, and then
    I write
    the StringBuffer to the HttpResponse, I do not get the ClassCastException.
    For example,
    StringWriter myWriter = new StringWriter(2400);
    StreamResult htmlTarget = new StreamResult(myWriter);
    <Same transformation code as above>
    myWriter.close();
    PrintWriter out = res.getWriter();
    out.print(myWriter.toString());
    Is this a bug in the weblogic internal servlet class or am I just
    missing something?
    Also, one concern that I have with the workaround is that it might
    hurt performance.
    Any comments or thoughts on the subject are welcome.

  • EOIO lost when tranform called in BPM

    Hey all - we recently upgraded to SP11 & have found that for an EOIO interface, if it goes into a BPM & a transform step is called, the output is no longer EOIO.  We THOUGHT this worked before, but wondering if anyone has seen something similar?  We are searching thru OSS now...  Thanks!

    For fun, we tested a BPM process with no transform step that is simple...
    receive -> branch -> send
    The branch has the "default" leg going to the send, the other 2 are filters to end successfully... And when we send 100 interfaces thru this, they end up in order.  I ran the test about 10 times, just to be sure we weren't lucky - and always the sequence is maintained...
    Do you have the OSS note from your friend?  If we could see this in writing - that the sequence isn't guaranteed - it would help us a lot.  Thanks for all the input!!!

  • Need help in creating XSD for a WSDL file to tranform given XML

    Hi,
    Please let me knoe if this is the right forum to post the query below:
    We are trying to transform a XML output from a webservice using a XSD file. But we are facing problem as the XML output has some namespace issue and schema due to which transformation is not working fine. I am pasting the files below:
    WSDL file used is
    <?xml version="1.0" encoding="utf-8"?>
    <wsdl:definitions xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns="http://tempuri.org/Projectix20/SOAPAccess" xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" targetNamespace="http://tempuri.org/Projectix20/SOAPAccess" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
    <wsdl:types>
    <s:schema elementFormDefault="qualified" targetNamespace="http://tempuri.org/Projectix20/SOAPAccess">
    <s:element name="ExecuteSQLToXML">
    <s:complexType>
    <s:sequence>
    <s:element minOccurs="0" maxOccurs="1" name="SQL" type="s:string" />
    <s:element minOccurs="0" maxOccurs="1" name="GUID" type="s:string" />
    <s:element minOccurs="0" maxOccurs="1" name="Password" type="s:string" />
    </s:sequence>
    </s:complexType>
    </s:element>
    <s:element name="ExecuteSQLToXMLResponse">
    <s:complexType>
    <s:sequence>
    <s:element minOccurs="0" maxOccurs="1" name="ExecuteSQLToXMLResult">
    <s:complexType mixed="true">
    <s:sequence>
    <s:element minOccurs="0" maxOccurs="1" name="NewDataSet">
    <s:complexType>
    <s:choice>
    <s:element minOccurs="0" maxOccurs="unbounded" name="Table1">
    <s:complexType>
    <s:sequence>
    <s:element minOccurs="0" maxOccurs="10" name="FName" type="s:string" />
    </s:sequence>
    </s:complexType>
    </s:element>
    </s:choice>
    </s:complexType>
    </s:element>
    </s:sequence>
    </s:complexType>
    </s:element>
    </s:sequence>
    </s:complexType>
    </s:element>
    <s:element name="GetDataTablePage">
    <s:complexType>
    <s:sequence>
    <s:element minOccurs="0" maxOccurs="1" name="SQL" type="s:string" />
    <s:element minOccurs="1" maxOccurs="1" name="PageNumber" type="s:int" />
    <s:element minOccurs="1" maxOccurs="1" name="RecordsPerPage" type="s:int" />
    <s:element minOccurs="0" maxOccurs="1" name="GUID" type="s:string" />
    <s:element minOccurs="0" maxOccurs="1" name="Password" type="s:string" />
    </s:sequence>
    </s:complexType>
    </s:element>
    <s:element name="GetDataTablePageResponse">
    <s:complexType>
    <s:sequence>
    <s:element minOccurs="0" maxOccurs="1" name="GetDataTablePageResult">
    <s:complexType mixed="true">
    <s:sequence>
    <s:any />
    </s:sequence>
    </s:complexType>
    </s:element>
    </s:sequence>
    </s:complexType>
    </s:element>
    <s:element name="GetRecordCount">
    <s:complexType>
    <s:sequence>
    <s:element minOccurs="0" maxOccurs="1" name="SQL" type="s:string" />
    <s:element minOccurs="0" maxOccurs="1" name="GUID" type="s:string" />
    <s:element minOccurs="0" maxOccurs="1" name="Password" type="s:string" />
    </s:sequence>
    </s:complexType>
    </s:element>
    <s:element name="GetRecordCountResponse">
    <s:complexType>
    <s:sequence>
    <s:element minOccurs="1" maxOccurs="1" name="GetRecordCountResult" type="s:int" />
    </s:sequence>
    </s:complexType>
    </s:element>
    <s:element name="UploadCanAtt">
    <s:complexType>
    <s:sequence>
    <s:element minOccurs="1" maxOccurs="1" name="CanID" type="s:int" />
    <s:element minOccurs="0" maxOccurs="1" name="Filename" type="s:string" />
    <s:element minOccurs="0" maxOccurs="1" name="bytesData" type="s:base64Binary" />
    <s:element minOccurs="0" maxOccurs="1" name="GUID" type="s:string" />
    <s:element minOccurs="0" maxOccurs="1" name="Password" type="s:string" />
    </s:sequence>
    </s:complexType>
    </s:element>
    <s:element name="UploadCanAttResponse">
    <s:complexType>
    <s:sequence>
    <s:element minOccurs="1" maxOccurs="1" name="UploadCanAttResult" type="s:int" />
    </s:sequence>
    </s:complexType>
    </s:element>
    <s:element name="DownloadCanAtt">
    <s:complexType>
    <s:sequence>
    <s:element minOccurs="1" maxOccurs="1" name="CanAttID" type="s:int" />
    <s:element minOccurs="0" maxOccurs="1" name="GUID" type="s:string" />
    <s:element minOccurs="0" maxOccurs="1" name="Password" type="s:string" />
    </s:sequence>
    </s:complexType>
    </s:element>
    <s:element name="DownloadCanAttResponse">
    <s:complexType>
    <s:sequence>
    <s:element minOccurs="0" maxOccurs="1" name="DownloadCanAttResult" type="s:base64Binary" />
    </s:sequence>
    </s:complexType>
    </s:element>
    </s:schema>
    </wsdl:types>
    <wsdl:message name="ExecuteSQLToXMLSoapIn">
    <wsdl:part name="parameters" element="tns:ExecuteSQLToXML" />
    </wsdl:message>
    <wsdl:message name="ExecuteSQLToXMLSoapOut">
    <wsdl:part name="parameters" element="tns:ExecuteSQLToXMLResponse" />
    </wsdl:message>
    <wsdl:message name="GetDataTablePageSoapIn">
    <wsdl:part name="parameters" element="tns:GetDataTablePage" />
    </wsdl:message>
    <wsdl:message name="GetDataTablePageSoapOut">
    <wsdl:part name="parameters" element="tns:GetDataTablePageResponse" />
    </wsdl:message>
    <wsdl:message name="GetRecordCountSoapIn">
    <wsdl:part name="parameters" element="tns:GetRecordCount" />
    </wsdl:message>
    <wsdl:message name="GetRecordCountSoapOut">
    <wsdl:part name="parameters" element="tns:GetRecordCountResponse" />
    </wsdl:message>
    <wsdl:message name="UploadCanAttSoapIn">
    <wsdl:part name="parameters" element="tns:UploadCanAtt" />
    </wsdl:message>
    <wsdl:message name="UploadCanAttSoapOut">
    <wsdl:part name="parameters" element="tns:UploadCanAttResponse" />
    </wsdl:message>
    <wsdl:message name="DownloadCanAttSoapIn">
    <wsdl:part name="parameters" element="tns:DownloadCanAtt" />
    </wsdl:message>
    <wsdl:message name="DownloadCanAttSoapOut">
    <wsdl:part name="parameters" element="tns:DownloadCanAttResponse" />
    </wsdl:message>
    <wsdl:portType name="SOAPAccessSoap">
    <wsdl:operation name="ExecuteSQLToXML">
    <documentation xmlns="http://schemas.xmlsoap.org/wsdl/">Executes a SQL statement and returns a generic XML document with results from SQL statement.</documentation>
    <wsdl:input message="tns:ExecuteSQLToXMLSoapIn" />
    <wsdl:output message="tns:ExecuteSQLToXMLSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="GetDataTablePage">
    <documentation xmlns="http://schemas.xmlsoap.org/wsdl/">Executes a SQL statement and returns a generic XML document with results from SQL statement.</documentation>
    <wsdl:input message="tns:GetDataTablePageSoapIn" />
    <wsdl:output message="tns:GetDataTablePageSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="GetRecordCount">
    <documentation xmlns="http://schemas.xmlsoap.org/wsdl/">Executes a SQL statement and returns a generic XML document with results from SQL statement.</documentation>
    <wsdl:input message="tns:GetRecordCountSoapIn" />
    <wsdl:output message="tns:GetRecordCountSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="UploadCanAtt">
    <documentation xmlns="http://schemas.xmlsoap.org/wsdl/">Uploads a text or binary attachment file for a Candidate record.</documentation>
    <wsdl:input message="tns:UploadCanAttSoapIn" />
    <wsdl:output message="tns:UploadCanAttSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="DownloadCanAtt">
    <documentation xmlns="http://schemas.xmlsoap.org/wsdl/">Uploads a text or binary attachment file for a Candidate record.</documentation>
    <wsdl:input message="tns:DownloadCanAttSoapIn" />
    <wsdl:output message="tns:DownloadCanAttSoapOut" />
    </wsdl:operation>
    </wsdl:portType>
    <wsdl:binding name="SOAPAccessSoap" type="tns:SOAPAccessSoap">
    <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document" />
    <wsdl:operation name="ExecuteSQLToXML">
    <soap:operation soapAction="http://tempuri.org/Projectix20/SOAPAccess/ExecuteSQLToXML" style="document" />
    <wsdl:input>
    <soap:body use="literal" />
    </wsdl:input>
    <wsdl:output>
    <soap:body use="literal" />
    </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetDataTablePage">
    <soap:operation soapAction="http://tempuri.org/Projectix20/SOAPAccess/GetDataTablePage" style="document" />
    <wsdl:input>
    <soap:body use="literal" />
    </wsdl:input>
    <wsdl:output>
    <soap:body use="literal" />
    </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetRecordCount">
    <soap:operation soapAction="http://tempuri.org/Projectix20/SOAPAccess/GetRecordCount" style="document" />
    <wsdl:input>
    <soap:body use="literal" />
    </wsdl:input>
    <wsdl:output>
    <soap:body use="literal" />
    </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="UploadCanAtt">
    <soap:operation soapAction="http://tempuri.org/Projectix20/SOAPAccess/UploadCanAtt" style="document" />
    <wsdl:input>
    <soap:body use="literal" />
    </wsdl:input>
    <wsdl:output>
    <soap:body use="literal" />
    </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="DownloadCanAtt">
    <soap:operation soapAction="http://tempuri.org/Projectix20/SOAPAccess/DownloadCanAtt" style="document" />
    <wsdl:input>
    <soap:body use="literal" />
    </wsdl:input>
    <wsdl:output>
    <soap:body use="literal" />
    </wsdl:output>
    </wsdl:operation>
    </wsdl:binding>
    <wsdl:service name="SOAPAccess">
    <wsdl:port name="SOAPAccessSoap" binding="tns:SOAPAccessSoap">
    <soap:address location="http://sales.projectix.com:81/customer/SOAPAccess.asmx" />
    </wsdl:port>
    </wsdl:service>
    </wsdl:definitions>
    XSD file used for transformation is:
    <?xml version = '1.0' encoding = 'UTF-8'?>
    <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" >
    <xs:element name="ExecuteSQLToXMLResponse">
    <xs:complexType>
    <xs:sequence>
    <xs:element ref="ExecuteSQLToXMLResult"/>
    </xs:sequence>
    </xs:complexType>
    </xs:element>
    <xs:element name="parameters">
    <xs:complexType>
    <xs:sequence>
    <xs:element ref="ExecuteSQLToXMLResponse"/>
    </xs:sequence>
    </xs:complexType>
    </xs:element>
    <xs:element name="ExecuteSQLToXMLResult">
    <xs:complexType>
    <xs:sequence>
    <xs:element ref="NewDataSet"/>
    </xs:sequence>
    </xs:complexType>
    </xs:element>
    <xs:element name="FNAME" type="xs:string"/>
    <xs:element name="Table1">
    <xs:complexType>
    <xs:sequence>
    <xs:element ref="FNAME"/>
    </xs:sequence>
    </xs:complexType>
    </xs:element>
    <xs:element name="NewDataSet">
    <xs:complexType>
    <xs:sequence>
    <xs:element minOccurs="0" maxOccurs="unbounded" ref="Table1"/>
    </xs:sequence>
    </xs:complexType>
    </xs:element>
    </xs:schema>
    XML Output from webservice call that we are trying to tranform using above XSD is:
    <parameters >
    <ExecuteSQLToXMLResponse xmlns = "http://tempuri.org/Projectix20/SOAPAccess" >
    <ExecuteSQLToXMLResult >
    <NewDataSet xmlns = "" >
    <xs:schema xmlns:xs = "http://www.w3.org/2001/XMLSchema" xmlns:msdata = "urn:schemas-microsoft-com:xml-msdata" >
    <xs:element name = "NewDataSet" msdata:IsDataSet = "true" >
    <xs:complexType >
    <xs:choice maxOccurs = "unbounded" >
    <xs:element name = "Table1" >
    <xs:complexType >
    <xs:sequence >
    <xs:element name = "FNAME" type = "xs:string" minOccurs = "0" ></xs:element>
    </xs:sequence>
    </xs:complexType>
    </xs:element>
    </xs:choice>
    </xs:complexType>
    </xs:element>
    </xs:schema>
    <Table1 >
    <FNAME >
    JOHN
    </FNAME>
    </Table1>
    <Table1 >
    <FNAME >
    John
    </FNAME>
    </Table1>
    <Table1 >
    <FNAME >
    John
    </FNAME>
    </Table1>
    <Table1 >
    <FNAME >
    JOHN
    </FNAME>
    </Table1>
    <Table1 >
    <FNAME >
    John
    </FNAME>
    </Table1>
    </NewDataSet>
    </ExecuteSQLToXMLResult>
    </ExecuteSQLToXMLResponse>
    </parameters>
    I am not sure what we are missing in XSD file that the XML output is not getting transformed correctly...although we tried transforming the XML output by removing some information in XML output above and it was getting trasformed properly..
    We remove
    1. xmlns = "http://tempuri.org/Projectix20/SOAPAccess" from <ExecuteSQLToXMLResponse xmlns = "http://tempuri.org/Projectix20/SOAPAccess" >
    2. xmlns = "" from <NewDataSet xmlns = "" >
    3 remove <parameters > and </parameters > tags from output and the XML Output is getting tranformed correctly.
    Please let us know if we can transform the XML Output without requiring these removals.
    Thanks,
    Pawan

    Could you clarify some things? You are saying you are trying to transform the xml output of a webservice with an xsd, but an xsd is a schema that describes the allowed format of a xml file. If you want to transform xml from one format to an other (from one xsd to an other) you have to use a xsl file. You can make and test this with JDeveloper. Are you calling the webservice from esb or bpel?
    Kind Regards,
    Andre

  • How to do a FFT tranformation for every file in a folder of another folder?

    Dear all,
    I have a folder A, there are seven folders in folder A, I call these seven folders B. and there are 100 files in every folder B. These files are all the data information of current.
    ok, now I need to transfer every current file into a FFT tranformation, and save the transferred files corresponding to the original file.
    Does anyone have some idea? Thank you for any help!
    Jing

    Hi Mike
    In this way, How can I save the transferred files as the same way as the original files and folders?
    after FFT transformation, I hope to get 100 files in every "transferred B" and seven "transferred B" folders in one "transferred A" folder.
    Jing 

  • Problem with Call Transformation (ABAP to XML)

    Hello
       I call the tranformation function to serialize. I want to convert a ABAP internal table into XML.One of the column type is of time(t). On transformation, the values are changed.
      Ex : If I have  a value of 000009 (time format), on calling transformation it gets converted to 00:00:09. I dont want this conversion. I want to have the value as it is. I cant change the column data type from time to string.
    Regards
    Raghavendra

    hi
    good
    try this code
    Just look at this piece of code, I think it should help you.
      DATA : ITAB   TYPE TABLE OF SPFLI,
             L_XML  TYPE REF TO CL_XML_DOCUMENT.
      SELECT * FROM SPFLI INTO TABLE ITAB.
    CREATE THE XML OBJECT
      CREATE OBJECT L_XML.
    CONVERT THE DATA TO XML
      CALL METHOD L_XML->CREATE_WITH_DATA( DATAOBJECT = ITAB[] ).
    DATA IS CONVERTED TO XML; DISPLAY THE XML-DOCUMENT
      CALL METHOD L_XML->DISPLAY.
    thanks
    mrutyun^

  • Error in Tranform Activity While Writing From File to DB Table

    Hi All,
    I m trying to read the contents of a csv file and writing it to the db table.
    When I am trying to map the file content to the db table using tranform activity, I am getting error as "failed to save XSL Map. Make sure XSL Map is valid".
    Any ideas on how to over come this issue.
    thnx in advance
    Edited by: md.irfan.khan on Sep 7, 2009 4:00 AM

    followed the steps mentioned below. but still I'm getting the same error:
    my transform.xsl file is as follows:
    <?xml version = '1.0' encoding = 'UTF-8'?>
    <ns0:SampledataCollection xmlns:ns0="http://xmlns.oracle.com/pcbpel/adapter/db/top/dbWriteService">
    <ns0:Sampledata>
    <ns0:firstnm>1</ns0:firstnm>
    <ns0:gender>2</ns0:gender>
    <ns0:age>3</ns0:age>
    <ns0:lastnm>4</ns0:lastnm>
    </ns0:Sampledata>
    <ns0:Sampledata>
    <ns0:firstnm>5</ns0:firstnm>
    <ns0:gender>6</ns0:gender>
    <ns0:age>7</ns0:age>
    <ns0:lastnm>8</ns0:lastnm>
    </ns0:Sampledata>
    <ns0:Sampledata>
    <ns0:firstnm>9</ns0:firstnm>
    <ns0:gender>10</ns0:gender>
    <ns0:age>11</ns0:age>
    <ns0:lastnm>12</ns0:lastnm>
    </ns0:Sampledata>
    </ns0:SampledataCollection>
    Logs from Audit Trails Activity:
    <?xml version="1.0" encoding="UTF-8" ?>
    - <audit-trail>
    - <event sid="0" cat="2" type="2" n="0" date="2009-09-08T10:14:48.080+03:00">
    - <message>
    - <![CDATA[ New instance of BPEL process "file2DbProcess" initiated (# "40001").
      ]]>
    </message>
    </event>
    - <event sid="BpPrc0.1" cat="1" type="2" label="process" n="1" date="2009-09-08T10:14:48.095+03:00" psid="0">
    - <message>
    - <![CDATA[ _cr_
      ]]>
    </message>
    </event>
    - <event sid="BpTry0.2" cat="1" type="2" n="2" date="2009-09-08T10:14:48.127+03:00" psid="BpPrc0.1">
    - <message>
    - <![CDATA[ _cr_
      ]]>
    </message>
    </event>
    - <event sid="BpSeq0.3" cat="1" type="2" label="sequence" n="3" date="2009-09-08T10:14:48.127+03:00" psid="BpTry0.2">
    - <message>
    - <![CDATA[ _cr_
      ]]>
    </message>
    </event>
    - <event sid="BpSeq0.3" cat="2" type="2" wikey="40001-BpRcv0-BpSeq0.3-1" n="4" date="2009-09-08T10:14:48.158+03:00">
    - <message>
    - <![CDATA[ Received "inputVariable" call from partner "client"
      ]]>
    </message>
    <details id="0" />
    - <detailsTemplate>
    - <![CDATA[ <inputVariable><part xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  name="payload"><toReplace id="0"/></part></inputVariable>
      ]]>
    </detailsTemplate>
    </event>
    - <event to="Invoke_fileService_SyncFileReadOperation_InputVariable_1" sid="BpSeq0.3" cat="2" type="1" wikey="40001-BpAss0-BpSeq0.3-2" n="5" date="2009-09-08T10:14:48.189+03:00">
    - <message>
    - <![CDATA[ Updated variable "Invoke_fileService_SyncFileReadOperation_InputVariable_1"
      ]]>
    </message>
    - <details>
    - <![CDATA[
    <Invoke_fileService_SyncFileReadOperation_InputVariable_1><part xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="Empty"><empty xmlns="http://xmlns.oracle.com/pcbpel/adapter/file/fileReadService/">
                <ns1:input xmlns:ns1="http://xmlns.oracle.com/file2DbProcess">gdfghf</ns1:input>
            </empty>
    </part></Invoke_fileService_SyncFileReadOperation_InputVariable_1>
      ]]>
    </details>
    </event>
    - <event sid="BpSeq0.3" cat="2" type="4" wikey="40001-BpInv0-BpSeq0.3-3" partnerWSDL="fileReadService.wsdl" n="6" date="2009-09-08T10:14:48.439+03:00">
    - <message>
    - <![CDATA[ Faulted while invoking operation "SyncFileReadOperation" on provider "fileReadService".
      ]]>
    </message>
    - <details>
    - <![CDATA[
    <messages><input><Invoke_fileService_SyncFileReadOperation_InputVariable_1><part xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="Empty"><empty xmlns="http://xmlns.oracle.com/pcbpel/adapter/file/fileReadService/">
                <ns1:input xmlns:ns1="http://xmlns.oracle.com/file2DbProcess">gdfghf</ns1:input>
            </empty>
    </part></Invoke_fileService_SyncFileReadOperation_InputVariable_1></input><fault><bindingFault xmlns="http://schemas.oracle.com/bpel/extension"><part name="code"><code>null</code>
    </part><part name="summary"><summary>file:/C:/OracleBpel/10.1.3.1/OraBPEL_1/bpel/domains/default/tmp/.bpel_file2DbProcess_v2009_09_08__36696_083f54f05823204c42612c5188057cd4.tmp/fileReadService.wsdl [ SyncFileReadOperation_ptt::SyncFileReadOperation(Empty,SampledataCollection) ] - WSIF JCA Execute of operation 'SyncFileReadOperation' failed due to: Error while translating.
    Error occured while translating content from file C:\JDeveloperStudio10131\jdev\mywork\inputs\fileRead\csvFileInput.csv [Caused by: Start of root element expected.]
    ; nested exception is:
         ORABPEL-11008
    Error while translating.
    Error occured while translating content from file C:\JDeveloperStudio10131\jdev\mywork\inputs\fileRead\csvFileInput.csv [Caused by: Start of root element expected.]
    Check the error stack and fix the cause of the error. Contact oracle support if error is not fixable.
    </summary>
    </part><part name="detail"><detail>null</detail>
    </part></bindingFault></fault></messages>
    ]]>
    </details>
    </event>
    - <event sid="BpSeq0.3" cat="2" type="4" wikey="40001-BpInv0-BpSeq0.3-3" n="7" date="2009-09-08T10:14:48.439+03:00">
    - <message>
    - <![CDATA[ "{http://schemas.oracle.com/bpel/extension}bindingFault" has been thrown.
    ]]>
    </message>
    - <details>
    - <![CDATA[
    <bindingFault xmlns="http://schemas.oracle.com/bpel/extension"><part name="code"><code>null</code>
    </part><part name="summary"><summary>file:/C:/OracleBpel/10.1.3.1/OraBPEL_1/bpel/domains/default/tmp/.bpel_file2DbProcess_v2009_09_08__36696_083f54f05823204c42612c5188057cd4.tmp/fileReadService.wsdl [ SyncFileReadOperation_ptt::SyncFileReadOperation(Empty,SampledataCollection) ] - WSIF JCA Execute of operation 'SyncFileReadOperation' failed due to: Error while translating.
    Error occured while translating content from file C:\JDeveloperStudio10131\jdev\mywork\inputs\fileRead\csvFileInput.csv [Caused by: Start of root element expected.]
    ; nested exception is:
         ORABPEL-11008
    Error while translating.
    Error occured while translating content from file C:\JDeveloperStudio10131\jdev\mywork\inputs\fileRead\csvFileInput.csv [Caused by: Start of root element expected.]
    Check the error stack and fix the cause of the error. Contact oracle support if error is not fixable.
    </summary>
    </part><part name="detail"><detail>null</detail>
    </part></bindingFault>
    ]]>
    </details>
    </event>
    - <event sid="BpPrc0.1" cat="2" type="4" n="8" date="2009-09-08T10:14:48.439+03:00">
    - <message>
    - <![CDATA[ "BPELFault" has not been caught by a catch block.
      ]]>
    </message>
    </event>
    - <event sid="BpPrc0.1" cat="1" type="2" n="9" date="2009-09-08T10:14:48.455+03:00">
    - <message>
    - <![CDATA[ _cl_
      ]]>
    </message>
    </event>
    - <event sid="BpSeq0.3" cat="1" type="2" n="10" date="2009-09-08T10:14:48.455+03:00">
    - <message>
    - <![CDATA[ _cl_
      ]]>
    </message>
    </event>
    - <event sid="BpPrc0.1" cat="2" type="2" n="11" date="2009-09-08T10:14:48.470+03:00">
    - <message>
    - <![CDATA[ BPEL process instance "40001" cancelled
      ]]>
    </message>
    </event>
    </audit-trail>

Maybe you are looking for

  • How can I create a mobile application to connect with my php system

    II have few question to ask all expert here : 1. Im using Netbeans IDE, how can I compile the .java file to .jar ? 2. Currently, I have created a point of sales application using php and I hope to create a Mobile application to connect with tis syste

  • Error Check does not work

    Hi, I'm having a problem with the following code, when I add alphabetic characters or even nothing at all in the principal amt text field, I expect to get an error message, but I do not. This happens no matter which method I choose to compute the mor

  • Can Captivate 4 project files be opened in Captivate 5?

    I was wondering if captivate 4 project files can be opened in captivate 5? I know captivate 2 project files cannot. Thanks guys, Kya.

  • How to output a checkbox in Smartform?

    Does anybody know how to output a boolean as a checkbox in Smartform. I looked at the online help but found nothing about this. Thanks.

  • [CS3 - JS - Mac] JSXBIN issue

    Hi, I made a .jsx script file that create and manage a menu item inbetween ID main menu. I put it in Startup Script folder and everyhting works. Why if I put there the same file exported as .jsxbin it doesn't work?