XML Data Server Problem

I am trying to setup an XML data server and can't get passed the error: java.sql.SQLException: Could not generate the DTD because the file could not be created. Verify that you have write permission in the directory.
I have placed my xml file in the odi\demo directory where the sample files are and it doesn't seem to help. Here is the url I'm using: jdbc:snps:xml?f=../demo/xml/sample-incident-report1.xml
This url does not give the errors and connects w/o a problem: jdbc:snps:xml?f=../demo/xml/salesorg.xml
Same directory, one gives the error and one does not.
Thanks for any help.

It seems that anything a little complex causes this error. I've tested with relatively flat xml documents and don't encounter the problem.

Similar Messages

  • Problem with inserting XML data server in ODI

    Hi,
    I was trying to insert an XML data server in ODI. I want to use it for my target database.i.e i want my target to be an xml file. So while specifying the url in the data server, what should i mention as the file name,dtd file , root etc? what i have done is dat i hav created the dtd file as per my requirement.i have created an empty xml file. while testing the connection an error comes : java.sql.SQLException: A parsing exception occurred saying Whitespace required..
    Next i tried putting jz d root tags in the xml file without any content. this returned the same error. next i tried inserting all d tags as per my dtd file. same error came...
    Please help.
    Regards,
    Divya
    Message was edited by:
    Divya Padmanabhan

    For empty xml try to use:
    <?xml version="1.0" encoding="UTF-8"?>
    <ROOT_SOME></ROOT_SOME>
    as jdbc connect string:
    jdbc:snps:xml?f=../demo/xml/1/file.xml&ro=false&ldoc=true&case_sens=true&s=LEO_FIZ&dod=true
    and try again...

  • ODI 11g : JMS Queue XML Data Server creation

    Hi Everybody,
    I am facing a problem while i am trying to create a JMS Queue XML data server in ODI 11g. I have
    the following details of the queue.
    QueueManager=xxx;
    TransportType=1;
    HostName=ab.cde.fe.com;Port=77777;
    Channel=CLIENT.TO.xxx1
    destination name : SU.BH.RAJY.OTI.UPDATE_ITEM_RESPONSE.01
    user : xyz
    password : 123
    I have sussefully created an jms datasouce in weblogic name 'eis/jms/abc' and also I have successfully
    retrived the xml message from queue in BPEL
    (using a jms adapter where
    JMS Provider : Third Party,
    Jms Provider Jndi Name -eis/jms/abc,
    Operation name : consume_message,
    destinamtion name is queue:///SU.BH.RAJY.OTI.UPDATE_ITEM_RESPONSE.01?targetClient=1).
    But the new reqirement is to retive the xml data in ODI using "JMS Queue XML data server".I have tried
    several ways(reading from internet) but failed to configure physical dataserver and reverse the xml message.
    Also failed to understand properly the oracle post (http://docs.oracle.com/cd/E21764_01/integrate.1111/e12644/jms_xml.htm#CHDFCFBI).
    Speically this portion "JNDI URL: <JMS_RESOURCE>?d=<DTD_FILE>&s=<SCHEMA>&JMS_DESTINATION=<JMS_DESTINATION_NAME>.".
    What will be the "JMS_RESOURCE" in my case.
    How can I configure JMS Queue XML?
    Please help!
    Note : I don't have the XML message structure of the Queue(also DTD file). So , I have to reverse it.
    Thanks & Regards,
    Subhra
    Message was edited by: SubhrajyotiKundu

    Hi Everybody,
    I am facing a problem while i am trying to create a JMS Queue XML data server in ODI 11g. I have
    the following details of the queue.
    QueueManager=xxx;
    TransportType=1;
    HostName=ab.cde.fe.com;Port=77777;
    Channel=CLIENT.TO.xxx1
    destination name : SU.BH.RAJY.OTI.UPDATE_ITEM_RESPONSE.01
    user : xyz
    password : 123
    I have sussefully created an jms datasouce in weblogic name 'eis/jms/abc' and also I have successfully
    retrived the xml message from queue in BPEL
    (using a jms adapter where
    JMS Provider : Third Party,
    Jms Provider Jndi Name -eis/jms/abc,
    Operation name : consume_message,
    destinamtion name is queue:///SU.BH.RAJY.OTI.UPDATE_ITEM_RESPONSE.01?targetClient=1).
    But the new reqirement is to retive the xml data in ODI using "JMS Queue XML data server".I have tried
    several ways(reading from internet) but failed to configure physical dataserver and reverse the xml message.
    Also failed to understand properly the oracle post (http://docs.oracle.com/cd/E21764_01/integrate.1111/e12644/jms_xml.htm#CHDFCFBI).
    Speically this portion "JNDI URL: <JMS_RESOURCE>?d=<DTD_FILE>&s=<SCHEMA>&JMS_DESTINATION=<JMS_DESTINATION_NAME>.".
    What will be the "JMS_RESOURCE" in my case.
    How can I configure JMS Queue XML?
    Please help!
    Note : I don't have the XML message structure of the Queue(also DTD file). So , I have to reverse it.
    Thanks & Regards,
    Subhra
    Message was edited by: SubhrajyotiKundu

  • XML Data Server Trouble

    I Re: New ODI User having trouble creating an XML Data Source... a couple of weeks ago regarding some troubles I've been having inserting an XML Data Server in the Topology Manager. Unfortunately I'm still having some problems. I thought I'd start a new thread with more detail than the last. Thanks for the responses in advance.
    I followed this guide: [ODI XML to Database Transformation|http://www.oracle.com/technology/obe/fusion_middleware/ODI/ODIXML_to_DB_Transform/ODIXML_to_DB_Transform.htm] , which was helpful, but since it used example XML files it did not go into how to use your own custom XML file.
    Let me start off by sharing the XSD file I'm using:
    <?xml version="1.0" encoding="UTF-8"?>
    <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
        targetNamespace="http://insurance.oracle.com/schema/Money"
        xmlns:tns="http://insurance.oracle.com/schema/Money"
        elementFormDefault="qualified">
        <xs:element name="MoneyInReport" type="tns:ReportType"></xs:element>
        <xs:element name="MoneyOutReport" type="tns:ReportType"/>
        <xs:element name="Money" type="tns:MoneyType"/>
        <xs:complexType name="ReportType">
            <xs:sequence>
                <xs:element name="Money" maxOccurs="unbounded"/>
            </xs:sequence>
        </xs:complexType>
        <xs:complexType name="MoneyType">
            <xs:sequence>
                <xs:element name="MoneyID" type="xs:string">
                    <xs:annotation>
                        <xs:documentation>A unique identifier for this transaction.</xs:documentation>
                    </xs:annotation>
                </xs:element>
                <xs:element name="ContractID" type="xs:string">
                    <xs:annotation>
                        <xs:documentation>Since OIPA will be providing the contract data to RMB initially this will the OIPA key.</xs:documentation>
                    </xs:annotation>
                </xs:element>
                <xs:element name="EffectiveDate" type="xs:dateTime">
                    <xs:annotation>
                        <xs:documentation>The date the money should be applied to the policy.</xs:documentation>
                    </xs:annotation>
                </xs:element>
                <xs:element name="MessageDate" type="xs:dateTime">
                    <xs:annotation>
                        <xs:documentation>The date this message was created.</xs:documentation>
                    </xs:annotation>
                </xs:element>
                <xs:element name="ReversalIndicator" type="xs:boolean">
                      <xs:annotation>
                          <xs:documentation>If true, then a reversal of a previous Money event.  In this case, the PriorMoneyID must be populated.</xs:documentation>
                      </xs:annotation>
                </xs:element>
                <xs:element name="PriorMoneyID" type="xs:string" minOccurs="0">
                    <xs:annotation>
                        <xs:documentation>If populated, must contain the value of a prior MoneyID record being reversed.</xs:documentation>
                    </xs:annotation>
                </xs:element>
                <xs:element name="Amount" type="xs:decimal"/>
                <xs:element name="MoneyType" type="xs:integer">
                    <xs:annotation>
                        <xs:documentation>The money type code for this record.  Loosely corresponds to the purpose of the money as opposed to its source. A final list of money types is TBD.</xs:documentation>
                    </xs:annotation>
                </xs:element>
                <xs:element name="ExchangeDetails" minOccurs="0">
                    <xs:annotation>
                        <xs:documentation>These tags provide additional details when the MoneyType indicates a 1035 Exchange.</xs:documentation>
                    </xs:annotation>
                    <xs:complexType>
                        <xs:sequence>
                            <xs:element name="CostBasis" type="xs:decimal"/>
                            <xs:element name="ExchangeType" type="xs:integer"/>
                            <xs:element name="MEC" type="xs:boolean"/>
                            <xs:element name="LoanAmount" type="xs:decimal"/>
                        </xs:sequence>
                    </xs:complexType>
                </xs:element>
            </xs:sequence>
        </xs:complexType>
    </xs:schema>Here is the "Sample XML" file that I generated based on this XSD file using Oxygen XML Editor:
    <?xml version="1.0" encoding="UTF-8"?>
    <Money xmlns="http://insurance.oracle.com/schema/Money"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://insurance.oracle.com/schema/Money file:/C:/OraHome_1/oracledi/demo/xml/Money.xsd">
        <MoneyID>MoneyID0</MoneyID>
        <ContractID>ContractID0</ContractID>
        <EffectiveDate>2006-05-04T18:13:51.0Z</EffectiveDate>
        <MessageDate>2006-05-04T18:13:51.0Z</MessageDate>
        <ReversalIndicator>false</ReversalIndicator>
        <PriorMoneyID>PriorMoneyID0</PriorMoneyID>
        <Amount>0</Amount>
        <MoneyType>0</MoneyType>
        <ExchangeDetails>
            <CostBasis>0</CostBasis>
            <ExchangeType>0</ExchangeType>
            <MEC>false</MEC>
            <LoanAmount>0</LoanAmount>
        </ExchangeDetails>
    </Money>So I go into Topology, select the "Physical Architecture" tab, right click "XML", click "Insert Data Server". I name my file "XML_MONEY", select the JDBC tab, and fill in the following fields:
    JDBC Driver: com.sunopsis.jdbc.driver.xml.SnpsXmlDriver
    JDBC Url: jdbc:snps:xml?f=../demo/xml/Money.xml
    When I hit "Test", it gives me this annoying message:
    java.sql.SQLException: Could not generate the DTD because the file could not be created. Verify that you have write permission in the directory.
    I have no idea why. I definitely have permissions to write to that directory.
    Following the advice in my previous threads, I tried some new JDBC Url values. Here are the results:
    jdbc:snps:xml?d=../demo/xml/MONEY.xml&s=MONEY&rt=MONEY&ro=false
    This gives me a "Successful Connection", however when I try to add a New Model and Reverse it, it does not generate any data. (Sometimes this gives me an error, other times it seems to "work" but generates no data/tables).
    jdbc:snps:xml?d=../demo/xml/MONEY.xsd&s=MONEY&f=../demo/xml/MONEY.XML
    This gives me the following error: java.lang.ArrayIndexOutOfBoundsException: 1
    jdbc:snps:xml?d=../demo/xml/Money.xsd
    This gives me the following error: java.lang.ArrayIndexOutOfBoundsException: 1
    Does anyone know what I'm doing wrong here? I even tried following Sai Praneeth's example (from my Re: New ODI User having trouble creating an XML Data Source... thread) with his exact simple xml file, and that works fine. Is there something wrong with my XSD file? ANY help would be appreciated, as I'm completely lost. Thank you.

    I have some Interface Mapping questions I was hoping someone could help me with. As you know, my source is an XML File and my target is an OracleDB. I'll start with the "EFFECTIVEDATE" field which was automatically mapped when I added the Source and Target Datastores. As I previously mentioned, this caused an error "Target Column EFFECTIVEDATE: Data may be truncated: the target Column is smaller than the source Column". After looking further into it, would the problem be that the "EFFECTIVEDATE" datatype in the XML is "DATETIME" whereas the "EFFECTIVEDATE" datatype in the database is "TIMESTAMP"? If so, what would be the fix for this? Could I convert it in the Implemenation Mapping like so? -
    CONVERT(MONEY.EFFECTIVEDATE,TIMESTAMP)
    Would using that in the Implementation simply do the trick?
    Anyway, moving onto some of the other TARGET fields...
    -ACTIVITYGUID
    This should be an automatically generated new GUID value. How could I implement this into the Implementation?
    -TRANSACTIONGUID
    I'll need to query some of the other tables in the database in order to get this value. Is this allowed in the Implemenation? Do I have to add said tables to the target somehow? Can I just query the other tables in the Implementation field using normal select statements, etc.? I'm a bit confused on how this would work...
    -TYPECODE
    This needs to be a fixed value of '01'. How do I simply do that in the Implementation?
    The other fields will all be implemented similar to the above so those are the main questions I have for now. Any help would be appreciated.
    Thanks again for your help.

  • ODI XML data server error while creating External databse tables.

    Hi,
    i am trying to create External database tables using XML data server.
    i am getting the following error,i have done this same thing for small xml files before.
    Java.sql.SQLException: ORA-00904: : invalid identifier
         at com.sunopsis.jdbc.driver.xml.bz.execute(bz.java)
         at com.sunopsis.jdbc.driver.xml.ca.execute(ca.java)
         at com.sunopsis.xmlfifth.b.u.a(u.java)
         at com.sunopsis.xmlfifth.b.bj.a(bj.java)
         at com.sunopsis.xmlfifth.b.bj.a(bj.java)
         at com.sunopsis.jdbc.driver.xml.u.a(u.java)
         at com.sunopsis.jdbc.driver.xml.u.g(u.java)
    Thanks,
    RK

    RK,
    With no details of how you configured the XML server, what were the parameters used in the configuration for using external database, etc, I dont know how much can someone help you.
    This is an Oracle error, so a few things that could be problematic with your "big" xml -
    1.) An element name could be of length > 30 characters (Oracle table name length limit is 30)
    2.) There are some special characters in the element name
    3.) Element name begins with a Number
    4.) Element name is an Oracle reserved word.
    This list can go on.

  • XML Data Server and model help

    All,
    I have the following files
    1) travel.dtd
    2) travel.xml.
    I've set up a XML data server with JDBC driver com.sunopsis.jdbc.driver.xml.SnpsXmlDriver and URL = jdbc:snps:xml?d=c:/XML/travel.dtd. I have created a model in designer and have successfully reversed the datastores generated from the dtd.
    The travel.xml file has data populated within it, but when I right click on the datastores, there is nothing displayed. This makes sense because the xml server is configured to point at the .dtd. Do I need to change my topology connection to connect to the xml document as opposed to the dtd. Can someone tell me what i'm missing?
    thanks for your help.

    Since its not displaying anything as you are saying you just change the property to "f" and check.
    Example
    jdbc:snps:xml?f=/xml/myxml.xml&d=/xml/myxcd.xsd&s=MYSCHEMANAME
    ("s=MYSCHEMANAME": This schema will be selected when creating the physical schema under the XML data server.)
    Hope it helps.
    Thanks

  • Create jms queue xml data server

    Hi,
    What's the difference between jms queue and jms queue xml data servers and how to create jms queue xml data server.
    Thanks.

    Hello,
    JMS messages can principally be processed by Oracle Data Integrator in two formats:
    - JMS Messages: containers for rows of data, handled through JMS Queue/JMS Topic Technologies. With JMS Queue/JMS Topic technologies, each JMS destination is defined similarly to a flat file datastore. Each message in the destination is a record in the datastore.
    - XML Messages: containers for XML files, handled through JMS XML Queue/JMS XML Topic Technologies. With JMS XML Queue/JMS XML Topic technologies, each messages payload contains a complete XML data structure. This structure is mapped into a relational schema (XML Schema) which appears as a model. This use the Oracle DI Driver for XML (see the driver documentation in Oracle DI documentation).
    Find below a step by step creation process for such a destination:
    1. Data Server
    To create a JMS XML Queue data server, you declare a simple JNDI connection. The only JMS XML specific information is added to the URL. This information defines the XML file format.
    The JNDI URL should be : <JMS_RESOURCE>?d=<DTD_FILE>&f=<XML_FILE>&s=<SCHEMA>&JMS_DESTINATION=<JMS_DESTINATION_NAME>
    - JMS_RESOURCE: JNDI resource corresponding to your JMS queue that will contain the XML payload. You would specify this URL if you were managing normal JMS messages.
    - DTD_FILE: path to a DTD file that describes the XML structure. Mandatory if the parameter XML_FILE is omitted.
    - XML_FILE: path to the XML file with a structure similar to the expected XML messages. Mandatory if the DTD_FILE parameter is omitted.
    - SCHEMA: schema name that will contain the XML structure. This value must match the one set for the physical schema attached to this data server. This parameter is mandatory.
    - JMS_DESTINATION_NAME: name of the JMS queue or topic. This parameter is mandatory.
    2. Schema
    Creation is straightforward: In the Schema (Schema) and Schema (Work Schema), enter the name of the <SCHEMA> defined in the data server JNDI URL.
    3. Model
    Use standard reverse-engineering. As the Oracle DI Driver for XML is used the XML structure will be reversed as a relational structure.
    Regards,
    - FX

  • Creating xml data server in topology manager

    I am trying to create xml data server in topology manager.I mentioned all the required parameters in the jdbc Url.When i test the connection its giving this error
    java.sql.SQLException: class org.xml.sax.SAXParseException
    Relative URI "DEPARTMENTS.dtd"; can not be resolved without a base URI.
    I have mentioned absolute paths for both xml and dtd files.

    It's lokks like error structure in your xml file. Check it, open by IE and so on...
    See my connection string also:
    jdbc:snps:xml?f=../demo/xml/1/GEO_DIM_UPD.xml&ro=false&ldoc=true&case_sens=true&s=LEO_FIZ&dod=true

  • Problem with a XML Data Server

    Hello,
    I am facing a problem in defining the data server for an XML File.
    This Xml File is well build and I can open it with IE.
    In this file I have a namespace define.
    I define the url driver as following : jdbc:snps:xml?f=C:/Temp/dossiers_suisse.xml&s=XML_DOS_HAB_S
    but I always have the following error message :
    java.sql.SQLException: The model generated by the model mapper was not accepted by a validator: Modèle non accepté: Namespace not found:
    When I remove the namespace of the xml file the test works well.
    I was searching for the driver documentation but I just find few informations on the webhelp.
    Maybe there is a parameter to pass to the Driver URL to define the namespace but there is not in the web help.
    So if someone know how to do with this sort of file ?
    Or if someone know where I can find the real documentation for this driver ?
    Thanks in advance...
    BM

    I am able now to test my connexion succesfully after having restart my ODI.
    I can reverse my XML file too.
    But my datastores are empty except the first datastore genrated which correspond to the first Tag (the one after the root).
    Please Help...

  • Xml data output problem

    I have table xxemp(No number, Text varchar2(250)), i have created a report and generate xml file and create temple and load data and insert all
    field and when i preview the data in rtf formate at that movement data is not shown in the text field not display.In text field content 3 line of data
    Thanks
    837

    please make sure, your xml data file has some data in it. and when the rtf is made view the output their itself.
    let me know the steps you have followed.
    Thanks
    Ud.

  • XML Data Source Problem

    Hi there,
    I am creating a data source for XML....
    all needed services are there (/SICF)
    Web service was created..and it is active
    I create DataSource..and I check it.... everything is Ok until here..
    By activating the DataSource I got an error
    <b>Error generating web service..</b>
    what could be the problem ? or how could I know more about the problem...I do not get more than that message...
    I will thank any help or advice
    FedeX

    Hi there,
    I am creating a data source for XML....
    all needed services are there (/SICF)
    Web service was created..and it is active
    I create DataSource..and I check it.... everything is Ok until here..
    By activating the DataSource I got an error
    <b>Error generating web service..</b>
    what could be the problem ? or how could I know more about the problem...I do not get more than that message...
    I will thank any help or advice
    FedeX

  • Jasper Report with XML data Source problem

    I have a problem in getting a report run on my machine..
    I have a report that uses XML-dataSource to read info stored in xml file, I use XPath query to traverse xml nodes,
    I have JBoss Server installed but the problem is that I want to know how to configure JBoss and tell it where to look for the xml file so the report can produce right information.
    I use Windows XP and JBoss 4.23 and I finished the report using i-report 2.0.2
    please I need the configuration steps to make this report work... thanx in advance

    Hi,
    Have a look at below URL.
    http://ireport.sourceforge.net/cap7.html#7.4
    Regards
    VInK

  • XML Data Conversion Problem

    Hi,
    Am facing problem in flex that using web services am getting the data in xml format (below provided) am not able to provide the data from xml to datagrid. Am getting the data in datagridcolumn with the tag also. I need only data to be displayed without the child tag in the datagrid.
    XML Format output as below:
    <UDSObjectList>
    <UDSObject>
    <Handle>cr:400503</Handle>
    <Attributes>
    <Attribute DataType="2005">
    <AttrName>ref_num</AttrName>
    <AttrValue>671</AttrValue>
    </Attribute>
    <Attribute DataType="2005">
    <AttrName>impact</AttrName>
    <AttrValue>5</AttrValue>
    </Attribute>
    <Attribute DataType="2005">
    <AttrName>priority</AttrName>
    <AttrValue>1</AttrValue>
    </Attribute>
    </Attributes>
    </UDSObject>
    </UDSObjectList>
    Attached the screenshot of output for your reference. The screenshot showing the datawith tag and here is other problem is for request id and impact and priority columns showing three columns data in all the columns.
    Actual data is as below:
    Request Id is 671
    Impact is 5
    Priority is 1
    but the data is shown in all the columns not shown in related columns.
    Thanks in advance..........

    Can anyone provide a solution. As this problem was facing since long time.
    Thanks

  • XML data set problems with Accordion widget

    Hi,
    I have a dataset, which returns the data as shown below:
    <resultset>
    <result>
    <title>Title one<b>with parts of the title in
    bold</b></title>
    <otherAttributes/>
    </result>
    </resultset>
    As you can see, some of the nodes may have markups, such as
    <b> etc. I create the XML dataset as:
    var myDataset = new Spry.Data.XMLDataSet("/path/to/my/URL",
    "resultset/result");
    And in AccordionPanelTab, I use the title property as shown
    below.
    <div class="AccordionPanelTab">{title}</div>
    But this doesn't work. The Tab displays no titles. If I
    remove the <b/> in the <title> it works fine as
    expected. My problem is, some titles may have additional mark ups
    and some may not. How can I handle this problem?
    Any help is greatly appreciated.
    Cheers,
    Rag.

    Forgot to mention that the data comes from third party
    service providers, so I have no control over it. For ex: I cannot
    have title in a CDATA section.

  • XML data type problem

    I am trying to unflatten data from an xml file but my input type for the type on the unflatten I believe is invalid and I am getting error 1106. 
    Attached is the xml file and VI
    XML file is in text due to upload constraints
    Paul Power
    I have not lost my mind, it's backed up on a disk somewhere
    Solved!
    Go to Solution.
    Attachments:
    TestData.txt ‏2 KB
    XML Cluster.vi ‏35 KB

    Your data type cluster does not match your XML file. Fixed VI (LV version 2013) is attached. However, the file you posted appears to be a single element, not the entire file, so I cannot verify it works.
    If you have an earlier version of LabVIEW, the cluster was missing a timestamp and had a cluster at the end which should have been a string.
    Duplicate post from here.
    This account is no longer active. Contact ShadesOfGray for current posts and information.
    Attachments:
    XML Cluster.vi ‏44 KB

Maybe you are looking for

  • Syncing multiple devices, user accounts, iTunes accounts one computer

    I have a question that I can't find a clear answer. I previous had one iPod touch and one iPad that I synched with my iTunes library. No problem. But now the wife has finally purchased a verizon iPhone and I want to be able to use my vast app collect

  • My macbook is keeps displaying a busy sign and won't let me do anything. Help!!

    My macbook is not working correctly. It stays busy. When I restart it, it stays on a white screen until I press command "R" and it finally comes to the home screen. I can not get it to stop being busy. What do I do?

  • Error mapping function in external procedure call

    I'm trying to create an external procedure in PL/SQL8.1 to run an operating system command from within a PL/SQL block. The C function couldn't be simpler: extern void host_command(char *command) (void)system(command); It's even ignoring the return va

  • Enquiry tracking of customer

    Hi My client wants to keep track on all enquiries he has made for a customer wise.Which will include follow up, no of enquiries converted to business, failed attempts and its reasons like price,quality, behaviour of sales employee etc. So that in nex

  • Why do the connected devices to the router have the smae IPV6 address?

    Hi, Now I meet the issue The operation steps on router (WRVS4400N): 1.Set the IP mode as Dual-stack IP and then save 2.Disable the IPV4 DHCP server 3.Use other deivces to connect the router. The connected devices have the same IP address(2005:123:456