axis-c-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Brice André (JIRA) <>
Subject [jira] Updated: (AXIS2C-1494) Response received from the server is partially erased when non-ascii characters present in xml tags
Date Thu, 14 Oct 2010 15:42:34 GMT


Brice André updated AXIS2C-1494:

      Priority: Minor  (was: Blocker)
    Issue Type: Improvement  (was: Bug)
       Summary: Response received from the server is partially erased when non-ascii characters
present in xml tags  (was: Partial response received from the served)

OK, I investigated furthermore this problem and I found what was causing the trouble.
The mistake was in my code : I was generating string content that contained non-ascii characters.
I suppose I must encode this content before providing it to the data-binding functions.

I changed the description of this bug because it is not an error in the Axis2c engine, but
I did not close it because I am not sure the behaviour of the engine in such a situation is
the proper one.

Maybe would it be more "user-friendly" if the caller was warned that the provided string contains
invalid characters ?

Maybe would it also be safer if the low-level layers of Axis2c did not drop everything located
after an invalid character. Dropping everything or only the invalid character would maybe
be better options ?

> Response received from the server is partially erased when non-ascii characters present
in xml tags
> ---------------------------------------------------------------------------------------------------
>                 Key: AXIS2C-1494
>                 URL:
>             Project: Axis2-C
>          Issue Type: Improvement
>         Environment: Windows 7, pre-built version of Axis2-C for MSVC, client compiled
with Mingw
>            Reporter: Brice André
>            Priority: Minor
>         Attachments: ClientLog.txt, ClientsRequests.wsdl, wireshark_trace.pcap
> I wrote a small web service by implementing the server part in Java by using Axis2, and
by implementing the client in C++ by using Axis2-C.
> The web service is composed of two operations. The operation named 'SynchroniseMessages'
has, as output, the type "SynchroniseMessagesResponse" which is composed of one element of
type "ThreadMessage_t", but with multiplicity 0..*.
> My problem is that my server is sending 6 elements of type "ThreadMessage_t" but, my
client is only receiving the first 4 elements.
> In order to investigate the problem, I checked with Wireshark the content of messages
exchanged between the client and the server. The packet containing the response from the server
contains the six elements. So, I am pretty sure the problem is located in the client.
> I added log in the generated code to check if the data binding was not causing the error.
I printed the result of the function 'axis2_svc_client_send_receive_with_op_qname', located
in the generated 'axis2_stub_op_ClientsRequests_SynchroniseMessages' function (located in
the generated file named 'axis2_stub_ClientsRequests.c'). In order to log the result, I added
the following line of code : 
>  printf("ret_node : %s\n", axiom_node_to_string(ret_node,env));
> I copy-pasted the log just below, but we can see that only the 4 first elements are retrieved.
So, my conclusion would be that the problem is not located in the data-binding part of the
client, but in lower layers of the code.
> I am completely blocked because, as I am not able to recompile the axis2c engine (I am
using Mingw and no makefile exists for this compiler), I am not able to investigate furthermore
this problem.
> Best Regards,
> Brice
> PS : I joined to this bug the WireShark log, the WSDL file describing my web service,
as well as the log incoming from client

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message