P
Paul Masquelier
Hello,
I am trying to use the soaplite Http client to make a connection over
the internet.
I first tested it on the intranet company Lan : everything works fine.
Trying it in the big world however fails.
This is what I do :
- the http client code :
use SOAP::Lite;
$soaplite = SOAP::Lite->uri('urn:HelloWorld')->proxy('http://81.82.176.379/Soap_php/HelloWorld/helloserver1.php');
$soaplite->transport->proxy('http://81.82.176.379/Soap_php/HelloWorld/helloserver1.php');
$soaplite->outputxml(1);
$envelope = '<?xml version="1.0" encoding="UTF-8"?><SOAP-ENV:Envelope
xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance"
xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/1999/XMLSchema"
SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><namesp14:message
xmlns:namesp14="urn:HelloWorld"/></SOAP-ENV:Body></SOAP-ENV:Envelope>';
my $response = $soaplite->transport->send_receive(
endpoint => $soaplite->endpoint,
action => '"urn:HelloWorld#Hello"',
envelope => $envelope,
encoding => $soaplite->serializer->encoding,
);
print $response;
1;
The code is nothing special, just the standard calls.
This works perfectly over the intranet lan.
The ip address I use is the temporary IP address the provider gave to
the destination pc. On both sides there is a direct connection with
the cable modem (no routers in between - just for test purposes of
course).
The ip address is obtained by the ipconfig command.
Reachability is tested with ping : works.
We used protocol analysers on both sides to check the tcp/ip traffic :
apparently only the first packet of the handshaking protocol is sent
(SYNC) several times; a reply on the first handshaking message to
establish a connection is never received. The receiver analyser on the
other side also never receives a packet from the sender.
I am completely blocked with this problem : if it works on intranet
why should it not work over the intranet if the destination is
reachable (ping) ??
Can anyone help me out here ?
Thanks for any help,
Paul
I am trying to use the soaplite Http client to make a connection over
the internet.
I first tested it on the intranet company Lan : everything works fine.
Trying it in the big world however fails.
This is what I do :
- the http client code :
use SOAP::Lite;
$soaplite = SOAP::Lite->uri('urn:HelloWorld')->proxy('http://81.82.176.379/Soap_php/HelloWorld/helloserver1.php');
$soaplite->transport->proxy('http://81.82.176.379/Soap_php/HelloWorld/helloserver1.php');
$soaplite->outputxml(1);
$envelope = '<?xml version="1.0" encoding="UTF-8"?><SOAP-ENV:Envelope
xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance"
xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/1999/XMLSchema"
SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><namesp14:message
xmlns:namesp14="urn:HelloWorld"/></SOAP-ENV:Body></SOAP-ENV:Envelope>';
my $response = $soaplite->transport->send_receive(
endpoint => $soaplite->endpoint,
action => '"urn:HelloWorld#Hello"',
envelope => $envelope,
encoding => $soaplite->serializer->encoding,
);
print $response;
1;
The code is nothing special, just the standard calls.
This works perfectly over the intranet lan.
The ip address I use is the temporary IP address the provider gave to
the destination pc. On both sides there is a direct connection with
the cable modem (no routers in between - just for test purposes of
course).
The ip address is obtained by the ipconfig command.
Reachability is tested with ping : works.
We used protocol analysers on both sides to check the tcp/ip traffic :
apparently only the first packet of the handshaking protocol is sent
(SYNC) several times; a reply on the first handshaking message to
establish a connection is never received. The receiver analyser on the
other side also never receives a packet from the sender.
I am completely blocked with this problem : if it works on intranet
why should it not work over the intranet if the destination is
reachable (ping) ??
Can anyone help me out here ?
Thanks for any help,
Paul