on 09-17-2009 9:07 AM
Hello,
We have a problem with Russian characters where these are cut by AS2 adapter.
In order to analyze this,I have changed the configuration to use Classifier instead of giving fixed mapping name.
Now,I can see the log as:
2009-09-17T09:58:27.144+0200 INFO starting conversion Edifact_XXX (id : 7281816071253174307119 ) at Thu Sep 17 09:58:27 CEST 2009
2009-09-17T09:58:27.172+0200 INFO starting conversion See_E2X_ORDERS_UN_D96A (id : 14608852671253174307172 ) at Thu Sep 17 09:58:27 CEST 2009
2009-09-17T09:58:27.664+0200 INFO Child Dest Encoding : UTF-8
2009-09-17T09:58:27.664+0200 INFO Child Source Encoding :
2009-09-17T09:44:56.541+0200 INFO Child XML Encoding :
Problem still persists.
Child Source Encoding and Child XML Encoding are always blank in the log.
I have tried setting source encoding using BIC module ,CharsetConversion module, and setSourceEncodingFromClassifier module.
Still ,I cant see any value in thes fields in the log.
Can anybody please let me know how can I populate these values.
I suspect that the problem with special characters is because of incorrect source encoding.
Thanks.
Regards,
Shweta
From experience, forget the Seeburger classifier
instead please use the srcEncoding parameter for the BIC module, as mentioned by Rajesh. Set it to the needed character set. That should work fine.
CSY
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hello,
Some of my findings:
I compared the binary codes and found that message is having encoding ISO-8859-15
For testing messages sent via AS2,we have created a test scenario which picks this file from our FTP server using a file adapter in our test system and send it via AS2 to our development system using AS2 adapter(in dev system)
If I set the file type as Binary in our File sender (in test system) and send it to AS2 sender(in dev system),it gives an error.
If I set file type as Text in our File sender (in test system) with encoding ISO-8859-15 and send it to AS2 sender(in dev system),it works fine.
So,this scenario works fine when file type is explicitly set to Text using File adapter,no matter then we send it directly or using AS2 adapter.Special characters are received via AS2 adapter also,in our dev system,if we set file type as Text in our test system.
Does this give any idea about this problem?
Please let me know.
Thanks.
Regards,
Shweta
This is some mapping code (as used in the SEEBURGER standard mappings) from the NewMapping program, which passes the encoding input parameters to the child mappings.
// Source Encoding
copy getInputValue("srcEncoding") to srcEncoding$;
setInputValue("getChildSourceEncoding", srcEncoding$);
// Destination Encoding
copy getInputValue("destEncoding") to destEncoding$;
setInputValue("getChildDestEncoding", destEncoding$);
In the child mapping we read the passed parameters and set the values (the if in the beginning results from a different handling for split messages):
copy getInputValue("SplittingMode") to splittingMode$;
copy splittingMode$ to Split%;
if Split% = 1
modifyWarningLevel(2150,4);
stopReadingOnError("off");
copy getInputValue("getChildDestEncoding") to ChildDestEncoding$;
if ChildDestEncoding$ != ""
#javastart
m_stdout.setEncoding(_StrVar_CHILDDESTENCODING.getString());
#javaend
else
ChildDestEncoding$ = "UTF-8";
#javastart
m_stdout.setEncoding("UTF-8");
#javaend
endif
traceln("Child Dest Encoding : " & ChildDestEncoding$);
endif
// Getting Source Encoding Paramteter
copy getInputValue("getChildSourceEncoding") to ChildSrcEncoding$;
if ChildSrcEncoding$ != ""
#javastart
m_stdin.setEncoding(_StrVar_CHILDSRCENCODING.getString());
#javaend
endif
traceln("Child Source Encoding : " & ChildSrcEncoding$);
// Getting XML Encoding Parameter
copy getInputValue("setXMLEncoding") to ChildXMLEncoding$;
if ChildXMLEncoding$ != ""
#javastart
m_stdout.setXMLEncoding(_StrVar_CHILDXMLENCODING.getString());
#javaend
endif
I hope this helps, you may have a look at the standard mappings shipped by SEEBURGER in addition where this functionality is included !
Hello Frederic,
Thanks a lot for providing such detailed information.
In our case,we have deployed Standard as well as custom mapping for ORDERS(with setDestination encoding = "UTF-8")
In splitter,we provide a classifier mapping ID and in the logs I can see that Standard mapping is executed whereas,I believe Custom mapping should be executed.
I would try to find if I can find such code in our custom mapping as well.
Thanks again for your help.
Regards,
Shweta
You can see in the log you provided:
2009-09-17T09:58:27.144+0200 INFO starting conversion Edifact_XXX (id : 7281816071253174307119 ) at Thu Sep 17 09:58:27 CEST 2009
2009-09-17T09:58:27.172+0200 INFO starting conversion See_E2X_ORDERS_UN_D96A (id : 14608852671253174307172 ) at Thu Sep 17 09:58:27 CEST 2009
That means that your custom mapping Edifact_XXX has been started which in turn starts the standard mapping "See_E2X_ORDERS_UN_D96A" - if you want to start another child mapping instead of the See_E2X... mapping, you'll need to alter your custom mapping Edifact_XXX !
Hello Frederic,
Thanks for the information.
What I used to think was,it depends on the mapping name which we configure in Message splitter.
I tried this and it didn't work.
Hence your statement makes sense,that I need to alter my custom mapping.
I need to check the possibility if we can deploy new Edifact_XXX mapping.
Also, setting source encoding never works for us,I could never see this value in converter log,no matter whatever value I set .However,I can see child XML encoding if I use setXMLEncoding in module configuration.
But the problem still persists
Thanks.
Regards,
Shweta
Hello Experts,
Can anybody please help in this?
Thanks in advance.
Regards,
Shweta
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
In order to provide the encoding for source data too you need to provide the following parameter in BIC module configuration
i.e srcEncoding Value "UTF-8" for e.g.
then you can see the below logs
2009-09-24T12:37:15.443-0400 INFO Child Dest Encoding : UTF-8
2009-09-24T12:37:15.448-0400 INFO Child Source Encoding : UTF-8
In your case I feel you need to have XML encoding which can be set with the below parameter
setXMLEncoding : value of encoding will help
HTH
Rajesh
Edited by: Rajesh on Sep 24, 2009 10:12 PM
The problem is that the parameter you specify is passed to the Edifact_XXX mapping which in turn will check which child mapping is to be executed and call the child mapping. You will need to alter the "main mapping" Edifact_XXX to pass the source encoding (you have specified in the module configuration) to the child mapping.
Hi Shewta,
Can you check my blog
in sender communication channel at module tab you need to provide the said parameter for BIC(CallBicXIRaBean) module rather than for splitter
Rajesh
User | Count |
---|---|
86 | |
10 | |
10 | |
9 | |
6 | |
6 | |
6 | |
5 | |
4 | |
3 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.