in reply to SOAP::Serializer::envelope: Client Application failed during request deserialization

I sent an xml that begins with begins with

Sent where from where? I'm afraid you don't provide enough information to help you as the error is akin to 500 server error, it just means the response is not xml (doesn't begin with <)

  • Comment on Re: SOAP::Serializer::envelope: Client Application failed during request deserialization
  • Download Code

Replies are listed 'Best First'.
Re^2: SOAP::Serializer::envelope: Client Application failed during request deserialization
by david2008 (Scribe) on Jun 22, 2010 at 08:02 UTC
    I sent it through post from one web service to the apache server of another instance which executes the script.
    Just to see what happens, i intercepted with CGI->new and then printed the input, and it gets a valid xml.
    I agree that it looks like the xml is broken. But the downgrade of the version of soap::lite from 0.712 to 0.708 solves the problem. If it would be a broken xml, why would the downgrade help?
        I made the tests and the test results were ok
        t/01-core.t .................................. ok t/010-serializer.t ........................... ok t/012-cloneable.t ............................ ok t/013-array-deserialization.t ................ ok t/014_UNIVERSAL_use.t ........................ ok t/015_UNIVERSAL_can.t ........................ ok t/02-payload.t ............................... ok t/03-server.t ................................ ok t/04-attach.t ................................ skipped: Could not find + MIME::Parser - is MIME::Tools installed? Aborting. t/05-customxml.t ............................. ok t/06-modules.t ............................... ok t/07-xmlrpc_payload.t ........................ ok t/08-schema.t ................................ ok t/096_characters.t ........................... skipped: (no reason giv +en) t/097_kwalitee.t ............................. skipped: (no reason giv +en) t/098_pod.t .................................. skipped: (no reason giv +en) t/099_pod_coverage.t ......................... skipped: (no reason giv +en) t/IO/SessionData.t ........................... ok t/IO/SessionSet.t ............................ ok t/SOAP/Data.t ................................ ok t/SOAP/Lite/Deserializer/XMLSchema1999.t ..... ok t/SOAP/Lite/Deserializer/XMLSchema2001.t ..... ok t/SOAP/Lite/Deserializer/XMLSchemaSOAP1_1.t .. ok t/SOAP/Lite/Deserializer/XMLSchemaSOAP1_2.t .. ok t/SOAP/Lite/Packager.t ....................... ok t/SOAP/Schema/WSDL.t ......................... ok t/SOAP/Serializer.t .......................... ok t/SOAP/Transport/HTTP.t ...................... ok t/SOAP/Transport/HTTP/CGI.t .................. ok t/SOAP/Transport/IO.t ........................ ok t/SOAP/Transport/LOCAL.t ..................... ok t/SOAP/Transport/MAILTO.t .................... skipped: Cannot test wi +thout Test::MockObject t/SOAP/Transport/POP3.t ...................... ok t/XML/Parser/Lite.t .......................... ok t/XMLRPC/Lite.t .............................. ok All tests successful. Files=35, Tests=868, 13 wallclock secs ( 0.49 usr 0.23 sys + 7.04 cu +sr 1.44 csys = 9.20 CPU) Result: PASS
Re^2: SOAP::Serializer::envelope: Client Application failed during request deserialization
by david2008 (Scribe) on Jun 24, 2010 at 11:26 UTC
    I know i still don't have a self contained program but i think i solved the problem
    In the function SOAP::Transport::HTTP::CGI::handle when changing
    sysread( STDIN, $buffer, $length )
    to
    read( STDIN, $buffer, $length )
    everything works perfect. I don't know why, but it works now.
      I can confirm I had exactly the same problem and fixed successfully just by editing the file as you suggested:

      sysread( STDIN, $buffer, $length )
      to
      read( STDIN, $buffer, $length )

      Centos 5.5 + DAG repositories

      Before this, I tried reinstalling everything several times from different sources: cpan and rpms using yum+rpmforge.

      I can't believe it! how disappointing from CPAN.