You are viewing a plain text version of this content. The canonical link for it is here.
Posted to c-user@axis.apache.org by "Yateen V. Joshi" <ya...@cisco.com> on 2012/04/20 11:47:08 UTC

Integrating libxml2 parser in axis and making it work

Hi,

With kind help from Graham Holden, I did following to parse multilingual
characters using apache-axis2c-libxml2 parser.

Platform  - Red Hat Linux
- I had an apache that uses axis2c with below 'inclusion'
LoadModule axis2_module modules/mod_axis2.so
Axis2RepoPath ${AXIS2C_HOME}
Axis2LogFile  /localhome/stab4/log/axis.log
Axis2LogLevel trace
<Location /axis2>
SetHandler axis2_module
</Location>

- The axis2c version is 1.6.0
- This was originally compiled using Guththila parser. Some threads indicated
that I need to compile axis2c using libxml2 parser for it to process 
multilingual characters.
- So, I saw that my axis had below files under /axiom/src/parser/libxml2/
libxml2_reader_wrapper.c  Makefile     Makefile.in
libxml2_writer_wrapper.c  Makefile.am  SCCS

- I recompiled axis using libxml2 parser (./configure --enable-libxml2).
- Without doing any changes to apache configuration, I replace my axis libs and
bins.
- I did not change my earlier parser code as it was using axiom APIs.
- I ran my test case where I sent Chinese characters in an XML, however, my
parser could not parse it. I was thinking that it would be possible using 
libxml2.
- The parser is running fine with normal ascii characters.
- The call that is not returning a valid value is - 
param1_text_node = axiom_node_get_first_child(node_it, env);
if (!param1_text_node) <<<<<<<<< this becomes true, that means, 
invalid_xml_format.

Can someone please help me? Do I need to do something differently here?



---------------------------------------------------------------------
To unsubscribe, e-mail: c-user-unsubscribe@axis.apache.org
For additional commands, e-mail: c-user-help@axis.apache.org


AW: Integrating libxml2 parser in axis and making it work

Posted by Stadelmann Josef <jo...@axa-winterthur.ch>.
Hi,

what is your encoding="" set for ??? at the beginning of a xml stream which you intend to parse?

can you try with and play/set other encodings 
to the same content in the xml prior to parsing it?

we had similar problems first.
When a XML like the one shown below,
with German / French characters 
(all only ISO-8859-1) makes it 
then you're on a good way.

Also encoding and display is another issue you have to cared about.
And what we do in our web service. We send a iteratively generated chars
added up in a string over the line and compare it at the receiving
etch, client or server and if something fails, we know where to look at.

We have built in methods just doing loop-backs with data sent at given points in the subsystem.
It helps to isolate such problems.

i.e. our client is windows based. 
at windows the encoding is Western European WINDOWS, 
axis2 ten moves it as UTF-8 between CL and SV, 
but the legacy-server on OpenVMS needs it as ISO-8859-1
into the ORACLE DB

what is your configuration?

Josef


<?xml version="1.0" encoding="UTF-8" ?> 
- <AuthenticateResponse xmlns="http://spezpla.axawl.ch">
- <payout xmlns:b="SPS-Payload" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
  <Name>SPS-Payload</Name> 
- <wscol xmlns:c="COL">
  <c:Name>wscol</c:Name> 
- <c:Item xmlns:d="http://schemas.datacontract.org/2004/07/WCFSpSe" xmlns:e="WS">
- <d:TWS>
  <e:Name>wsout</e:Name> 
- <e:Item xmlns:f="feld">
- <d:TELEM>
  <f:Fldnam>Natürlich</f:Fldnam> 
  <f:Fldval>Üblerichendes Rüebli</f:Fldval> 
  </d:TELEM>
- <d:TELEM>
  <f:Fldnam>Nam é</f:Fldnam> 
  <f:Fldval>Val é</f:Fldval> 
  </d:TELEM>
- <d:TELEM>
  <f:Fldnam>Gängelband</f:Fldnam> 
  <f:Fldval>gemächlich</f:Fldval> 
  </d:TELEM>
- <d:TELEM>
  <f:Fldnam>KEY0001</f:Fldnam> 
  <f:Fldval>VALNEU1</f:Fldval> 
  </d:TELEM>
- <d:TELEM>
  <f:Fldnam>ABCDE ÄËÏÖÜ abcde äëïöü 12345 67890</f:Fldnam> 
  <f:Fldval>ABCDE ÄËÏÖÜ abcde äëïöü 12345 67890</f:Fldval> 
  </d:TELEM>
- <d:TELEM>
  <f:Fldnam>KEY0002</f:Fldnam> 
  <f:Fldval>VAL0002</f:Fldval> 
  </d:TELEM>
  </e:Item>
  </d:TWS>
  </c:Item>
  </wscol>
  </payout>
  </AuthenticateResponse>

-----Ursprüngliche Nachricht-----
Von: Yateen V. Joshi [mailto:yatjoshi@cisco.com] 
Gesendet: Freitag, 20. April 2012 11:47
An: c-user@axis.apache.org
Betreff: Integrating libxml2 parser in axis and making it work

Hi,

With kind help from Graham Holden, I did following to parse multilingual
characters using apache-axis2c-libxml2 parser.

Platform  - Red Hat Linux
- I had an apache that uses axis2c with below 'inclusion'
LoadModule axis2_module modules/mod_axis2.so
Axis2RepoPath ${AXIS2C_HOME}
Axis2LogFile  /localhome/stab4/log/axis.log
Axis2LogLevel trace
<Location /axis2>
SetHandler axis2_module
</Location>

- The axis2c version is 1.6.0
- This was originally compiled using Guththila parser. Some threads indicated
that I need to compile axis2c using libxml2 parser for it to process 
multilingual characters.
- So, I saw that my axis had below files under /axiom/src/parser/libxml2/
libxml2_reader_wrapper.c  Makefile     Makefile.in
libxml2_writer_wrapper.c  Makefile.am  SCCS

- I recompiled axis using libxml2 parser (./configure --enable-libxml2).
- Without doing any changes to apache configuration, I replace my axis libs and
bins.
- I did not change my earlier parser code as it was using axiom APIs.
- I ran my test case where I sent Chinese characters in an XML, however, my
parser could not parse it. I was thinking that it would be possible using 
libxml2.
- The parser is running fine with normal ascii characters.
- The call that is not returning a valid value is - 
param1_text_node = axiom_node_get_first_child(node_it, env);
if (!param1_text_node) <<<<<<<<< this becomes true, that means, 
invalid_xml_format.

Can someone please help me? Do I need to do something differently here?



---------------------------------------------------------------------
To unsubscribe, e-mail: c-user-unsubscribe@axis.apache.org
For additional commands, e-mail: c-user-help@axis.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: c-user-unsubscribe@axis.apache.org
For additional commands, e-mail: c-user-help@axis.apache.org