are your sure this was your problem?
If strok() returns a null terminated string, str[strlen(str) - 1] = '\0' will override the last character in str with the same character (in this case '\0').
I notice that csoap seems to be set up for 'rpc' style
soap is it
envisaged to
add support for 'document' style soap.
http://www-128.ibm.com/developerworks/webservices/library/ws-whichwsdl/.