ESB error [TOPLINK-3001]

This is an error where I have been working on for too long.
And in fact it has a very easy solution.
I was building my application that I already mentioned in a previous post.
When I tested the xsl file(in the xsl file right click and choose test), everything looked fine and no problem occurred.
But when I deployed the application into my application server and I wanted to upload the content of the csv file into the database, I always received an error.

For the solution read more…

This was the error I received:
nested exception is: ORABPEL-11616 DBWriteInteractionSpec Execute Failed Exception. insert failed. Descriptor name: [DBTank.PersonFuelCosts]. Caused by Uitzondering [TOPLINK-3001] (Oracle TopLink – 10g Release 3 (10.1.3.3.0) (Build 070608)): oracle.toplink.exceptions.ConversionException Omschrijving uitzondering: Het object [50,1], van klasse [class java.lang.String], kon niet worden geconverteerd naar [class java.math.BigDecimal]. Interne uitzondering: java.lang.NumberFormatException. at oracle.tip.adapter.fw.wsif.jca.WSIFOperation_JCA.executeRequestResponseOperation

Reading this error message I believed that there was something wrong with the translation from my csv content into the database, and that this was caused by a declaration in one of the xsd files. The type of the variable in the xsd file in the csv file was a ‘String’, but for the xsd file for the database adapter the type was ‘decimal’.
I replaced the types in the xsd files with different kinds of other types, but this didn’t changed a thing, I still received the error message.
After a lot of searching and testing I found out that, when I changed the value in the csv from 56,2 into 56.1 everything worked fine.
Strange thing is that my DB reads ‘,’ and not ‘.’ .
Ones I found this, the workaround was rather easy to find.
On my xsl file I used a function to replace the ‘,’ by a ‘.’
This function can be found in the ‘Component Palette’ where you have to choose ‘String Functions’ and select the ‘translate’ function.
Ones this was done I managed to get the data correct into my database.

About these ads

4 thoughts on “ESB error [TOPLINK-3001]

  1. Hello!Did you check your locale settings of the application servers you are using? Maybe your development and production application servers have different locales set.The mixing of . and , seems a lot like a problem with locale settings where one settings use . for a decimal point and the other use ,.Anyway, just a thought :)Kristjan

  2. Hi,Great blog!Speaking of ESB – have you had any experiences with the simple scenario of creating a dbAdapter and (optionally) a Routing Service infront of it, within the Oracle ESB, then trying to “consume” this from Flex? I’ve been trying to get this to work and it seems the generated ESB WSDL is non-standard!? Even the venerable SoapUI tool doesn’t like the WSDL from the Oracle ESB. To get around this I can create the same dbAdapter within a BPEL process (that does nothing else but expose the adapter), and this works ok from Flex.It seems wrong to have to use BPEL to create a “utility service” in a SOA situation, when BPEL is supposed to be for the orchestration layer.Looks like the Oracle ESB is truly weird – or maybe I’ll discover it’s just me!Any thoughts or insights you (or anyone) has would be greatly appreciated.Take care,Greg Sydney, Australia

  3. Hi Wally,I’ve been working with integration of BPEL and Flex for that matter so I don’t know of any problems regarding esb and flex.I do know that I need to work with web service proxy clients to be able to integrate with flex because I’m not using the HttpService or Webservice-approach from within Flex because this takes up to much bandwith. When working with the Assembler-classes, available in Data Management Services of Flex, your able to work with the AMF-protocol which is far more faster and less thick to put on the wire.Kind regards,Nathalie

  4. Hi Kristjan,Thanks a lot for you comments on this, but what we’re running into is a csv-file that uses ‘.’ and a database that needs ‘,’-notation.That’s why we need to use the proper xsl-functionality to transform the data of the csv-file in the needed format for the database.Kind regards,Nathalie

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s