Edifact to Xml using osb

Hi ,
i need to know how to do accept edifact request and generate corresponding xml response using osb .
Would i need to use B2b adapter for it , please guide me how to proceed further for this .
I have went to url
[http://blogs.oracle.com/oracleb2bgurus/entry/osb_-_b2b_integration_-_edifac]
But how to make B2B Translation webservice and how to use B2B console
Regards,
Abhinav Gupta
Edited by: Abhinav on Jul 13, 2011 6:56 AM

Hi Anuj,
I tried using Translate web service as you mentioned , i want to translate EDIFACT payload to native using translation web service of B2B.
I used otn sample b2b-003-edifact_orders_1.0_dist
Steps i used are as follows :
1. I created EDIFACT Document Definition Orders_def, using EDIFACT_D98A_ORDERS.xsd and EDIFACT_D98A_ORDERS.ecs provided with sample.
2. Created two partners Acme and GlobalChips and deployed the document definitions on both partners Acme(as sender) and GlobalChips(as receiver).
3. Created Acme_GlobalChips_EDIFACT_D98A_Orders_AS2 agreement and deployed the same also , under managed deployments its showing active also.
4. I imported wsdl of B2B Translate web service and created the Business Service out of it, on OSB.
5. I tested the Business service with EDI payload as following
<soap:Envelope      xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body      xmlns:ns1="http://xmlns.oracle.com/integration/b2b">
<ns1:TranslateRequest>
<ns1:from      type="Name">Acme</ns1:from>
<ns1:to      type="Name">GlobalChips</ns1:to>
<ns1:documentTypeName>ORDERS</ns1:documentTypeName>
<ns1:documentProtocolVersion>D98A</ns1:documentProtocolVersion>
<ns1:action>anyType</ns1:action>
<ns1:encoding>utf-8</ns1:encoding>
<ns1:payload>
<test>
&lt;![CDATA[UNA:+ ? 'UNB+UNOB:1+Acme:ZZ+GlobalChips:ZZ+070223:1027+9158'UNH+12891+ORDERS:D:98A:UN'BGM+105+CP16391+9'DTM+4:2007-02-23:102'RFF+ADE:37027'RFF+VR:90072'NAD+ST+037027.0001++Acme Osteonics SA:Swiss Sales &amp; Distribution:Succ. de Plan-les-Ouates:Chemin des Aulx 5++Plan-les-Ouates++CH-1228+CH'CUX+2:USD:9'LIN+1++0233032300:VP'QTY+21:2:EA'DTM+2:2007-02-26'PRI+INF:4538'LIN+2++0242720025:VP'QTY+21:2:EA'DTM+2:2007-02-26'PRI+INF:40460'LIN+3++0266721100:VP'QTY+21:2:EA'DTM+2:2007-02-26'PRI+INF:3718'LIN+4++0266723100:VP'QTY+21:2:EA'DTM+2:2007-02-26'PRI+INF:3631'LIN+5++0266724000:VP'QTY+21:5:EA'DTM+2:2007-02-26'PRI+INF:2468'LIN+6++0266725000:VP'QTY+21:4:EA'DTM+2:2007-02-26'PRI+INF:4621'LIN+7++0275720300:VP'QTY+21:6:EA'DTM+2:2007-02-26'PRI+INF:1212'LIN+8++0275720500:VP'QTY+21:2:EA'DTM+2:2007-02-26'PRI+INF:3759'LIN+9++0275720600:VP'QTY+21:2:EA'DTM+2:2007-02-26'PRI+INF:6448'LIN+10++0275720700:VP'QTY+21:2:EA'DTM+2:2007-02-26'PRI+INF:12296'LIN+11++0275723120:VP'QTY+21:1:EA'DTM+2:2007-02-26'PRI+INF:5165'LIN+12++0275725100:VP'QTY+21:4:EA'DTM+2:2007-02-26'PRI+INF:10670'LIN+13++0275725110:VP'QTY+21:3:EA'DTM+2:2007-02-26'PRI+INF:6670'LIN+14++0275725120:VP'QTY+21:2:EA'DTM+2:2007-02-26'PRI+INF:6227'LIN+15++0300034900:VP'QTY+21:2:EA'DTM+2:2007-02-26'PRI+INF:66330'LIN+16++0300034901:VP'QTY+21:2:EA'DTM+2:2007-02-26'PRI+INF:58162'LIN+17++0375565000:VP'QTY+21:4:EA'DTM+2:2007-02-26'PRI+INF:6990'LIN+18++0377030200:VP'QTY+21:2:EA'DTM+2:2007-02-26'PRI+INF:26510'LIN+19++0377030400:VP'QTY+21:1:EA'DTM+2:2007-02-26'PRI+INF:5439'LIN+20++0377727550:VP'QTY+21:2:EA'DTM+2:2007-02-26'PRI+INF:25365'UNS+S'UNT+89+12891'UNZ+1+9158']]&gt;
</test>
</ns1:payload>
</ns1:TranslateRequest>
</soap:Body>
</soap:Envelope>
response achieved ...
<env:Envelope      xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
<env:Header/>
<env:Body>
<env:Fault>
<faultcode>env:Server</faultcode>
<faultstring>
Error -: B2B-52330: Error invoking translation Web Service.
</faultstring>
<faultactor>
http://localhost:7001/b2b/services/TranslateService
</faultactor>
<detail>
<tns:error      xmlns:tns="http://xmlns.oracle.com/integration/b2b">
java.lang.Exception:
Error :
Mandatory attribute missing: Standard.
at oracle.tip.b2b.ws.runtime.WebServiceImpl.translateToNative(WebServiceImpl.java:206)
at oracle.tip.b2b.ws.provider.B2BProvider.processTranslateTransport(B2BProvider.java:544)
at oracle.tip.b2b.ws.provider.B2BProvider.processMessage(B2BProvider.java:304)
at oracle.j2ee.ws.server.provider.ProviderProcessor.doEndpointProcessing(ProviderProcessor.java:1187)
at oracle.j2ee.ws.server.WebServiceProcessor.invokeEndpointImplementation(WebServiceProcessor.java:1081)
at oracle.j2ee.ws.server.provider.ProviderProcessor.doRequestProcessing(ProviderProcessor.java:581)
at oracle.j2ee.ws.server.WebServiceProcessor.processRequest(WebServiceProcessor.java:232)
at oracle.j2ee.ws.server.WebServiceProcessor.doService(WebServiceProcessor.java:192)
at oracle.j2ee.ws.server.WebServiceServlet.doPost(WebServiceServlet.java:484)
at oracle.tip.b2b.ws.provider.B2BProviderServlet.doPost(B2BProviderServlet.java:69)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:300)
at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at oracle.security.jps.ee.http.JpsAbsFilter$1.run(JpsAbsFilter.java:111)
at java.security.AccessController.doPrivileged(Native Method)
at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:313)
at oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:413)
at oracle.security.jps.ee.http.JpsAbsFilter.runJaasMode(JpsAbsFilter.java:94)
at oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:161)
at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:71)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at oracle.dms.servlet.DMSServletFilter.doFilter(DMSServletFilter.java:136)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3715)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3681)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2277)
at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2183)
at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1454)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:178)
</tns:error>
</detail>
</env:Fault>
</env:Body>
</env:Envelope>
Edited by: Abhinav on Jul 19, 2011 5:48 AM

Similar Messages

  • Generating repeating XML aggregate using OSB

    Hi all,
    Following is my scenario:-
    I get an XML request as:
    <Request>
    <aaa>1234</aaa>
    <bbb>asdf</bbb>
    <ccc>as123</ccc>
    <ddd></ddd>
    </Request>
    I want to transform it into:
    <NewRequest>
    <test data="aaa" flag="true">
    <detail>1234</detail>
    <test data="bbb" flag="true">
    <detail>asdf</detail>
    <test data="ccc" flag="true">
    <detail>as123</detail>
    <test data="ddd" flag="false">
    <detail></detail>
    </NewRequest>
    Here the element test is the Repeating Aggregate.
    I want the element in 1st XML to be the value of attribute 'data' in 2nd XML dynamically.
    Also if the element is empty, I want the attribute 'flag' to be false (as in case of ddd in the example); else it should be equal to true (as in case of aaa, bbb, ccc in the example).
    Can this be implemented using OSB? Please help me!
    Thanks in advance!!
    Regards,
    Karthik

    xquery version "1.0" encoding "Cp1252";
    (:: pragma parameter="$anyType1" type="xs:anyType" ::)
    (:: pragma type="xs:anyType" ::)
    declare namespace xf = "http://tempuri.org/CreateClient/XQuery/otn/";
    declare function xf:otn($anyType1 as element(*))
    as element(*) {
    <NewRequest>
         <req>
         for $request in $anyType1/*
         return
              <item>
                   <test data="{fn:node-name($request)}" flag="{if (data($request)) then 'true' else 'false'}">
                        <detail>{data($request)}</detail>
                   </test>
              </item>
         </req>
    </NewRequest>
    declare variable $anyType1 as element(*) external;
    xf:otn($anyType1)

  • Extracting MIME attachment from email using OSB proxy service - email transport

    Hi,
    I'm reading email messages(multipart/mixed) with attachments(pdf, zip, xml and csv) from MS Exchange Server 2010 using OSB proxy service email transport.I need to save the attachments to a local folder and process one of the attachments, an XML file. Below is the proxy service config.
    Proxy Service Configuration (Test1/Proxy Services/GetEmail)
    Actions: 
    General Configuration
    Service Type   Messaging Service
    Message Type Configuration
    Request Message Type 
    Text     
    Response Message Type 
    None     
    Transport Configuration
    Protocol   email
    Endpoint URI   mailfrom:mailserver.net:143
    Get All Headers   No
    Headers   
    EMAIL Transport Configuration
    Email Protocol   imap
    Service Account   Test1/Proxy Services/email_acc
    Managed Server   WLS_OSB1
    Polling Interval   30
    Read Limit   2
    Pass By Reference   false
    Pass Attachments By Reference   false
    Post Read Action   move
    IMAP Move Folder   processed
    Attachments   archive
    Download Directory   \\soasup-stor01\Vacancy\test\download
    Archive Directory   \\soasup-stor01\Vacancy\test\archive
    Error Directory   \\soasup-stor01\Vacancy\test\error
    Request Encoding   iso-8859-1
    Message Handling Configuration
    Transaction Required   Disabled
    Same Transaction For Response   Disabled
    Content Streaming   Disabled
    The polling is working fine. I've encoded the attachment variable to Base64 using a java callout.$attachments/ctx:attachment/ctx:body/ctx:binary-content has been passed as the byte[] input to the java method and the response is captured in $encodedAttachment. I've created a SaveFile BS(file type) with Request Message Type = Binary and Response Message Type = None. I've tried replacing the node ./ctx:binary-content in body variable with encodedAttachment in the request action of the Publish action to call the BS. One file is getting created with contents of the entire email, MIME headers and boundary parts along with the base64 encoded attachments.
    <Contents from the created file>
    MIME-Version: 1.0
    Content-Type: multipart/related; boundary=MIME_Boundary;
      type="binary/octet-stream"
    --MIME_Boundary
    Content-Type: binary/octet-stream
    Content-Transfer-Encoding: 8bit
    Thanks &amp; Regards,
    Samyajit Talukdar
    : [email protected]
    -----Original Message-----
    From: Samyajit Talukdar
    Sent: 10 April 2015 14:11
    To: MS MLRP Returns
    Subject: FW: 22222
    Thanks &amp; Regards,
    Samyajit Talukdar
    : [email protected]
    --MIME_Boundary
    Content-Type: application/vnd.ms-excel; name="soainfra_v$session.xls"
    Content-Transfer-Encoding: base64
    Content-Description: soainfra_v$session.xls
    Content-Disposition: attachment; filename="soainfra_v$session.xls";
      size=25618; creation-date="Thu, 27 Nov 2014 09:56:35 GMT";
      modification-date="Fri, 10 Apr 2015 09:28:23 GMT"
    0M8R4KGxGuEAAAAAAAAAAAAAAAAAAAAAPgADAP7/CQAGAAAAAAAAAAAAAAABAAAAAQAAAAAAAAAA
    EAAAJgAAAAEAAAD+////AAAAAAAAAAD/////////////////////////////////////////////
    AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
    AAAAAAAAAAAAAAAAAAA=
    --MIME_Boundary--
    If I put a delete action in the request to Publish action for SaveFile BS to delete the $attachments, the created file contains only the email body part and the attachment boundary part is missing.
    I've uploaded the OSB log with full trace enabled.
    How can I pass the  encodedAttachment to the BS for saving the files?
    Would iterating through the $aatachment/ctx:attachment give me the individual attachments for saving and processing, as there are separate binary-content refs in them?
    Any help to achieve my requirement is highly appreciated.
    Thanks in advance.

    Hi Manoj,
    Thanks for the quick reply to my query.
    The thing is, the link you have provided talks more from changing the business Service configurations i.e. the type of the service etc, but the concern is, that the Business Service is already Implemented and hence the change would not be an appropriate option for me.
    Please let me know, if any more information is required.
    Thanks & Regards,
    Anu

  • How to determine mime-type of a file using OSB

    I was working on a requirement where in it requires to use FILE/ FTP adapters using OSB or BPEL as solution. The idea is to pick up files from one location to another location for certain legacy platforms. The real issue is, someone can put a JPEG file in the upload/download location(s), merely by changing the extensions. When this happens the systems will not process since the mime-type is incorrect.
    I know of an open-source API (Apache-Tikka) to determine the mime-types, but then if we use open-source why would customer buy from us.
    The intention is to pick-up the file and simply pass-it (and not parse) on to next system using File or FTP adapter, but in the process, cross check the MIME-TYPE before doing so.
    Any solution using Oracle Service Bus or BPEL would help

    HI Birender,
    Kindly go through the metalink doc for processsing jpeg/xml/pdf etc any atachement using bpel :Understanding XPATH functions for processing MIME attachments with BPEL PM in SOA Suite 11gR1 [ID 1272093.1]
    Regrds,
    olety

  • Using OSB for Public API (REST)

    Hi there,
    Is it a good practice to use Oracle Service Bus to expose a PUBLIC REST API?
    The idea is to have a separeted OSB instance which will be in the WEB so that other partners and applications (Native Mobile, for instance) can access some of our services. The application layer will have many different applications, like SAP, JEE systems, Cobol and others. But the public API will be design in a more RESTful fashion.
    What about security?
    What about performance? (Parsing JMS, XML and others into JSON will probably create extra load into the OSB).
    What are be the advantages of using OSB instead of a more traditional Service Layer?
    P.S.: We are being careful with the design of our API, sometimes the underlying system doesn't help, so some transformation has to happen (more load!) in order to make the API elegant and meaningful.
    Cheers

    Personally, I'd prefer Collections as they are nice to work with. Their only annoying issue is certainly the constant casting as soon as you retrieve Objects from them.
    I do not consider the documentation of what those Collection include too big a problem. Just include a line for each Collection parameter stating "Set of Strings" or the like. I wouldn't even check the type through instanceof, I'd just cast. If a ClassCastException is thrown, I think that's the proper thing to do.
    As you might have noticed, there is a proposal of "Generics" for Java, which would adopt something like those template classes known in C++. There is even a beta implementation available, so you can go ahead and code your Set<String>. Time will tell if this proposal finds its way into the official Java standard, the drawback being a more complex syntax. If you want to know more about it, check out those links:
    http://forum.java.sun.com/forum.jsp?forum=316
    http://www.jcp.org/jsr/detail/14.jsp
    http://developer.java.sun.com/developer/earlyAccess/adding_generics

  • How to read flat file and convert to xml throught OSB

    Hi ,
    Can somebody help how to read flat file and convert to xml in OSB.
    appreciate ur help.
    Thanks & Regards ,
    Siva K Divi

    if you're using the oepe with osb plugin (will be installed when you install the osb locally) and then in your osb project > rightmouseclick > new > MFL.
    that's it
    maybe you're trying to create it within an oepe installation which doesnt have the osb plugin ?

  • How to download a file from Oracle UCM using OSB

    Hi,
    How can I download a file from Oracle UCM and save it on a filesystem using OSB 11.1.1.5.
    Thanks

    UCM supplies webservice interfaces which let you retrieve the filecontent by soap calls from UCM (http://ucmhost/_dav/cs/idcplg for example). (maybe you should enable some settings on ucm to have this webservice interface getting published).
    This services for example has 2 operations getFileByID and getFileByName.
    So you can just call these services from within OSB.
    After that you need to do some tests if you eitherway need to create a file-transport business-service and call this one from your proxy service or create a messageType proxyservice (binary)  which calls this file-transport business service to be able to write fo filesystem.
    I think for the OSB book i used a jca file adapter generated in Jdeveloper and used that one to write to filesystem.

  • Error encountered while polling a file using OSB

    Hi,
    This is the Exception when i try to poll a file using OSB
    <Error enco
    untered while polling the resource for the service endpoint ProxyService$CASE_RC
    $BUILD_DATA$FILE_HEADER$FileProcessPS: javax.naming.NameNotFoundExc
    eption: While trying to lookup 'wlsb.internal.transport.task.queue.file' didn't
    find subcontext 'wlsb'. Resolved ''; remaining name 'wlsb/internal/transport/task/queue/file'
    javax.naming.NameNotFoundException: While trying to lookup 'wlsb.internal.transp
    ort.task.queue.file' didn't find subcontext 'wlsb'. Resolved ''; remaining name
    'wlsb/internal/transport/task/queue/file'
    at weblogic.jndi.internal.BasicNamingNode.newNameNotFoundException(Basic
    NamingNode.java:1139)
    at weblogic.jndi.internal.BasicNamingNode.lookupHere(BasicNamingNode.java:247)
    at weblogic.jndi.internal.ServerNamingNode.lookupHere(ServerNamingNode.java:182)
    at weblogic.jndi.internal.BasicNamingNode.lookup(BasicNamingNode.java:206)
    at weblogic.jndi.internal.WLEventContextImpl.lookup(WLEventContextImpl.java:254)
    Truncated. see log file for complete stacktrace
    Can i know what is the issue?

    Hi,
    * java.lang.OutOfMemoryError: PermGen space
    at java.lang.Class.getDeclaredConstructors0(Native Method)
    at java.lang.Class.privateGetDeclaredConstructors(Unknown Source)
    at java.lang.Class.getConstructor0(Unknown Source)
    at java.lang.Class.getConstructor(Unknown Source)
    Solution: Increase the max permgen space -XX:MaxPermSize=256m
    There can be a leak in the permgen objects. If tuning parameters do not resolve the issue, we need to use the memory leak detector tools and find out which instances in the permgen space are not getting cleared.
    Reference - Weblogic wonders...
    http://weblogic-wonders.com/weblogic/2010/12/30/different-out-of-memory-issues/
    Cheers,
    Vlad

  • How to get UTF-8 encoding when create XML using DBMS_XMLGEN and UTL_FILE ?

    How to get UTF-8 encoding when create XML using DBMS_XMLGEN and UTL_FILE ?
    Hi,
    I do generate XML-Files by using DBMS_XMLGEN with output by UTL_FILE
    but it seems, the xml-Datafile I get on end is not really UTF-8 encoding
    ( f.ex. cannot verifying it correct in xmlspy )
    my dbms is
    NLS_CHARACTERSET          = WE8MSWIN1252
    NLS_NCHAR_CHARACTERSET     = AL16UTF16
    NLS_RDBMS_VERSION     = 10.2.0.1.0
    I do generate it in this matter :
    declare
    xmldoc CLOB;
    ctx number ;
    utl_file.file_type;
    begin
    -- generate fom xml-view :
    ctx := DBMS_XMLGEN.newContext('select xml from xml_View');
    DBMS_XMLGEN.setRowSetTag(ctx, null);
    DBMS_XMLGEN.setRowTag(ctx, null );
    DBMS_XMLGEN.SETCONVERTSPECIALCHARS(ctx,TRUE);
    -- create xml-file:
    xmldoc := DBMS_XMLGEN.getXML(ctx);
    -- put data to host-file:
    vblob_len := DBMS_LOB.getlength(xmldoc);
    DBMS_LOB.READ (xmldoc, vblob_len, 1, vBuffer);
    bHandle := utl_file.fopen(vPATH,vFileName,'W',32767);
    UTL_FILE.put_line(bHandle, vbuffer, FALSE);
    UTL_FILE.fclose(bHandle);
    end ;
    maybe while work UTL_FILE there is a change the encoding ?
    How can this solved ?
    Thank you
    Norbert
    Edited by: astramare on Feb 11, 2009 12:39 PM with database charsets

    Marco,
    I tryed to work with dbms_xslprocessor.clob2file,
    that works good,
    but what is in this matter with encoding UTF-8 ?
    in my understandig, the xmltyp created should be UTF8 (16),
    but when open the xml-file in xmlSpy as UTF-8,
    it is not well ( german caracter like Ä, Ö .. ):
    my dbms is
    NLS_CHARACTERSET = WE8MSWIN1252
    NLS_NCHAR_CHARACTERSET = AL16UTF16
    NLS_RDBMS_VERSION = 10.2.0.1.0
    -- test:
    create table nh_test ( s0 number, s1 varchar2(20) ) ;
    insert into nh_test (select 1,'hallo' from dual );
    insert into nh_test (select 2,'straße' from dual );
    insert into nh_test (select 3,'mäckie' from dual );
    insert into nh_test (select 4,'euro_€' from dual );
    commit;
    select * from nh_test ;
    S0     S1
    1     hallo
    1     hallo
    2     straße
    3     mäckie
    4     euro_€
    declare
    rc sys_refcursor;
    begin
    open rc FOR SELECT * FROM ( SELECT s0,s1 from nh_test );
    dbms_xslprocessor.clob2file( xmltype( rc ).getclobval( ) , 'XML_EXPORT_DIR','my_xml_file.xml');
    end;
    ( its the same when using output with DBMS_XMLDOM.WRITETOFILE )
    open in xmlSpy is:
    <?xml version="1.0"?>
    <ROWSET>
    <ROW>
    <S0>1</S0>
    <S1>hallo</S1>
    </ROW>
    <ROW>
    <S0>2</S0>
    <S1>straޥ</S1>
    </ROW>
    <ROW>
    <S0>3</S0>
    <S1>m㢫ie</S1>
    </ROW>
    <ROW>
    <S0>4</S0>
    <S1>euro_€</S1>
    </ROW>
    </ROWSET>
    regards
    Norbert

  • String to XML using XSLT..

    Hey folks
    Am having a XML in a single string in ma request and wanna convert that into a XML. Tried that using XSLT but seems am missing out on some point...It works fine with Stylus but fails within PI 
    Following code am using :
    <?xml version="1.0" encoding="UTF-8"?>
    <xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:a="http://www.sdn.com/xslt">
    <xsl:output method="xml" omit-xml-declaration="yes"/>
       <xsl:template match="/">
            <xsl:for-each select="//*:string">
             <xsl:value-of select="." disable-output-escaping="yes"/>
          </xsl:for-each>
    </xsl:template>
    </xsl:stylesheet>
    The name of the element in which i get the whole XML is  "string".
    My request string is something liek this :
    <xml version="1.0" encoding="UTF-8"?><ProductDefinition><RefNo>23232323</RefNo><Description>dfdfdfdfdf</Description></ProductDefinition>
    Now am trying to generate a XML using the XSL but its failing in PI...
    Kindly point out where am i going wrong?

    Thanks, but graphical mapping does not expose <![CDATAhttp:// ... ] to be removed. Surely this must be done with XSLT?+
    Don't worry about <![CDATA ... pass your whole string in source message like this : <![CDATAhttp://<?xml version=\"1.0\" encoding=\"UTF-8\"?><ProductDefinition><RefNo>12345</RefNo><Description>Test</Description></ProductDefinition>]>
    1st the graphical mapping where you use replace string will replace <?xml version=\"1.0\" encoding=\"UTF-8\"?>  and then the XSLT mapping would get a input like this : <![CDATAhttp://<ProductDefinition><RefNo>12345</RefNo><Description>Test</Description></ProductDefinition>]> which would eventually form your target structure...
    I tried it myself few days back so its a sure shot method ... just try it 
    Cheers!!!
    Soumen 

  • How to Ftp a Blob attachment in a table using osb service

    How to Ftp a Blob attachment in a table using osb service
    I tried with DBadapter select it does not work ... For blob objects cant use select throws error as expected number got blob
    can call a stored procedure to write the file to some directory but that file will not be created with the same name of the file as stored in DB .. need to hard code the filename in utl file or if we pass a variable to get the name of the attachment file we have to use select query in cursor which throws error like above in step 2
    Can some body tell me how to get the blob attachment with the same name as it is stored in DB table
    Edited by: user13745573 on Jan 31, 2011 4:35 AM

    Hi,
    I want to send an attachment through email.
    But I want to pick the file from say local drive then how can i specify the path of the file in file name.
    Also, i dont want ot append the conent from payload to the file. i wanted to sendthe file as is.
    <ema:attachment>
    <ema:name></ema:name>
    <ema:type>text/plain</ema:type>
    <ema:content/>
    </ema:attachment>
    Please help.

  • Problem in parsing XML using DOM Parser.

    Hi,
    I am parsing an XML using DOM Parser.
    When i try to get attributes of a node, i dont get in the order it is written. For Eg. This the node:
    <Level0 label="News" link="/website/ing_news.nsf/ViewNewsForm?OpenForm&All" level="202" uid="COGN-4MNMT3" parentid="aaaa">
    When i try to print the attribute values i should get in the order:
    News, /website/ing_news.nsf/ViewNewsForm?OpenForm&All, 202, COGN-4MNMT3, aaaa
    BUT I AM GETTING IN THE ORDER:
    News, 202, /website/ing_news.nsf/ViewNewsForm?OpenForm&All, aaaa, COGN-4MNMT3
    Is there any way to sort this problem out?
    Thanks and Regards,
    Ashok

    Hi Guys,
    Thanks a lot for your replies.
    But i want to keep all the values as attributes only.
    the XML file is as shown below:
    <Menu>
    <Level0 label="News" link="/website/ing_news.nsf/ViewNewsForm?OpenForm&All" level="202" uid="COGN-4MNMT3" parentid="aaaa" children="3">
         <Level1 label="ING News" link="" level="1" uid="COGN-4MNN89" parentid="COGN-4MNMT3" children="3" >
              <Level2 label="All ING News" link="/website/ing_news.nsf/ViewNewsForm?OpenForm&All" level="2" uid="INGD-4MVTK2" parentid="COGN-4MNN89" children="0">
              </Level2>
    </Level1>
    </Level0>
    The code i was using to get attributes is:
    String strElementName = new String(node.getNodeName());
         // System.out.println("strElementName:"+node.getNodeName());
    NamedNodeMap attrs = node.getAttributes();
    if (attrs != null) {
    int iLength = attrs.getLength();
    for (int i = 0; i < iLength; i++) {
    String strAttributes = (String) attrs.item(i).getNodeName();
    String strValues = (String) attrs.item(i).getNodeValue();
    Also is it not possible to Enforce the order using some Schema/DTD in this case?
    TIA
    Ashok

  • Problem in parsing an XML using SAX parser

    Hai All,
    I have got a problem in parsing an XML using SAX parser.
    I have an XML (sample below) which need to be parsed
    <line-items>
    <item num="1">
         <part-number>PN1234</part-number>
         <quantity uom="ea">10</quantity>
         <lpn>LPN1060</lpn>
         <reference num="1">Line ref 1</reference>
         <reference num="2">Line ref 2</reference>
         <reference num="3">Line ref 3</reference>
    </item>
    <item num="2">
         <part-number>PN1527</part-number>
         <quantity uom="lbs">5</quantity>
         <lpn>LPN2152</lpn>
         <reference num="1">Line ref 1</reference>
         <reference num="2">Line ref 2</reference>
         <reference num="3">Line ref 3</reference>
    </item>
    <item num="n">
    </item>
    </line-items>
    There can be any number of items( 1 to n). I need to parse these
    item values using SAX parser and invoke a stored procedure for
    each item with its
    values(partnumber,qty,lpn,refnum1,refnum2,refnum3).
    Suppose if there are 100 items, i need to invoke the stored
    procedure sp1() 100 times for each item.
    I need to invoke the stored procedure in endDocument() method of
    SAX event handler and not in endelement() method.
    What is the best way to store those values and invoke the stored
    procedure in enddocument() method.
    Any help would br greatly appreciated.
    Thanks in advance
    Pooja.

    VO or ValueObject is a trendy new name for Beans.
    So just create an item class with variables for each of the sub elements.
    <item>
    <part-number>PN1234</part-number>
    <quantity uom="ea">10</quantity>
    <lpn>LPN1060</lpn>
    <reference num="1">Line ref 1</reference>
    <reference num="2">Line ref 2</reference>
    <reference num="3">Line ref 3</reference>
    </item>
    public class ItemVO
    String partNumber;
    int quantity;
    String quantityType;
    String lpn;
    List references = new ArrayList();
    * @return Returns the lpn.
    public String getLpn()
    return this.lpn;
    * @param lpn The lpn to set.
    public void setLpn(String lpn)
    this.lpn = lpn;
    * @return Returns the partNumber.
    public String getPartNumber()
    return this.partNumber;
    * @param partNumber The partNumber to set.
    public void setPartNumber(String partNumber)
    this.partNumber = partNumber;
    * @return Returns the quantity.
    public int getQuantity()
    return this.quantity;
    * @param quantity The quantity to set.
    public void setQuantity(int quantity)
    this.quantity = quantity;
    * @return Returns the quantityType.
    public String getQuantityType()
    return this.quantityType;
    * @param quantityType The quantityType to set.
    public void setQuantityType(String quantityType)
    this.quantityType = quantityType;
    * @return Returns the references.
    public List getReferences()
    return this.references;
    * @param references The references to set.
    public void setReferences(List references)
    this.references = references;

  • Error in Parsing XML using fx:XML/ [Error- 1090: XML parser failure: element is malformed]

    Hi All,
    I am getting error while loading XML in <fx:XML> tag.
    Error:
    TypeError: Error #1090: XML parser failure: element is malformed.
    MXML Code:
    <fx:Declarations>
    <fx:XML id="xmlSource2" source="sample.xml"/>
    </fx:Declarations>
    Sample XML Used: (sample.xml)
    <?xml version="1.0" encoding="UTF-8"?>
    <File>
        <Chemical id="000035676" displayFormula="C39-H45-N2-O6"
            displayName="Dimethyltubocurarine">
            <NameList>
                <NameOfSubstance>
                    Dimethyltubocurarine
                    <SourceList>
                        <Source>MESH</Source>
                    </SourceList>
                </NameOfSubstance>
                <SystematicName>
                    Tubocuraranium, 6,6',7',12'-tetramethoxy-2,2',2'-trimethyl-
                    <SourceList>
                        <Source>NLM</Source>
                    </SourceList>
                </SystematicName>
                <Synonyms>
                    Dimethyltubocurarine
                    <SourceList>
                        <Source>NLM</Source>
                    </SourceList>
                </Synonyms>
                <Synonyms>
                    Dimethyltubocurarinium
                    <SourceList>
                        <Source>NLM</Source>
                    </SourceList>
                </Synonyms>
                <Synonyms>
                    Methyltubocurarinum
                    <SourceList>
                        <Source>NLM</Source>
                    </SourceList>
                </Synonyms>
            </NameList>
            <NumberList>
                <CASRegistryNumber>
                    35-67-6
                    <SourceList></SourceList>
                </CASRegistryNumber>
                <RelatedRegistryNumber>
                    518-26-3 (iodide.hydriodide)
                    <SourceList>
                        <Source>MESH</Source>
                    </SourceList>
                </RelatedRegistryNumber>
            </NumberList>
            <ClassificationList>
                <ClassificationCode>
                    Neuromuscular nondepolarizing agents
                    <SourceList>
                        <Source>MESH</Source>
                    </SourceList>
                </ClassificationCode>
            </ClassificationList>
            <FormulaList>
                <MolecularFormula>
                    C39-H45-N2-O6
                    <SourceList>
                        <Source>NLM</Source>
                    </SourceList>
                </MolecularFormula>
            </FormulaList>
            <FormulaFragmentList></FormulaFragmentList>
            <NoteList></NoteList>
            <LocatorList>
                <FileLocator
                    url="http://cnetdb.nci.nih.gov/cgi-bin/srchcgi.exe?DBID=****3&SFMT=****_basic%2F10%2F0%2F0&TYPE=search&SRCHFORM=passthru%3D%Asrchform%3ASRCH%3A&FIELD_001=[CAS]35-67-6&#38;GoButton=Search&#38;FIELD_001_CTL=EXPR&#38;FIELD_908=&#38;FIELD908_CTL=HASABSTRACT&#38;FIELD_903=&#38;FIELD_903_CTL=YEARFORE&#38;DOCPAGE=10">CANCERLIT</FileLocator>
                <FileLocator
                    url="http://toxnet.nlm.nih.gov/cgi-bin/sis/search/r?dbs+toxline:@and+@term+@rn+35-67-6+@term+@org+DART">DART/ETIC</FileLocator>
                <FileLocator
                    url="http://www.ncbi.nlm.nih.gov/entrez/query.fcgi?cmd=search&db=PubMed&term=35-67-6[ECNO]+OR+&#34;~&#34;[MH]">MEDLINE</FileLocator>
                <FileLocator
                    url="http://www.nlm.nih.gov/cgi/mesh/2K/MB_cgi?term=35-67-6&rn=1">MESH</FileLocator>
                <FileLocator
                    url="http://toxnet.nlm.nih.gov/cgi-bin/sis/search/r?dbs+toxline:@term+@rn+35-67-6+@OR+@mh+""">TOXLINE</FileLocator>
            </LocatorList>
        </Chemical>
    </File>
    Also, when I am using HttpService to load same XML I am getting no such error!!
    <s:HTTPService id="employeeService"
                           url="sample.xml"
                           result="employeeService_resultHandler(event)"
                           fault="employeeService_faultHandler(event)"/>
    Please help!!
    Thanks.
    Abhinav

    I think url in XML is creating problem here.
    <FileLocator
                    url="http://www.ncbi.nlm.nih.gov/entrez/query.fcgi?cmd=search&db=PubMed&term=23-95-0[ECNO]+OR+&#34;~&#34;[MH]">MEDLINE</FileLocator>
    Is there any way to parse this XML using <fx:XML/> ??
    Thanks.

  • Parsing an XML using DOM parser in Java in Recursive fashion

    I need to parse an XML using DOM parser in Java. New tags can be added to the XML in future. Code should be written in such a way that even with new tags added there should not be any code change. I felt that parsing the XML recursively can solve this problem. Can any one please share sample Java code that parses XML recursively. Thanks in Advance.

    Actually, if you are planning to use DOM then you will be doing that task after you parse the data. But anyway, have you read any tutorials or books about how to process XML in Java? If not, my suggestion would be to start by doing that. You cannot learn that by fishing on forums. Try this one for example:
    http://www.cafeconleche.org/books/xmljava/chapters/index.html

Maybe you are looking for