Problem with OTRS 3.0.5 and SOAP::Lite: 500 internal server error

Hi, I have a very annoying problem with OTRS and the SOAP::Lite interface. I have an instance of OTRS running which I used SOAP to connect to, everything works just fine. The base operating system is CentOS 5.5, OTRS version is 3.0.5 and SOAP::Lite is installed in version 0.710.10 (since 7.12 is not supported according tootrs.CheckModules.pl). I use SOAP::Lite (same version) on a monitoring system to create and retrieve tickets from OTRS. As said before, this all runs perfectly well. Now I set up another system from scratch for a demo. Same OS version, latest patches, same SOAP::Lite version, same OTRS version ... all relevant parts seem to be identical. With one exception: Accessing OTRS via SOAP does not work at all. On the client side, I just get a '500 internal server error', on the server side there is exactly nothing in the error_log of httpd, nothing in OTRS's system log, and just the following in the Apache access log: 172.16.40.101 - - [20/Jan/2011:11:44:07 +0100] "POST /otrs/rpc.pl HTTP/1.1" 500 638 "-" "SOAP::Lite/Perl/0.710.10" 172.16.40.101 - - [20/Jan/2011:11:45:30 +0100] "POST /otrs/rpc.pl HTTP/1.1" 500 638 "-" "SOAP::Lite/Perl/0.710.10" 172.16.40.101 - - [20/Jan/2011:11:45:32 +0100] "POST /otrs/rpc.pl HTTP/1.1" 500 638 "-" "SOAP::Lite/Perl/0.710.10" 172.16.40.101 - - [20/Jan/2011:11:47:21 +0100] "POST /otrs/rpc.pl HTTP/1.1" 500 638 "-" "SOAP::Lite/Perl/0.710.10" 172.16.40.101 - - [20/Jan/2011:11:51:13 +0100] "POST /otrs/rpc.pl HTTP/1.1" 500 638 "-" "SOAP::Lite/Perl/0.710.10" 172.16.40.101 - - [20/Jan/2011:11:51:21 +0100] "POST /otrs/rpc.pl HTTP/1.1" 500 638 "-" "SOAP::Lite/Perl/0.710.10" 172.16.40.101 - - [20/Jan/2011:11:51:22 +0100] "POST /otrs/rpc.pl HTTP/1.1" 500 638 "-" "SOAP::Lite/Perl/0.710.10" 172.16.40.101 - - [20/Jan/2011:11:51:22 +0100] "POST /otrs/rpc.pl HTTP/1.1" 500 638 "-" "SOAP::Lite/Perl/0.710.10" 172.16.40.101 - - [20/Jan/2011:12:08:41 +0100] "POST /otrs/rpc.pl HTTP/1.1" 500 638 "-" "SOAP::Lite/Perl/0.710.10" 172.16.40.101 - - [20/Jan/2011:12:08:52 +0100] "POST /otrs/rpc.pl HTTP/1.1" 500 638 "-" "SOAP::Lite/Perl/0.710.10" ... which is not very enlightening. I restarted the httpd, rebooted the server - nothing changes. One difference: OTRS has been set up without mail access on the demo system, since there is no mail server in the demo environment. Tickets are only opened by the monitoring system, never by mail, and there also should be no notifications. Has anyone seen that before? Apart from that, OTRS runs fine. The output of otrs.CheckModules.pl: [root@neos-otrs1 bin]# ./otrs.CheckModules.pl o CGI............................ok (v3.50) o Crypt::PasswdMD5...............ok (v1.3) o CSS::Minifier..................ok (v0.01) o Date::Format...................ok (v2.22) o Date::Pcalc....................ok (v1.2) o DBI............................ok (v1.52) o DBD::mysql.....................ok (v3.0007) o Digest::MD5....................ok (v2.36) o Digest::SHA::PurePerl..........ok (v5.48) o Encode::HanExtra...............Not installed! (Optional - Required to handle mails with several Chinese character sets.) o GD.............................Not installed! (Optional - Required for stats) o GD::Text....................Not installed! (Optional - Required for stats.) o GD::Graph...................Not installed! (Optional - Required for stats.) o GD::Graph::lines............Not installed! (Optional - Required for stats.) o GD::Text::Align.............Not installed! (Optional - Required for stats.) o IO::Scalar.....................ok (v2.110) o IO::Wrap.......................ok (v2.110) o JavaScript::Minifier...........ok (v1.05) o JSON...........................ok (v2.50) o JSON::PP....................ok (v2.27103) o JSON::XS....................Not installed! (Optional - Install it for faster AJAX/JavaScript handling.) o LWP::UserAgent.................ok (v2.033) o Mail::Internet.................ok (v2.07) o Mail::POP3Client...............ok (v2.18 ) o IO::Socket::SSL.............ok (v1.01) o MIME::Base64...................ok (v3.07) o MIME::Tools....................ok (v5.428) o ModPerl::Util..................ok (v2.000004) o Apache::DBI.................Not installed! (Optional - Improves performance on Apache webservers with mod_perl by establishing persistent database connections.) o Apache2::Reload.............ok (v0.11) o Net::DNS.......................ok (v0.59) o Net::POP3......................ok (v2.29) o Net::IMAP::Simple..............ok (v1.2017) o Net::IMAP::Simple::SSL......ok (v1.3) o Net::SMTP......................ok (v2.31) o Authen::SASL................ok (v2.15) o Net::SMTP::SSL..............ok (v1.01) o Net::SMTP::TLS::ButMaintainedok (v0.13_01) o Net::LDAP......................Not installed! (Optional - Required for directory authentication.) o PDF::API2......................Not installed! (Optional - Required for PDF output.) o Compress::Zlib..............ok (v2.033) o SOAP::Lite.....................ok (v0.710.10) o Text::CSV......................ok (v1.21) o Text::CSV_PP................ok (v1.29) o Text::CSV_XS................Not installed! (Optional - Optional, install it for faster CSV handling.) o XML::Parser....................ok (v2.34) What did I miss? Is there any way to increase the verbosity of the system log? Cheers, Peter.

Dear Peter, that is an interesting one! When searching the internet it is mostly redirecting to you email :-) Just a first try, do you use SSL and if so, can you retry without? And can you post your SOAP script? Cheers, Nils — Nils Leideck Senior Consultant http://webint.cryptonode.de / a Fractal project On 20.01.2011, at 12:34, Peter Eckel wrote:
Hi,
I have a very annoying problem with OTRS and the SOAP::Lite interface.
I have an instance of OTRS running which I used SOAP to connect to, everything works just fine. The base operating system is CentOS 5.5, OTRS version is 3.0.5 and SOAP::Lite is installed in version 0.710.10 (since 7.12 is not supported according tootrs.CheckModules.pl).
I use SOAP::Lite (same version) on a monitoring system to create and retrieve tickets from OTRS. As said before, this all runs perfectly well.
Now I set up another system from scratch for a demo. Same OS version, latest patches, same SOAP::Lite version, same OTRS version ... all relevant parts seem to be identical. With one exception: Accessing OTRS via SOAP does not work at all. On the client side, I just get a '500 internal server error', on the server side there is exactly nothing in the error_log of httpd, nothing in OTRS's system log, and just the following in the Apache access log:
172.16.40.101 - - [20/Jan/2011:11:44:07 +0100] "POST /otrs/rpc.pl HTTP/1.1" 500 638 "-" "SOAP::Lite/Perl/0.710.10" 172.16.40.101 - - [20/Jan/2011:11:45:30 +0100] "POST /otrs/rpc.pl HTTP/1.1" 500 638 "-" "SOAP::Lite/Perl/0.710.10" 172.16.40.101 - - [20/Jan/2011:11:45:32 +0100] "POST /otrs/rpc.pl HTTP/1.1" 500 638 "-" "SOAP::Lite/Perl/0.710.10" 172.16.40.101 - - [20/Jan/2011:11:47:21 +0100] "POST /otrs/rpc.pl HTTP/1.1" 500 638 "-" "SOAP::Lite/Perl/0.710.10" 172.16.40.101 - - [20/Jan/2011:11:51:13 +0100] "POST /otrs/rpc.pl HTTP/1.1" 500 638 "-" "SOAP::Lite/Perl/0.710.10" 172.16.40.101 - - [20/Jan/2011:11:51:21 +0100] "POST /otrs/rpc.pl HTTP/1.1" 500 638 "-" "SOAP::Lite/Perl/0.710.10" 172.16.40.101 - - [20/Jan/2011:11:51:22 +0100] "POST /otrs/rpc.pl HTTP/1.1" 500 638 "-" "SOAP::Lite/Perl/0.710.10" 172.16.40.101 - - [20/Jan/2011:11:51:22 +0100] "POST /otrs/rpc.pl HTTP/1.1" 500 638 "-" "SOAP::Lite/Perl/0.710.10" 172.16.40.101 - - [20/Jan/2011:12:08:41 +0100] "POST /otrs/rpc.pl HTTP/1.1" 500 638 "-" "SOAP::Lite/Perl/0.710.10" 172.16.40.101 - - [20/Jan/2011:12:08:52 +0100] "POST /otrs/rpc.pl HTTP/1.1" 500 638 "-" "SOAP::Lite/Perl/0.710.10"
... which is not very enlightening. I restarted the httpd, rebooted the server - nothing changes.
One difference: OTRS has been set up without mail access on the demo system, since there is no mail server in the demo environment. Tickets are only opened by the monitoring system, never by mail, and there also should be no notifications.
Has anyone seen that before? Apart from that, OTRS runs fine.
The output of otrs.CheckModules.pl:
[root@neos-otrs1 bin]# ./otrs.CheckModules.pl o CGI............................ok (v3.50) o Crypt::PasswdMD5...............ok (v1.3) o CSS::Minifier..................ok (v0.01) o Date::Format...................ok (v2.22) o Date::Pcalc....................ok (v1.2) o DBI............................ok (v1.52) o DBD::mysql.....................ok (v3.0007) o Digest::MD5....................ok (v2.36) o Digest::SHA::PurePerl..........ok (v5.48) o Encode::HanExtra...............Not installed! (Optional - Required to handle mails with several Chinese character sets.) o GD.............................Not installed! (Optional - Required for stats) o GD::Text....................Not installed! (Optional - Required for stats.) o GD::Graph...................Not installed! (Optional - Required for stats.) o GD::Graph::lines............Not installed! (Optional - Required for stats.) o GD::Text::Align.............Not installed! (Optional - Required for stats.) o IO::Scalar.....................ok (v2.110) o IO::Wrap.......................ok (v2.110) o JavaScript::Minifier...........ok (v1.05) o JSON...........................ok (v2.50) o JSON::PP....................ok (v2.27103) o JSON::XS....................Not installed! (Optional - Install it for faster AJAX/JavaScript handling.) o LWP::UserAgent.................ok (v2.033) o Mail::Internet.................ok (v2.07) o Mail::POP3Client...............ok (v2.18 ) o IO::Socket::SSL.............ok (v1.01) o MIME::Base64...................ok (v3.07) o MIME::Tools....................ok (v5.428) o ModPerl::Util..................ok (v2.000004) o Apache::DBI.................Not installed! (Optional - Improves performance on Apache webservers with mod_perl by establishing persistent database connections.) o Apache2::Reload.............ok (v0.11) o Net::DNS.......................ok (v0.59) o Net::POP3......................ok (v2.29) o Net::IMAP::Simple..............ok (v1.2017) o Net::IMAP::Simple::SSL......ok (v1.3) o Net::SMTP......................ok (v2.31) o Authen::SASL................ok (v2.15) o Net::SMTP::SSL..............ok (v1.01) o Net::SMTP::TLS::ButMaintainedok (v0.13_01) o Net::LDAP......................Not installed! (Optional - Required for directory authentication.) o PDF::API2......................Not installed! (Optional - Required for PDF output.) o Compress::Zlib..............ok (v2.033) o SOAP::Lite.....................ok (v0.710.10) o Text::CSV......................ok (v1.21) o Text::CSV_PP................ok (v1.29) o Text::CSV_XS................Not installed! (Optional - Optional, install it for faster CSV handling.) o XML::Parser....................ok (v2.34)
What did I miss? Is there any way to increase the verbosity of the system log?
Cheers,
Peter. --------------------------------------------------------------------- OTRS mailing list: otrs - Webpage: http://otrs.org/ Archive: http://lists.otrs.org/pipermail/otrs To unsubscribe: http://lists.otrs.org/cgi-bin/listinfo/otrs

Hi Nils,
that is an interesting one!
I would have preferred it to be a little less interesting :-)
Just a first try, do you use SSL and if so, can you retry without? And can you post your SOAP script?
Nope, SSL is (currently) not part of the picture - I tried to simplify the setup as much as I could. But by some hours of heavy web browsing I actually found out what's wrong ... there is a bug in SOAP::Lite, in SOAP/Transport/HTTP.pm, to be precise: [pete@neos-otrs1 Transport]$ diff HTTP.pm HTTP.pm.buggy 559c559 < while ( read( STDIN, $buffer, $length ) ) { ---
while ( sysread( STDIN, $buffer, $length ) ) {
Just replace 'sysread' by 'read' in line 559, and it works. Cheers, Pete.

Dear Peter, be careful. AFAIK this only works if you do not use mod_perl. Michiel might be able to add some insights here ... ?!?! Cheers, Nils — Nils Leideck Senior Consultant http://webint.cryptonode.de / a Fractal project On 21.01.2011, at 11:46, Peter Eckel wrote:
Hi Nils,
that is an interesting one!
I would have preferred it to be a little less interesting :-)
Just a first try, do you use SSL and if so, can you retry without? And can you post your SOAP script?
Nope, SSL is (currently) not part of the picture - I tried to simplify the setup as much as I could.
But by some hours of heavy web browsing I actually found out what's wrong ... there is a bug in SOAP::Lite, in SOAP/Transport/HTTP.pm, to be precise:
[pete@neos-otrs1 Transport]$ diff HTTP.pm HTTP.pm.buggy 559c559 < while ( read( STDIN, $buffer, $length ) ) { ---
while ( sysread( STDIN, $buffer, $length ) ) {
Just replace 'sysread' by 'read' in line 559, and it works.
Cheers,
Pete. --------------------------------------------------------------------- OTRS mailing list: otrs - Webpage: http://otrs.org/ Archive: http://lists.otrs.org/pipermail/otrs To unsubscribe: http://lists.otrs.org/cgi-bin/listinfo/otrs

On Fri, 21 Jan 2011 12:22:34 +0100, Nils Leideck
Dear Peter,
be careful. AFAIK this only works if you do not use mod_perl. Michiel might be able to add some insights here ... ?!?!
Hi, I have this workaround running with OTRS 2.4.9 and 3.0.5, both running with mod_perl. Regards, Roy

Hi Nils,
be careful. AFAIK this only works if you do not use mod_perl. Michiel might be able to add some insights here ... ?!?!
I'll be interested in any information about the problem - OTOH, in Centos 5.5, mod_perl seems to be installed by default, and it it cenrtainly installed on my machines. So there does not seem to be an issue with mod_perl and the modified HTTP.pm. Cheers, Peter.
participants (3)
-
Nils Leideck
-
Peter Eckel
-
Roy Kaldung