Talend Dot Net Row Error -- Help Needed

One Star

Talend Dot Net Row Error -- Help Needed

Hi.
I have created a data Transformation Job in Talend. The job is successfully able to convert text file to XML in the specified format.
My new requirement involves writing down the component statistics to a file using .Net dll.
I have done this part too and the statistics is successfully being written to a text file when i run the Job through Talend. Yet when i run the Job, i get an error statement in the Job Console stating the following.
Exception in component tDotNETRow_1
java.lang.NullPointerException
at odc_editransformation.edi820devtest_17_0.EDI820DevTest.tStatCatcher_1Process(EDI820DevTest.java:15361)
at odc_editransformation.edi820devtest_17_0.EDI820DevTest.runJobInTOS(EDI820DevTest.java:15888)
at odc_editransformation.edi820devtest_17_0.EDI820DevTest.main(EDI820DevTest.java:15627)
Current policy properties:
mmc.sess_pe_act.block_unsigned: false
window.num_max: 5
jscan.sess_applet_act.sig_trusted: pass
jscan.sess_applet_act.block_all: false
file.destructive.state: disabled
window.num_limited: true
jscan.sess_applet_act.unsigned: instrument
mmc.sess_pe_act.action: validate
jscan.session.daemon_protocol: http
file.read.state: disabled
mmc.sess_pe_act.block_invalid: true
mmc.sess_pe_act.block_blacklisted: false
jscan.session.policyname: TU1DIERlZmF1bHQgUG9saWN5
net.bind_enable: false
mmc.sess_cab_act.block_unsigned: false
file.nondestructive.state: disabled
jscan.session.origin_uri: http://www.talendforge.org/modules/files/janet-java-1.0-SNAPSHOT.jar
mmc.sess_cab_act.action: validate
net.connect_other: false
jscan.session.user_ipaddr: 192.168.0.66
jscan.sess_applet_act.sig_invalid: block
thread.thread_num_max: 8
mmc.sess_cab_act.block_invalid: true
jscan.sess_applet_act.sig_blacklisted: block
net.connect_src: true
thread.thread_num_limited: true
jscan.sess_applet_act.stub_out_blocked_applet: true
mmc.sess_cab_act.block_blacklisted: true
jscan.session.user_name: U0FOREVFUCBQQVJFRUs=
thread.threadgroup_create: false
file.write.state: disabled
-->> returning Frame NULL
BaseDialog: owner frame is a java.awt.Frame
-->> returning Frame NULL
BaseDialog: owner frame is a java.awt.Frame
Success
disconnected
This exception is raised and the component is market as read on compilation itself. But then on it write the statistics to the file.
The problem i face is, when i execute the Job through some external application after building it, the Job fails to return the message or complete the transformation.
Please help... Urgent. Thanks.

One Star

Re:Talend Dot Net Row Error -- Help Needed

Hello,
Without seeing how the component is configured and knowing more, diagnosing your issue may be difficult.
Which version of .NET are you using? What do mean by "when I execute the job through some external application after building it?" Running it on the same host? A different host? Does the JVM generate an hs_err file?

One Star

Re:Talend Dot Net Row Error -- Help Needed

Hi rpbaldwin,
When i run my job, before the rows from the text file is read, The tDotNetRow_1 is highlighted in red when a Java Alert pops up.
Alert 1
The applet is attempting to invoke the java/lang/system.loadLibrary() operation on janet-win32.
Alert 2
The applet is attempting to access the "exists" state attributes of the "dll Path of tDotNetRow_1".
Both the alerts are visible in the screen shot attached.
There is a null pointer exception that gets raised at this point.
Console
connecting to socket on port 3544
connected
Exception in component tDotNETRow_1
java.lang.NullPointerException
at odc_editransformation.edi820devtest_17_0.EDI820DevTest.tStatCatcher_1Process(EDI820DevTest.java:15326)
at odc_editransformation.edi820devtest_17_0.EDI820DevTest.runJobInTOS(EDI820DevTest.java:15750)
at odc_editransformation.edi820devtest_17_0.EDI820DevTest.main(EDI820DevTest.java:15489)
Current policy properties:
mmc.sess_pe_act.block_unsigned: false
window.num_max: 5
jscan.sess_applet_act.sig_trusted: pass
jscan.sess_applet_act.block_all: false
file.destructive.state: disabled
window.num_limited: true
jscan.sess_applet_act.unsigned: instrument
mmc.sess_pe_act.action: validate
jscan.session.daemon_protocol: http
file.read.state: disabled
mmc.sess_pe_act.block_invalid: true
mmc.sess_pe_act.block_blacklisted: false
jscan.session.policyname: TU1DIERlZmF1bHQgUG9saWN5
net.bind_enable: false
mmc.sess_cab_act.block_unsigned: false
file.nondestructive.state: disabled
jscan.session.origin_uri: http://www.talendforge.org/modules/files/janet-java-1.0-SNAPSHOT.jar
mmc.sess_cab_act.action: validate
net.connect_other: false
jscan.session.user_ipaddr: 192.168.0.66
jscan.sess_applet_act.sig_invalid: block
thread.thread_num_max: 8
mmc.sess_cab_act.block_invalid: true
jscan.sess_applet_act.sig_blacklisted: block
net.connect_src: true
thread.thread_num_limited: true
jscan.sess_applet_act.stub_out_blocked_applet: true
mmc.sess_cab_act.block_blacklisted: true
jscan.session.user_name: U0FOREVFUCBQQVJFRUs=
thread.threadgroup_create: false
file.write.state: disabled
-->> returning Frame NULL
BaseDialog: owner frame is a java.awt.Frame
When i click ALLOW on the First Alert, Second Alert Message Pops up
adding this message to console
-->> returning Frame NULL
BaseDialog: owner frame is a java.awt.Frame
When i ALLOW the second alert, the rows are read from the text file and the Output XML is generated and the dll receives the parameters passed from Talend Job and is visible in the output Log file from dll.
The version of dot net is v4.0.
I am running this in the same host. What i meant as an external application is that, There is a windows service that is running actively in background. Whenever the service find a text file in the watch folder, the service executes the batch file which is received on building the Job.
The problem is the null point exception. I don't know how to solve it. And because of this exception i am not able to receive a response from the process that initiates the Job Batch File.
When i run the Job through Talend, In spite of the null pointer exception i get the resultant message as
Success
disconnected
or failure based on the validation. But when i attempt to execute the Job through batch file, i don't get this response.
Please help.

One Star

Re:Talend Dot Net Row Error -- Help Needed

Hello,
The issues that you're running into are likely because of an antivirus proxy, some inject code into any jars you've downloaded through the internet and try to block the code in them from accessing files. Specifically, Trend Micro's InterScan Web Security. Please see http://stackoverflow.com/questions/5862560/java-awt-headlessexception-in-spring-3-0-5/8038090#803809... for more information.

One Star

Re:Talend Dot Net Row Error -- Help Needed

Hi,
I also searched a lot before initiating the discussion on this issue. I find this problem being listed in a number of sites with the cause being explained as a security software manipulation. But a clear cut solution to this problem was not found, in a way i could understand.
Being said, i am actually not a Java Programmer but i do happen to get around with the basics based on my need.
And in the current context, I get that the JAR is being manipulated if retrieved from Internet by Security Softwares available in the local network. Yet i would like to know, how this could be overcome. Does it mean that if i recreate the scenario at a host that is not linked with any network being safe guarded so securely.. We wont be facing this issue?
I also dig into the issue to realize that the JAR file on which these restriction policy being implied happens to be janet-java-1.0-SNAPSHOT.jar which is present in the Jalend Job. When i run this Job from Talend IDE, i see the this JAR being referenced in an external link as appearing the error message from the Screen Shot
jscan.session.origin_uri: http://www.talendforge.org/modules/files/janet-java-1.0-SNAPSHOT.jar
When i build this Talend Job this JAR is being placed locally instead of referring to the Talend Forge external Link.
As said in the link shared by you, these issues arise due to the policies being applied which is present inside the JAR under the folder "com.trend.iwss".
Somewhere it was suggested to delete the folder "trend" from the JAR and this issue will be solved. But it didn't.
My job failed to bring the output, though there wasn't any pop up.
So i request for your assistance to help me understand how i can achieve a way out of it.
1) Is there a way to define policies that will over ride what has been defined in the JAR.
2) If not, then from the link shared can you please explain the process to attain what has been stated and where do i apply this
"so the best bet is that you need to bundle your resources (config files etc) into the applet jar and load them via the ClassLoader (e.g. getClass().getClassLoader().getResource("/path/to/props.properties"))"
And if we achieve what has been stated, do you think this Null Pointer issue will get resolved because of a policy listing being removed.
I apologize for my doubt being very generic. But looking forward to a solution to this issue.
In the mean time, i just downloaded the same JAR from my Home and found that the JAR doesn't contain the folder
"com.trend.iwss". Let me go ahead and try with this at work tomorrow.
And thanks a lot for helping out. Hoping to look forward to your response.
Thanks

One Star

Re:Talend Dot Net Row Error -- Help Needed

Also how do i force Talend to look for the JAR file " janet-java-1.0-SNAPSHOT.jar" locally at some location say "C:\Talend\" instead of getting it from Talend Site When i am running the Job from the Talend IDE.
I can see the path for Janet JAR on the Job build. But how on the IDE?
Thanks.