Exception in creating XSLT transform for ESB Routing Service

Hi,
I am trying to create a Routing service in an ESB project. When I try to create the XSLT in a routing rule I get this error "Error while reading wsdl file esb:///ESB_projects/...../ship.wsdl ... Failed to read WSDL file at location esb:///ESB_projects/...../ship.wsdl . java.net.Socket Exception.
I am able to create and register other adapter/soap services on the ESB server but not able to create this transform.Could anybody guide me as to how to resolve this?
Regards,
Sri

The file doesn't physically exist on the server. If you explore the subfolders of the %OH%\integration\esb\oraesb folder, you'll see how ESB projects are deployed.

Similar Messages

  • END point URL for ESB Routing service says NOT FOUND

    Hi All,
    For the routing services in ESB, The link of WSDL is opening up fine, but the link of endpoint URI for the routing service is failing with the message below message. When i invoke the WSDL using SOAP UI, i get back the the same error message. I tried bouncing the server , but of no help. I also notice that slide directory ESB_Projects gives 404 error on any browser.
    So when i click below url for any of the routing service
    http://<hostname>:<port>/event/<systemName>/<serviceGroupName>/AddressStandardizeRS
    I get below error in browser-
    Not Found
    The requested URL /event/<System Name>/<Service Group Name>/<Routing Service Name> was not found on this server.
    Oracle-Application-Server-10g/10.1.3.1.0 Oracle-HTTP-Server Server at odevsoa.local1.wbcgp.com Port 7777

    Check if the port of ESB in your server is open.
    I think that the port is: 7777
    try from ESB server:
    wget WSDLURI
    if you got the file then the port is closed.

  • Jdeveloper, creation of a transformation for ESB project

    When I create a transformation, in a Routing Service, using a WSDL that has a operation that returns a string type (for example string called: status), the XSL is created but when I got to the desing of the XSL so i can create the mappings, i cannot define any mapping in the UI because it displays the error message: invalid reference status. Similar error happens when I create a JMS adapter, when I try to specify a schema to use that is sinde the wsdl, it displays the error, then i cannot save my changes so no JMS adapter can be created. Do you guys had experimented similar issue?

    User,
    I suggest you ask on the [url http://forums.oracle.com/forums/forum.jspa?forumID=320]SOA Suite Forum
    Best,
    john

  • XSLT transformation for deep structure .....

    Hello,
            I am trying to do an XSLT transformation for a deep structure HAP_S_PDF_DOCUMENT (see it in SE11), I have managed to achieve this. but not with perfection. i still get some redundant data and data have been experiencing Data duplication. I was hoping if you people point out the what is wrong in the transfromation. The data repeats for every once under node DATA and then under node of the refered structure name. Besides it also create a blank row even if the record is 0. I am mostly facing problem with nodes T_ELEMENTS. T_COL_CELL and T_FIELD. These are the nested structures, Can anybody help / guide me to achieve these transforamtion?
    <xsl:transform xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:sap="http://www.sap.com/sapxsl" version="1.0">
    <xsl:strip-space elements="*"/>
    <xsl:template match="HAP_DOCUMENT">
    <xsl:element name="HAP_DOCUMENT" namespace="">
    <xsl:apply-templates select="MAIN_HEADER"/>
    <xsl:apply-templates select="T_ELEMENTS"/>
    <xsl:apply-templates select="T_STAT_CHG_BUTTONS"/>
    <xsl:apply-templates select="S_APPRAISAL_ID"/>
    <xsl:apply-templates select="S_HEADER"/>
    <xsl:apply-templates select="POSITIONS"/>
    <xsl:element name="STAT_CHG_BUTTON">
    <xsl:value-of select="../STAT_CHG_BUTTON"/>
    </xsl:element>
    <xsl:element name="OFFLINE_ID">
    <xsl:value-of select="OFFLINE_ID"/>
    </xsl:element>
    <xsl:element name="BSP_FLAG">
    <xsl:value-of select="BSP_FLAG"/>
    </xsl:element>
    <xsl:element name="ROLE">
    <xsl:value-of select="ROLE"/>
    </xsl:element>
    <xsl:element name="APPRAISAL_YEAR">
    <xsl:value-of select="APPRAISAL_YEAR"/>
    </xsl:element>
    </xsl:element>
    </xsl:template>
    <xsl:template match="MAIN_HEADER">
    <xsl:element name="MAIN_HEADER">
    <xsl:for-each select="ZBGAPR_FORM_HEADER">
    <xsl:element name="DATA">
    <xsl:copy-of select="child::node()"/>
    </xsl:element>
    </xsl:for-each>
    </xsl:element>
    </xsl:template>
    <xsl:template match="T_ELEMENTS">
    <xsl:element name="T_ELEMENTS">
    <xsl:for-each select="ZHAP_S_PDF_ELEMENTS">
    <xsl:element name="DATA">
    <xsl:apply-templates select="T_COL_CELL"/>
    <xsl:copy-of select="child::node()"/>
    </xsl:element>
    </xsl:for-each>
    </xsl:element>
    </xsl:template>
    <xsl:template match="T_COL_CELL">
    <xsl:element name="T_COL_CELL">
    <xsl:for-each select="ZHAP_S_PDF_COL_CELL">
    <xsl:element name="DATA">
    <xsl:apply-templates select="T_FIELD"/>
    <xsl:copy-of select="child::node()"/>
    </xsl:element>
    </xsl:for-each>
    </xsl:element>
    </xsl:template>
    <xsl:template match="T_FIELD">
    <xsl:element name="T_FIELD">
    <xsl:for-each select="ZHAP_S_PDF_FIELD">
    <xsl:element name="DATA">
    <xsl:apply-templates select="T_VAL_VALUES"/>
    <xsl:apply-templates select="T_VAL_RANGES"/>
    <xsl:copy-of select="child::node()"/>
    </xsl:element>
    </xsl:for-each>
    </xsl:element>
    </xsl:template>
    <xsl:template match="T_VAL_VALUES">
    <xsl:element name="T_VAL_VALUES">
    <xsl:for-each select="HAP_S_BODY_CELL_VAL_VALUES">
    <xsl:element name="DATA">
    <xsl:copy-of select="child::node()"/>
    </xsl:element>
    </xsl:for-each>
    </xsl:element>
    </xsl:template>
    <xsl:template match="T_VAL_RANGES">
    <xsl:element name="T_VAL_RANGES">
    <xsl:for-each select="HAP_S_BODY_CELL_VAL_RANGES">
    <xsl:element name="DATA">
    <xsl:copy-of select="child::node()"/>
    </xsl:element>
    </xsl:for-each>
    </xsl:element>
    </xsl:template>
    <xsl:template match="T_STAT_CHG_BUTTONS">
    <xsl:element name="T_STAT_CHG_BUTTONS">
    <xsl:for-each select="HAP_S_BODY_CELL_VAL_RANGES">
    <xsl:element name="DATA">
    <xsl:copy-of select="child::node()"/>
    </xsl:element>
    </xsl:for-each>
    </xsl:element>
    </xsl:template>
    <xsl:template match="S_APPRAISAL_ID">
    <xsl:element name="S_APPRAISAL_ID">
    <xsl:copy-of select="node()"/>
    </xsl:element>
    </xsl:template>
    <xsl:template match="S_HEADER">
    <xsl:element name="S_HEADER">
    <xsl:apply-templates select="S_TEXTS"/>
    <xsl:apply-templates select="T_APPRAISER"/>
    <xsl:apply-templates select="T_APPRAISEE"/>
    <xsl:apply-templates select="T_PART_APPRAISER"/>
    <xsl:apply-templates select="T_OTHERS"/>
    <xsl:apply-templates select="S_STATUS"/>
    <xsl:apply-templates select="S_DATES"/>
    <xsl:apply-templates select="S_DISPLAY"/>
    </xsl:element>
    </xsl:template>
    <xsl:template match="POSITIONS">
    <xsl:element name="POSITION">
    <xsl:for-each select="ZBGHR_APR_POSITION_DET">
    <xsl:element name="DATA">
    <xsl:copy-of select="child::node()"/>
    </xsl:element>
    </xsl:for-each>
    </xsl:element>
    </xsl:template>
    <xsl:template match="S_TEXTS">
    <xsl:element name="S_TEXTS">
    <xsl:copy-of select="node()"/>
    </xsl:element>
    </xsl:template>
    <xsl:template match="T_APPRAISER">
    <xsl:element name="T_APPRAISER">
    <xsl:for-each select="HAP_S_PDF_APPRAISER">
    <xsl:element name="DATA">
    <xsl:copy-of select="child::node()"/>
    </xsl:element>
    </xsl:for-each>
    </xsl:element>
    </xsl:template>
    <xsl:template match="T_APPRAISEE">
    <xsl:element name="T_APPRAISEE">
    <xsl:for-each select="HAP_S_PDF_APPRAISEE">
    <xsl:element name="DATA">
    <xsl:copy-of select="child::node()"/>
    </xsl:element>
    </xsl:for-each>
    </xsl:element>
    </xsl:template>
    <xsl:template match="T_OTHERS">
    <xsl:element name="T_OTHERS">
    <xsl:for-each select="HAP_S_PDF_OTHERS">
    <xsl:element name="DATA">
    <xsl:copy-of select="child::node()"/>
    </xsl:element>
    </xsl:for-each>
    </xsl:element>
    </xsl:template>
    <xsl:template match="T_PART_APPRAISER">
    <xsl:element name="T_PART_APPRAISER">
    <xsl:for-each select="HAP_S_PDF_PART_APPRAISERS">
    <xsl:element name="DATA">
    <xsl:copy-of select="child::node()"/>
    </xsl:element>
    </xsl:for-each>
    </xsl:element>
    </xsl:template>
    <xsl:template match="T_PART_APPRAISER">
    <xsl:element name="T_PART_APPRAISER">
    <xsl:for-each select="HAP_S_PDF_PART_APPRAISERS">
    <xsl:element name="DATA">
    <xsl:copy-of select="child::node()"/>
    </xsl:element>
    </xsl:for-each>
    </xsl:element>
    </xsl:template>
    <xsl:template match="S_STATUS">
    <xsl:element name="S_STATUS">
    <xsl:copy-of select="node()"/>
    </xsl:element>
    </xsl:template>
    <xsl:template match="S_DATES">
    <xsl:element name="S_DATES">
    <xsl:copy-of select="node()"/>
    </xsl:element>
    </xsl:template>
    <xsl:template match="S_DISPLAY">
    <xsl:element name="S_DISPLAY">
    <xsl:copy-of select="node()"/>
    </xsl:element>
    </xsl:template>
    <xsl:template match="STAT_CHG_BUTTON">
    </xsl:template>
      <xsl:template match="OFFLINE_ID">
    </xsl:template>
      <xsl:template match="BSP_FLAG">
    </xsl:template>
      <xsl:template match="ROLE">
    </xsl:template>
      <xsl:template match="APPRAISAL_YEAR">
    </xsl:template>
    </xsl:transform>
    Regards,
    Shishir.P

    "XSLT transformation for a deep structure"
    which way abap to xml or xml to abap?
    you may want to check this thread
    Re: Problem converting XML back to structure using XSLT

  • How to generate a Web Service Proxy for an ESB Routing Service?

    Hi,
    I have a SOAP service behind an ESB Routing Service. I am aware that i can call this ESB Service at the SOAP endpoint which can be found at the ESB Console after registration.
    But, i want to invoke this service using a Web Service Proxy. My understanding is that, i need to use the WSDL generated for the ESB Routing Service to generate the proxy. The WSDL which can be seen in JDeveloper does not have any soap bindings and hence the tool does not allow me to generate any proxy.
    Also, the two WSDLs whose URLs can be found at the ESB Console do not have the soap endpoint properties.
    Can someone help me out on the same?
    Thanks and regards,
    Priya.

    Priya,
    Just take the SOAP endpoint and suffix it with a ?wsdl
    Even the Concrete WSDL endpoint should be having a SOAP endpoint.
    HTH
    Uday

  • Invoking an ESB Routing Service

    Hi,
    I have a routing service that i have installed on an Oracle ESB Server. When i test the web service from Oracle Application Server (by searching for the routing service port from the Oracle Apps Server itself) - its sucessful.
    The problem i have is that the Routing service needs to be invoked from an external application they are encountering an error - a SOAP Exception: faultCode=HTTP Response Code -405.
    I tried invoking the routing service from Soap UI and i get an error - with the response fault being env:ESBMessageProcessingFailed.
    In both the last two cases, I dont see an instance being created for that request in the ESB control.
    Any ideas in resolving this is highly appreciated.
    Thanks.

    Hi,
    I had the similar issue, the problem I found is that whenever there is a key workd 'event' in the target URL then the system will look for the target on the same system source system you invoke the service instead of looking for the remote system where the ESB is lying.
    I also guess this happens when there are two targeted systems in your ESB.
    For this edit your WSDL file and remove the do remove the one target alias name. and keep only only. Hope this will help you.
    --Khaleel                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

  • Problem with ESB routing service

    I have an ESB project that has a routing service to route a request message to 2 separate web services depending on some particular content in the message.
    simple classic content-based routing.
    i built a prototype on my local virtual machine, it worked fine.
    now i am building the real project at the client site, it is not working. here is some of the things i found;
    in my working prototype, after i deploy the ESB project into OC4J, i can see that a web service end point is created for me on esb-rt application in oc4j, with a port like "__soap_myrouting_execute_ppt", and it would be the entry point to my routing service;
    but in the other environment, after i deploy the ESB project, there is nothing created under esb-rt;
    in my working prototype, if i go into ESB console, under the "definition" tab of my routing service, i can click on the "concrete WSDL URL" and it gives me the wsdl for the routing service;
    but in the other environment, when i click on the "concrete WSDL URL", it shows an error page in my browser, "The XML page cannot be displayed ... XML document must have a top level element";
    i suppose this is because the esb-rt port has not been created properly and hence the wsdl is not there to be viewed.
    can anyone help with this or give me some direction as to where to look for logs for more details.
    thanks!

    after a bit of hunting on the BPEL server, i managed to get some detailed error from j2ee log;
    it's consistent with my observation and i know what's wrong with it, it's the <server name> pointing to a wrong place
    it should be pointing to our dev server but this logged detail shows it's pointing to out UAT server for some reason;
    I don't know how it ended up like this, but can someone tell me how to fix it? thanks.
    <SUPPL_DETAIL><![CDATA[oracle.webservices.provider.ProviderException: java.io.IOException: Server returned HTTP response code: 500 for URL: http://<server name>:80/esb/wsil/MyTestSystem/MySOAPFacade?wsdl
         at oracle.j2ee.ws.server.provider.ProviderConfigImpl.addService(ProviderConfigImpl.java:126)
         at oracle.tip.esb.configuration.ServiceBusConstants.addService(ServiceBusConstants.java:888)
         at oracle.tip.esb.common.system.ServiceEventsHandler.handleCreateService(ServiceEventsHandler.java:91)
         at oracle.tip.esb.common.system.MetadataChangeListener.handleServiceEvent(MetadataChangeListener.java:136)
         at oracle.tip.esb.common.system.MetadataChangeListener.onMetadataChange(MetadataChangeListener.java:85)
         at oracle.tip.esb.common.control.ControlMessageHandler.handleMessage(ControlMessageHandler.java:115)
         at oracle.tip.esb.server.dispatch.agent.ESBWork.process(ESBWork.java:178)
         at oracle.tip.esb.server.dispatch.agent.ESBWork.run(ESBWork.java:132)
         at oracle.j2ee.connector.work.WorkWrapper.runTargetWork(WorkWrapper.java:242)
         at oracle.j2ee.connector.work.WorkWrapper.doWork(WorkWrapper.java:215)
         at oracle.j2ee.connector.work.WorkWrapper.run(WorkWrapper.java:190)
         at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:825)
         at java.lang.Thread.run(Thread.java:595)
    Caused by: java.io.IOException: Server returned HTTP response code: 500 for URL: http://<server name>:80/esb/wsil/MyTestSystem/MySOAPFacade?wsdl
         at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1149)
         at java.net.URL.openStream(URL.java:1007)
         at oracle.j2ee.ws.server.provider.WSDLUtils.getWSDLDefinition(WSDLUtils.java:48)
         at oracle.j2ee.ws.server.provider.ProviderConfigImpl.addService(ProviderConfigImpl.java:120)
         ... 12 more
    ]]></SUPPL_DETAIL>

  • ESB Routing Service Byte Order Mark error

    Hi,
    I have a esb routing service to accept soap messages from an external system. The external system sents messages with a Byte Order Mark for UTF8 at the start. If i look at the tcp messages i see the following:
    POST /event/DefaultSystem/CaseVerhuizing/EsbStuf0204Service HTTP/1.1
    User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; MS Web Services Client
    Protocol 2.0.50727.42)
    Content-Type: text/xml; charset=utf-8
    SOAPAction: "http://www.egem.nl/StUF"
    Host: ux920:7777
    Content-Length: 2382
    Expect: 100-continue
    Connection: Keep-Alive
    HTTP/1.1 100 Continue
    ...<?xml version="1.0" encoding="utf-8"?><soap:Envelope
    xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    The three dots signify the hexadecimal value EF BB BF which is for UTF8. This raises an error however in iAS:
    HTTP/1.1 400 Bad Request
    Date: Mon, 16 Jul 2007 14:41:32 GMT
    Server: Oracle-Application-Server-10g/10.1.3.1.0 Oracle-HTTP-Server
    Content-Length: 158
    Connection: close
    Content-Type: text/html; charset=ISO-8859-1
    Bad Request
    Error parsing envelope: (1, 1) Start of root element
    expected
    It seems the esb routing service is trying to parse the Byte Order Mark as xml and therfore can not find the soap envelope tag? Any help is appreciated!
    Kind Regards,
    Andre Jochems
    Message was edited by:
    ajochems

    Hi Andre,
    We got exactly the same error as you did. Your analysis is also correct; the first 3 bytes of the reply are not interpreted by BPEL/ESB as a BOM, but as 'real' characters.
    The problem is due to the fact that the UTF-8 BOM is actually optional in the specifications, and obligatory for UTF-16. The UTF-8 BOM practically has no meaning, and is never used in most SOA applications. However the guys that made the webservice you need to consume are (wrongly) convinced that the UTF-8 BOM is supposed to be there according to the OASIS/W3C specs. Which is not true btw...
    For more info on BOMs, check: http://en.wikipedia.org/wiki/Byte_Order_Mark
    Unfortunately I don't have the code for our 'proxy' service anymore. I remember that we simply made a little servlet, that uses input- and outputstreams. The inputstream then filters the BOM. Remember to also proxy the WSDL to 'rewrite' the endpoint ;-)
    HTH,
    Bas

  • Is it possible to create an inbound SOAP Adaptor for an ESB routing service

    I have been given a pre-defined wsdl file that defines the inputs to an ESB service and I wa wondering whether it is possible to create an inbound SOAP adaptor or whether this is actually an outbound adaptor. I am new to SOAP adaptors so need a little bit of guidance.
    Hopefully someone can help.

    Hi,
    In your case you need to create an Routing Service. If you create an esb project you can select Routing Service from the ESB Services entry in the Component Palette. You then get the option Select Existing WSDL. The SOAP adapter is only used for outbound SOAP messages. If you define a routing service it is available as a 'webservice' with a wsdl (in this case the one you define) from the console.
    Kind Regards,
    Andre Jochems

  • Dynamic XSLT Transformation for ABAP

    Hi Team,
    I have a simple requirement, but could not get it to work. Tried different posts but need some help.
    I have an input XML file as follows:
    <ITEM>
       <ITEMQUALF>
       <MATERIAL>
       <UPC>
       <VENDORMATERIAL>
    <ITEM>
    I created my internal table with the exact fields as above and created a transformation which works fine. The problem is, there are scenario's where only one tag "MATERIAL", "UPC", OR "VENDORMATERIAL" is passed in the input XML. Empty tags are not passed. For E.G.
    <ITEM>
      <ITEMQUALF>
      <UPC>
    <ITEM>
    My transformation fails in this scenario because it does not finds the MATERIAL and VENDORMATERIAL tags. I tried using the <tt:cond/> tag, but no luck. I have some specific questions:
    1) How to take care of this scenario where empty tags are not passed? (I have the Superset of all the Tags available in an XSD). A quick Sample would help me a lot because I have spent weeks breaking my head with this.
    2) Is there any other method or Option to parse a very larger input file (~40 MB) as above? I have seen the iXML ABAP methods but don't know if we should use XSLT or iXML or is there any other method. We don't have XI in our landscape. Our system is ECC 6.0, ABAP 7.0 - SP 17, Enhancement Pack 3.
    Any pointers would help a lot. Thanks for your time.
    Regards
    Sanjay

    Hello Sanjay
    In such a scenario I usually make pre-transformation filling the missing elements before the main mapping.
    Input:
    <?xml version="1.0" encoding="utf-8"?>
    <List>
      <ITEM>
        <ITEMQUALF/>
        <MATERIAL/>
        <UPC/>
        <VENDORMATERIAL/>
      </ITEM>
      <ITEM>
        <ITEMQUALF/>
        <UPC/>
      </ITEM>
      <ITEM>
        <MATERIAL/>
      </ITEM>
    </List>
    XSLT Mapping (XML to XML):
    <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
        <xsl:template match="*">
            <List>
                <xsl:for-each select="ITEM">
                    <xsl:element name="ITEM">
                        <xsl:element name="ITEMQUALF">
                            <xsl:value-of select="ITEMQUALF"/>
                        </xsl:element>
                        <xsl:element name="MATERIAL">
                            <xsl:value-of select="MATERIAL"/>
                        </xsl:element>
                        <xsl:element name="UPC">
                            <xsl:value-of select="UPC"/>   
                        </xsl:element>
                        <xsl:element name="VENDORMATERIAL">
                            <xsl:value-of select="VENDORMATERIAL"/>   
                        </xsl:element>
                    </xsl:element>
                </xsl:for-each>
            </List>
        </xsl:template>
    </xsl:stylesheet>
    Resulting XML:
    <?xml version="1.0" encoding="UTF-8"?>
    <List>
        <ITEM>
            <ITEMQUALF/>
            <MATERIAL/>
            <UPC/>
            <VENDORMATERIAL/>
        </ITEM>
        <ITEM>
            <ITEMQUALF/>
            <MATERIAL/>
            <UPC/>
            <VENDORMATERIAL/>
        </ITEM>
        <ITEM>
            <ITEMQUALF/>
            <MATERIAL/>
            <UPC/>
            <VENDORMATERIAL/>
        </ITEM>
    </List>
    Regards
      Uwe

  • XSLT transformation for XML to ABAP internal table

    Hi, can anyone please tell me how it should be the xslt tranformation to conver this xml
    <Embargos_ARBA_DOC>
         <ns:Embargos_ARBA_MT
              xmlns:ns="un:swissmedical:sap:proxy:embargos_arba:file">
              <Embargos_ARBA_MT>
                   <FECHA>20081101</FECHA>
                   <CUIT>50000002124</CUIT>
                   <MONTO>0000013794090</MONTO>
                   <RAZON_SOCIAL>RAUL ARMANDO CUNQUEIRO S.A.C.I.</RAZON_SOCIAL>
              </Embargos_ARBA_MT>
              <Embargos_ARBA_MT>
                   <FECHA>20081101</FECHA>
                   <CUIT>55000001456</CUIT>
                   <MONTO>0000001144410</MONTO>
                   <RAZON_SOCIAL>PARODI ESTEBAN ARMANDO</RAZON_SOCIAL>
              </Embargos_ARBA_MT>
         </ns:Embargos_ARBA_MT>
    </Embargos_ARBA_DOC>
    to this abap Table....
      DATA: BEGIN OF i_embargos_arba_doc occurs 0,
              fecha TYPE d,
              cuit TYPE char11,
              monto TYPE char13,
              razon_social(120),
            END OF i_embargos_arba_mt.
    so i can transform it with this sentence
          CALL TRANSFORMATION ('embargos_transformation')
            SOURCE XML source
            RESULT Embargos_ARBA_DOC = embargos.
    pls i need help because i am unable to create this xslt transformation...
    I will give the highest rewards points to the one who can help me.
    thanks!
    mariano

    Hi Mariano
    Why you need to use XSLT for transforming XML file into ABAP table
    Code is a part of some ABAP report. Looks like it is reading a file from file system and updating table after transformation
    If you have requirement like you need to read XML file and then insert the data into a SAP table
    You can use
    File to RFC
    File to Proxy scenario using SAP PI.
    Please provide more inputs on requirement to help
    Thanks
    Gaurav

  • Creating Simple transformation for an XML data having deep structure

    Hi
    I have the following XML structure..
    <REQUESTS>
      <REQUESTNAME>REQ123</REQUESTNAME>
      <REQUESTID>1234</REQUESTID>
      <CITY>NEWYORK</CITY>
      <ZIPCODE>123456</ZIPCODE>
    <COMPETENCIES>
       <LANGUAGES>
         <COMPETENCY>
            <SKILL>SAP</SKILL>
            <PROFICIENCY>TEST</PROFICIENCY>
            <SKILL>JAVA</SKILL>
            <PROFICIENCY>TEST123</PROFICIENCY>
    (here we may have any number of records for SKILL&PROFICIENCY...)*
    </COMPETENCIES>
       </LANGUAGES>
         </COMPETENCY>
    </REQUESTS>
    My requirement is to read the above data from an URL and push it into an internal table.
    For this I'm trying to use Simple transformations but I'm facing difficulty in doing this.
    Can you pl. guide me how to create the transformation and the corresponding code for this.
    Best Regards
    Anil

    Hi
    Here is the actual XML structure..
    - <REQUEST>
      <COUNTRY />
      <ADDRESS />
      <CITY />
      <ASSIGNTYPE>IP</ASSIGNTYPE>
      <CHARGETYPE>CH</CHARGETYPE>
      <REMOTEALLOWED>Y</REMOTEALLOWED>
      <SALESRATE>EUR</SALESRATE>
      <SECURITY>NO</SECURITY>
      <TRAVELEXP>Y</TRAVELEXP>
      <MAXDAILYRATE />
      <CREDENTIALS />
      <EXPENDDATE />
      <NEWENDDATE />
      <NEWEXPENDDATE />
      <REPLYBEFORE>2010-11-30</REPLYBEFORE>
      <STARTDATE>2010-01-01</STARTDATE>
      <ENDDATE>2010-12-31</ENDDATE>
      <GCMTYPE>PM</GCMTYPE>
      <GCMLEVELFROM>02</GCMLEVELFROM>
      <GCMLEVELTO>08</GCMLEVELTO>
      <LOCATION>FR43</LOCATION>
      <MOBILITY>04</MOBILITY>
      <ZIPCODE />
    - <COMPETENCIES>
    - <LANGUAGES>
    - <COMPETENCY>
      <SKILL>01106034</SKILL>
      <PROFICIENCY>005103</PROFICIENCY>
      </COMPETENCY>
      </LANGUAGES>
    - <ACTIVITIES>
    - <COMPETENCY>
      <SKILL>01105500</SKILL>                            
      <PROFICIENCY>004507</PROFICIENCY>
      </COMPETENCY>
      </ACTIVITIES>
    - <BUSINESS>
    - <COMPETENCY>
      <SKILL>01105729</SKILL>
      <PROFICIENCY>004605</PROFICIENCY>
      </COMPETENCY>
      </BUSINESS>
    - <INDUSTRIES>
    - <COMPETENCY>
      <SKILL>01105491</SKILL>
      <PROFICIENCY>004901</PROFICIENCY>
      </COMPETENCY>
      </INDUSTRIES>
    - <METHODS>
    - <COMPETENCY>
      <SKILL>01105591</SKILL>
      <PROFICIENCY>004805</PROFICIENCY>
      </COMPETENCY>
      </METHODS>
    - <OFFERINGS>
    - <COMPETENCY>
      <SKILL>01105840</SKILL>
      <PROFICIENCY>005002</PROFICIENCY>
      </COMPETENCY>
      </OFFERINGS>
    - <PRODUCTS>
    - <COMPETENCY>
      <SKILL>01107304</SKILL>
      <PROFICIENCY>004703</PROFICIENCY>
      </COMPETENCY>
      </PRODUCTS>
      </COMPETENCIES>
      <CANDIDATES />
      </REQUEST>
    Here..... <SKILL></SKILL>   <PROFICIENCY></PROFICIENCY>  can be more than 1 entry...
    For this I have created a simple transformation like below..
    I have used the tcode 'XSLT_TOOL '..
    In SE11 I have created a Table type 'ZCOMPETENCIES' which is having  a line type 'ZLANGS'.
    ZLANGS is a structure which has another structure called 'ZCOMPETENCY' and this 'ZCOMPETENCY' is having fields
    SKILL & PROFICIENCY.
    I have used the wizard button which u can find  'XSLT_TOOL '.. and provided the table type ZCOMPETENCIES'  and it has automatically created the following transformation...
    <?sap.transform simple?>
    <tt:transform xmlns:tt="http://www.sap.com/transformation-templates" xmlns:ddic="http://www.sap.com/abapxml/types/dictionary" xmlns:def="http://www.sap.com/abapxml/types/defined">
      <tt:root name="ROOT" type="?"/>
      <tt:root name="COMPETENCIES" type="ddic:ZCOMPETENCIES"/>
      <tt:template>
        <COMPETENCIES>
          <tt:loop ref=".COMPETENCIES">
            <ZLANGS>
              <COMPETENCY>
                <SKILL tt:value-ref="COMPETENCY.SKILL"/>
                <PROF tt:value-ref="COMPETENCY.PROF"/>
              </COMPETENCY>
            </ZLANGS>
          </tt:loop>
        </COMPETENCIES>
      </tt:template>
    </tt:transform>
    I have written following code to get the data
    CALL METHOD cl_gui_frontend_services=>gui_upload
      EXPORTING
        filename                = gs_file
      CHANGING
        data_tab                = gt_itab
      EXCEPTIONS
        file_open_error         = 1
        file_read_error         = 2
        no_batch                = 3
        gui_refuse_filetransfer = 4
        invalid_type            = 5
        no_authority            = 6
        unknown_error           = 7
        bad_data_format         = 8
        header_not_allowed      = 9
        separator_not_allowed   = 10
        header_too_long         = 11
        unknown_dp_error        = 12
        access_denied           = 13
        dp_out_of_memory        = 14
        disk_full               = 15
        dp_timeout              = 16
        not_supported_by_gui    = 17
        error_no_gui            = 18
        OTHERS                  = 19.
    IF sy-subrc <> 0.
      MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
              WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
    ENDIF.
    GET REFERENCE OF gt_person INTO gs_result_xml-value.
    gs_result_xml-name = 'COMPETENCIES'.
    APPEND gs_result_xml TO gt_result_xml.
    TRY.
        CALL TRANSFORMATION ZTEST_TRAN
        SOURCE XML gt_itab
        RESULT (gt_result_xml).
      CATCH cx_root INTO gs_rif_ex.
        gs_var_text = gs_rif_ex->get_text( ).
        MESSAGE gs_var_text TYPE 'E'.
    ENDTRY.
    Please let me know if you need any further details..
    Best Regards
    Anil

  • BI Admin Tool and XSLT transformation for XML data source - How it works ?

    Hello,
    There is a possibility to import data from XML data source using BI Admin Tool.
    In the import window we can point XSLT file. What is the purpose of that XSLT field?
    Why I am asking ?
    I thought it is smth like XSLT processor, but simply it doesnt work.
    What I did:
    - I pointed XML data source file
    - I pointed XSLT transformation file
    - Click OK, and still get the message that the XML file structure is not supported
    After that I transformed that XML file with some desktop XSLT processor using the same XSLT file, and I tried to connect that file directly using BI Admin tool.Then it works. So it means that the transformation is ok.
    So basically one question comes to my mind in that situation:
    What is the purpose of XSLT field in BI Admin Tool when it comes to XML data source ?
    (it doesnt look like XSLT processor)
    Greetings
    /Michal

    Hi Mariano
    Why you need to use XSLT for transforming XML file into ABAP table
    Code is a part of some ABAP report. Looks like it is reading a file from file system and updating table after transformation
    If you have requirement like you need to read XML file and then insert the data into a SAP table
    You can use
    File to RFC
    File to Proxy scenario using SAP PI.
    Please provide more inputs on requirement to help
    Thanks
    Gaurav

  • XSLT transformation for Single XML Output

    I want to save a book to a single XML document. Is it correct that I can do this by adding an xslt to merge the standard framemaker entity type output ? Can I easily reconfigure the standard Save As XML to acheive this? or do I need to add a new menu item and call the XSLT dialogue...
    any advice appreciated.
    Thanks!

    Tracey,
       A related discussion appeared in the FrameSGML Yahoo group recently. Much of what follows is what I wrote there.
       Your XML application (defined in structapps.fm or another application definition file) can specify an XSLT post-process. No need to change Save as XML or define a new menu item. Depending on what you want, the XSLT transform can be as simple as the following:
    <?xml version="1.0" encoding="UTF-8"?>
    <xsl:transform version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
        <xsl:output method="xml"/>
        <xsl:template match="/ | node() | @*">
            <xsl:copy>
                <xsl:apply-templates select="@* | node()"/>
            </xsl:copy>
        </xsl:template>
    </xsl:transform>
    This is an identity transform that simply copies the interpreted input to the output. I've used the word "interpreted" here because XSLT does not distinguish among some variations of how content is entered. In particular, it does not distinguish between content in referenced general entities (which is what you want) or between attribute values that happen to be the same as the attribute default value and attributes that are not explicitly specified and hence use the default value.
    There are a few things to watch out for involving use of general entities.
    First, if you are using entity attributes for graphics, you'll need to modify the above slightly. It's probably easier to replace the entity attributes with file attributes, but if you want to keep the entities, the above needs to be extended to declare the entities.
    Second, if you are using and want to preserve entity references for special characters or variables, you'll need to account for them as well. See $FMHOME\Structure\xml\PreserveEntity\readme.pdf.
        --Lynne

  • Exception while creating f4 help for editable alv field

         hi experts
    i have created search help for editable alv field by following link
    http://scn.sap.com/docs/DOC-39832
    But i m getting an exception :  Field symbol has not yet been assigned.
    exception area code
       read table <tab1> into <ls_wa> index i_row_id.
        assign component m_cl_variant->ms_layout-stylefname
               of structure <ls_wa> to <l_field>.
        read table <l_field> into ls_style
                with table key fieldname = is_col_id-fieldname.
        if sy-subrc eq 0.
          if ls_style-style o mc_style_enabled.
            ready_for_input = 1.
            exit.
          elseif ls_style-style o mc_style_disabled.
            ready_for_input = 0.
            exit.
          endif.
    first read statement is giving sy-subrc =4.
    PS: exception from method..:IS_READY_FOR_INPUT
    kindly help

    Hello Ankush,
    read table <tab1>  ASSIGNING <ls_wa> index i_row_id.
    IF  <ls_wa> IS ASSIGNED.
        assign component m_cl_variant->ms_layout-stylefname
               of structure <ls_wa> to <l_field>.
        read table <l_field> into ls_style
                with table key fieldname = is_col_id-fieldname.
        if sy-subrc eq 0.
          if ls_style-style o mc_style_enabled.
            ready_for_input = 1.
            exit.
          elseif ls_style-style o mc_style_disabled.
            ready_for_input = 0.
            exit.
          endif.
    ENDIF.
    Regards,
    TP

Maybe you are looking for

  • How to display line items in a script...

    Dear All, My internal table for script is having 5 line items. But in output of script I'm getting 5 line items, 1 each in 5 different pages of script. But I need them one below the other in the same page... Plz give step by step procedure for the ab

  • How can i use my old iMac as a extended desktop display for my new iMac?

    I recently purchased a 21.5 in iMac and wanted to use my old iMac as a extended desktop. My new iMac has thunderbolt and USB 3.0 connections while my old iMac has firewire (400 and 800), USB 2.0 and mini-DVI. Is this posible?

  • Problem while dropping a .JSFF onto .JSPX page

    Hi All, I have a very simple BTF with just an output text filed and a blank Main page (.JSPX) . Whenever I am trying to drop.JSFF on to .JSPX. it prompts me for an component Identifier. I dont know what to put in that Prompt.Please help me. I am stru

  • I am getting the following error at Import ABAP phase ...

    Dear All, I am getting the following error at Import ABAP phase when performing the system copy function (Import) via ./sapinst  ( OS - LINUX and DATABASE-ORACLE 10g)... sapparam: sapargv( argc, argv) has not been called. sapparam(1c): No Profile use

  • Blackberry Desktop Manager Language

    Why is it that when I download Blackberry Desktop Manager from the Offical Blackberry Website it comes in Arabic and doesnt give you the option to change the Language. Funilly enough I don't read Arabic so I cant exactly search for Setting/Language.