tian-zhihui / cordysfilecon

Automatically exported from code.google.com/p/cordysfilecon
Apache License 2.0
0 stars 0 forks source link

FileConnector version 1.2.15 coelib.jar problem with java.nio.charset #2

Closed GoogleCodeExporter closed 8 years ago

GoogleCodeExporter commented 8 years ago
The FileConnector as delivered in version 1.2.15 does have a problem with the 
coelib.jar.
when executing e.g.:
<ReadFileRecords xmlns="http://schemas.cordys.com/1.0/ac/FileConnector">
      <filename>D:\TEMP\eon\new_2.txt</filename>
      <filetype>aw_alif_gk</filetype>
      <numrecords>-1</numrecords>
      <offset>0</offset>
      <validateonly>false</validateonly>
      <usetupleold>false</usetupleold>
    </ReadFileRecords>

An error occurs:
<SOAP:Fault xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/"  >
<faultcode>Server.Exception</faultcode>
<faultstring xml:lang="en-US" >java.nio.charset.IllegalCharsetNameException: 
</faultstring>
<faultactor>http://schemas.cordys.com/1.0/ac/FileConnector</faultactor>

Replacing the coelib.jar with the one from version 1.2.14 does work.

Original issue reported on code.google.com by hboecker...@gmail.com on 29 Nov 2010 at 5:27

GoogleCodeExporter commented 8 years ago
Ananantha, Ravi, can you have look at this issue?

Original comment by marcoatwork@vandeveen.com on 29 Nov 2010 at 5:31

GoogleCodeExporter commented 8 years ago
Note: the CoE lib sources can be found at: 
http://srv-nl-apps7:5001/svn/coe_rep/Cordys/ComponentLibrary/CoELibrary/main/

We might need to open source this library as well...

Original comment by marcoatwork@vandeveen.com on 29 Nov 2010 at 5:51

GoogleCodeExporter commented 8 years ago

Original comment by yravi%co...@gtempaccount.com on 30 Nov 2010 at 5:51

GoogleCodeExporter commented 8 years ago
the coelib in 
http://srv-nl-apps7:5001/svn/coe_rep/Cordys/ComponentLibrary/CoELibrary/main/   
uses a platform version C3_411, where the one from the FileConnector uses 
C3_338.

With the platform version C3_411 the build did not work for the coelib.
Seems that it is required to update the "project.properties" to use:
using.svn=no
instead of
using.svn = yes
so we can run the build without updating svn automatically.

After replacing the platform folder content with the content from the 
fileconnector-platform, the build did work.
However, still the error exists when using this coelib.jar with the 
FileConnector.

Original comment by hboecker...@gmail.com on 30 Nov 2010 at 8:44

GoogleCodeExporter commented 8 years ago
source of the issue:

 <log4j:event logger="com.cordys.coe.ac.fileconnector.FileConnector" timestamp="1291123183889" level="WARN" thread="socket:\\cde1070:64194/Worker-0" > 
<log4j:message>FileConnector transaction failed.</log4j:message> 
<log4j:throwable>java.nio.charset.IllegalCharsetNameException: at 
java.nio.charset.Charset.checkName(Unknown Source) at 
java.nio.charset.Charset.lookup2(Unknown Source) at 
java.nio.charset.Charset.lookup(Unknown Source) at 
java.nio.charset.Charset.forName(Unknown Source) at 
com.cordys.coe.ac.fileconnector.utils.GeneralUtils.findCharacterSet(GeneralUtils
.java:309) at 
com.cordys.coe.ac.fileconnector.methods.ReadFileRecordsMethod.process(ReadFileRe
cordsMethod.java:245) at 
com.cordys.coe.ac.fileconnector.FileTransaction.process(FileTransaction.java:178
) at com.eibus.soap.SOAPTransaction.handleBodyBlock(SOAPTransaction.java:1304) 
at com.eibus.soap.SOAPTransaction.<init>(SOAPTransaction.java:601) at 
com.eibus.soap.SOAPTransaction.<init>(SOAPTransaction.java:175) at 
com.eibus.soap.Processor.onReceive(Processor.java:956) at 
com.eibus.soap.Processor.onReceive(Processor.java:929) at 
com.eibus.connector.nom.Connector.onReceive(Connector.java:417) at 
com.eibus.transport.Middleware$NonTransactionalWorkerThreadBody.run(Middleware.j
ava:1722) at com.eibus.util.threadpool.WorkerThread.run(WorkerThread.java:64) 
</log4j:throwable> 
<log4j:locationInfo class="com.cordys.coe.ac.fileconnector.FileTransaction" 
method="process" file="FileTransaction.java" line="189" /> 
</log4j:event> 
==============================
Also reviewed a couple of sources from the coelib and attached is a DIFF file 
showing what may be of interest for a change.

Original comment by hboecker...@gmail.com on 30 Nov 2010 at 1:31

Attachments:

GoogleCodeExporter commented 8 years ago
The problem 'java.nio.charset' is coming because it is unable to find the 
character set. so when i debugged this , i got to know that it is unable to 
find the "default character set" mentioned in processor properties (i.e 
ISO-8859-1). this is because the method "getStringValue()". The 
"getStringValue()" should get the details specified in the XML properties file 
of file connector based on the "key" (an xml tag) that we pass. The key for the 
"character set" is already defined and that is "readercharset". but the method 
"getStringValue()" unable to get the value.so i thought it may be xpath problem 
and i have modified it to "/configuration/Configuration/readercharset". so then 
the problem solved. so there are other properties also like this. i have 
changed some of them and tested the "ReadFileRecords" method and is working 
fine. please check with the attached fileconnector.jar file. for setting the 
configuration file in the path , please find the attached file connector 
document.

Original comment by yravi%co...@gtempaccount.com on 1 Dec 2010 at 5:27

Attachments:

GoogleCodeExporter commented 8 years ago
Hi Ravi,

you adjustment works fine!
Did the same implementation now also in my source and run some test.

1. the manual tells that we do default to "ISO-8859-1" when no charset is 
defined in the configuration. That is ok with getStandardWriterCharacterSet() 
and getStandardReaderCharacterSet(). But not with getReaderCharacterSet().

2. I figured out where you found  /configuration/Configuration.
  So I checked which constants are affected in the ApplicationConfiguration.java.
  I found that the FileConnector does not store the value for "use-simple-xpath" in CARS.  Can you please fix that too? I will open a new issue for that.

Original comment by hboecker...@gmail.com on 1 Dec 2010 at 7:36

GoogleCodeExporter commented 8 years ago

Original comment by yravi%co...@gtempaccount.com on 2 Dec 2010 at 6:35

GoogleCodeExporter commented 8 years ago
Fixed the issue with a change in source code.I have sent it for review.I have 
branched this working copy at 
http://code.google.com/p/cordysfilecon/source/browse/branches/1.2.16/

if the reviewer is fine with this change , i will merge this change to the 
trunk.so then others can use the latest file connector.

Original comment by yravi%co...@gtempaccount.com on 2 Dec 2010 at 7:58

GoogleCodeExporter commented 8 years ago
Hi,

and what about issue #1 (enhancement)?
Can't we do multiple changes for a new build?

Original comment by hboecker...@gmail.com on 2 Dec 2010 at 8:20

GoogleCodeExporter commented 8 years ago
Hi ,

I forgot to add that patch to the build.now i updated the branch with these 
changes. also updated the changelog.now you can check the changes. thanks for 
your concern.

Original comment by yravi%co...@gtempaccount.com on 2 Dec 2010 at 9:32