SOAP timing out

A

Amer Neely

I have a working script that successfully sends data from my home PC to
a SOAP server in a .NET environment. I run Win2K on this box.

When I upload the script to a Redhat server, it times out, and does not
submit any data.

Anyone have a clue what might be causing this?

-------------------------------8<---------------------------------
#!/usr/bin/perl
use strict;
use warnings;

use lib 'PerlMods/SOAP-Lite-0.69/lib';
use SOAP::Lite ( +trace => 'all', maptype => {} );

my $FirstName='Amer';
my $LastName='Neely';
my $proxy = 'http://xxx.xxx.xxx.xxx:180/somescript.asmx'; # edited
my $soap = SOAP::Lite
-> uri('http://localhost:180/somewhere')
-> on_action( sub { join '/', 'http://localhost:180/somewhere','Insert'} )
-> proxy('http://xxx.xxx.xxx.xxx:180/somescript.asmx');

my $method = SOAP::Data->name('Insert')
->attr({xmlns => 'http://localhost:180/somewhere'});

my @params = (
SOAP::Data-> name(FirstName => $FirstName),
SOAP::Data-> name(LastName => $LastName));
print $soap->call($method => @params)->result;
-------------------------------8<---------------------------------

This prints 'OK', which is what is returned by the 'Insert' function
from the server.
 
R

rahed

Amer Neely said:
I have a working script that successfully sends data from my home PC
to a SOAP server in a .NET environment. I run Win2K on this box.

When I upload the script to a Redhat server, it times out, and does
not submit any data.

Anyone have a clue what might be causing this?

Change a SOAPAction header through an on_action method.
 
A

Amer Neely

rahed said:
Change a SOAPAction header through an on_action method.

Ummm. I'm sorry but can you provide a little more detail for that? I'm
new to SOAP and .NET, so I need a little more to work with.
 
R

rahed

Amer Neely said:
Ummm. I'm sorry but can you provide a little more detail for that? I'm
new to SOAP and .NET, so I need a little more to work with.

First try not to use on_action method. Default is set to uri#method and
it works when calling Perl service from Perl client.

Anyway it should return some fault report. If not, it's an http issue.
 
A

Amer Neely

rahed said:
First try not to use on_action method. Default is set to uri#method and
it works when calling Perl service from Perl client.

Anyway it should return some fault report. If not, it's an http issue.

I am trying a modification to my script based on the example at
http://users.skynet.be/pascalbotte/rcx-ws-doc/perldotnet.htm

This return in the error log looks worrisome:
SOAP::Transport::HTTP::Client::send_receive: HTTP::Response=HASH(0x1f8f14c)
^^^^^^^^^^^^^^^

I am getting the fault report:
Server was unable to process request. ---> Object reference not set to
an instance of an object

The script times out with a '500 Internal Server Error'.

Does this help in debugging?
 
A

Amer Neely

rahed said:
First try not to use on_action method. Default is set to uri#method and
it works when calling Perl service from Perl client.

Anyway it should return some fault report. If not, it's an http issue.

I am trying a modification to my script based on the example at
http://users.skynet.be/pascalbotte/rcx-ws-doc/perldotnet.htm

I don't get a fault report, but this entry in the log file worries me:
SOAP::Transport::HTTP::Client::send_receive: HTTP::Response=HASH(0x89533f4)
SOAP::Transport::HTTP::Client::send_receive: 500 (Internal Server Error)
Can't connect to xxx.xxx.xxx.xxx:180 (connect: timeout)

The script still times out with a '500 Internal Server Error'.

Does this help in debugging?
 
R

rahed

Amer Neely said:
I don't get a fault report, but this entry in the log file worries me:
SOAP::Transport::HTTP::Client::send_receive: HTTP::Response=HASH(0x89533f4)
SOAP::Transport::HTTP::Client::send_receive: 500 (Internal Server
Error) Can't connect to xxx.xxx.xxx.xxx:180 (connect: timeout)

Application doesn't respond, you want to look at server faultstring
what's wrong.
 
A

Amer Neely

rahed said:
Application doesn't respond, you want to look at server faultstring
what's wrong.

<?xml version="1.0" encoding="utf-8"?><soap:Envelope
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"><soap:Body><soap:Fault><faultcode>soap:Server</faultcode><faultstring>Server
was unable to process request. ---&gt; Object reference not set to an
instance of an object.</faultstring><detail
/></soap:Fault></soap:Body></soap:Envelope>
 
R

rahed

Amer Neely said:
<?xml version="1.0" encoding="utf-8"?><soap:Envelope
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"><soap:Body><soap:Fault><faultcode>soap:Server</faultcode><faultstring>Server
was unable to process request. ---&gt; Object reference not set to an
instance of an object.</faultstring><detail
/></soap:Fault></soap:Body></soap:Envelope>

You've got to fiddle with SOAPAction and probably other things as
described in "SOAP::Lite client with a .NET server" section of SOAP::Lite
docs.
 
A

Amer Neely

rahed said:
You've got to fiddle with SOAPAction and probably other things as
described in "SOAP::Lite client with a .NET server" section of SOAP::Lite
docs.

It seems fiddling is all I've been doing for the past week or so :) I'll
do some more. For all its hype I'm not impressed with the .NET <-> SOAP
interoperability.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,968
Messages
2,570,149
Members
46,695
Latest member
StanleyDri

Latest Threads

Top