Starting with SOAP

A

Amer Neely

Amer said:
I've re-installed SOAP-Lite from AS using ppm 4.01 GUI (actually
upgraded it to .69).

But I notice that I now have what seems to be 2 versions of it - one
under /usr/lib and one under /usr/site/lib

SOAP-Lite
Interface to the Simple Object Access Protocol (SOAP)
Version: 0.55-r1
Released: 2005-07-19
Author: Paul Kulchenko <[email protected]>
CPAN: http://search.cpan.org/dist/SOAP-Lite-0.55/

Installed files:
C:/usr/bin/SOAPsh.bat
C:/usr/bin/SOAPsh.pl
C:/usr/bin/XMLRPCsh.bat
C:/usr/bin/XMLRPCsh.pl
C:/usr/bin/stubmaker.bat
C:/usr/bin/stubmaker.pl
C:/usr/lib/Apache/SOAP.pm
C:/usr/lib/Apache/XMLRPC/Lite.pm
C:/usr/lib/IO/SessionData.pm
C:/usr/lib/IO/SessionSet.pm
C:/usr/lib/SOAP/Lite.pm
C:/usr/lib/SOAP/Test.pm
C:/usr/lib/SOAP/Transport/FTP.pm
C:/usr/lib/SOAP/Transport/HTTP.pm
C:/usr/lib/SOAP/Transport/IO.pm
C:/usr/lib/SOAP/Transport/JABBER.pm
C:/usr/lib/SOAP/Transport/LOCAL.pm
C:/usr/lib/SOAP/Transport/MAILTO.pm
C:/usr/lib/SOAP/Transport/MQ.pm
C:/usr/lib/SOAP/Transport/POP3.pm
C:/usr/lib/SOAP/Transport/TCP.pm
C:/usr/lib/UDDI/Lite.pm
C:/usr/lib/XML/Parser/Lite.pm
C:/usr/lib/XMLRPC/Lite.pm
C:/usr/lib/XMLRPC/Test.pm
C:/usr/lib/XMLRPC/Transport/HTTP.pm
C:/usr/lib/XMLRPC/Transport/POP3.pm
C:/usr/lib/XMLRPC/Transport/TCP.pm
C:/usr/lib/auto/SOAP/Lite/.packlist


SOAP-Lite
Perl's Web Services Toolkit
Version: 0.69
Author: Byrne Reese <[email protected]>
CPAN: http://search.cpan.org/dist/SOAP-Lite-0.69/

Installed files:
C:/usr/html/bin/SOAPsh.html
C:/usr/html/bin/XMLRPCsh.html
C:/usr/html/bin/stubmaker.html
C:/usr/html/site/lib/Apache/SOAP.html
C:/usr/html/site/lib/Apache/XMLRPC/Lite.html
C:/usr/html/site/lib/OldDocs/SOAP/Lite.html
C:/usr/html/site/lib/OldDocs/SOAP/Transport/FTP.html
C:/usr/html/site/lib/OldDocs/SOAP/Transport/HTTP.html
C:/usr/html/site/lib/OldDocs/SOAP/Transport/IO.html
C:/usr/html/site/lib/OldDocs/SOAP/Transport/JABBER.html
C:/usr/html/site/lib/OldDocs/SOAP/Transport/LOCAL.html
C:/usr/html/site/lib/OldDocs/SOAP/Transport/MAILTO.html
C:/usr/html/site/lib/OldDocs/SOAP/Transport/MQ.html
C:/usr/html/site/lib/OldDocs/SOAP/Transport/POP3.html
C:/usr/html/site/lib/OldDocs/SOAP/Transport/TCP.html
C:/usr/html/site/lib/SOAP/Client.html
C:/usr/html/site/lib/SOAP/Constants.html
C:/usr/html/site/lib/SOAP/Data.html
C:/usr/html/site/lib/SOAP/Deserializer.html
C:/usr/html/site/lib/SOAP/Fault.html
C:/usr/html/site/lib/SOAP/Header.html
C:/usr/html/site/lib/SOAP/Lite.html
C:/usr/html/site/lib/SOAP/Packager.html
C:/usr/html/site/lib/SOAP/SOM.html
C:/usr/html/site/lib/SOAP/Schema.html
C:/usr/html/site/lib/SOAP/Serializer.html
C:/usr/html/site/lib/SOAP/Server.html
C:/usr/html/site/lib/SOAP/Test.html
C:/usr/html/site/lib/SOAP/Trace.html
C:/usr/html/site/lib/SOAP/Transport.html
C:/usr/html/site/lib/SOAP/Transport/POP3.html
C:/usr/html/site/lib/SOAP/Utils.html
C:/usr/html/site/lib/UDDI/Lite.html
C:/usr/html/site/lib/XML/Parser/Lite.html
C:/usr/html/site/lib/XMLRPC/Lite.html
C:/usr/html/site/lib/XMLRPC/Test.html
C:/usr/html/site/lib/XMLRPC/Transport/HTTP.html
C:/usr/html/site/lib/XMLRPC/Transport/POP3.html
C:/usr/html/site/lib/XMLRPC/Transport/TCP.html
C:/usr/site/bin/SOAPsh.bat
C:/usr/site/bin/SOAPsh.pl
C:/usr/site/bin/XMLRPCsh.bat
C:/usr/site/bin/XMLRPCsh.pl
C:/usr/site/bin/stubmaker.bat
C:/usr/site/bin/stubmaker.pl
C:/usr/site/lib/Apache/SOAP.pm
C:/usr/site/lib/Apache/XMLRPC/Lite.pm
C:/usr/site/lib/IO/SessionData.pm
C:/usr/site/lib/IO/SessionSet.pm
C:/usr/site/lib/OldDocs/SOAP/Lite.pm
C:/usr/site/lib/OldDocs/SOAP/Transport/FTP.pm
C:/usr/site/lib/OldDocs/SOAP/Transport/HTTP.pm
C:/usr/site/lib/OldDocs/SOAP/Transport/IO.pm
C:/usr/site/lib/OldDocs/SOAP/Transport/JABBER.pm
C:/usr/site/lib/OldDocs/SOAP/Transport/LOCAL.pm
C:/usr/site/lib/OldDocs/SOAP/Transport/MAILTO.pm
C:/usr/site/lib/OldDocs/SOAP/Transport/MQ.pm
C:/usr/site/lib/OldDocs/SOAP/Transport/POP3.pm
C:/usr/site/lib/OldDocs/SOAP/Transport/TCP.pm
C:/usr/site/lib/SOAP/Client.pm
C:/usr/site/lib/SOAP/Constants.pm
C:/usr/site/lib/SOAP/Data.pm
C:/usr/site/lib/SOAP/Deserializer.pm
C:/usr/site/lib/SOAP/Fault.pm
C:/usr/site/lib/SOAP/Header.pm
C:/usr/site/lib/SOAP/Lite.pm
C:/usr/site/lib/SOAP/Packager.pm
C:/usr/site/lib/SOAP/SOM.pm
C:/usr/site/lib/SOAP/Schema.pm
C:/usr/site/lib/SOAP/Serializer.pm
C:/usr/site/lib/SOAP/Server.pm
C:/usr/site/lib/SOAP/Test.pm
C:/usr/site/lib/SOAP/Trace.pm
C:/usr/site/lib/SOAP/Transport.pm
C:/usr/site/lib/SOAP/Transport/FTP.pm
C:/usr/site/lib/SOAP/Transport/HTTP.pm
C:/usr/site/lib/SOAP/Transport/IO.pm
C:/usr/site/lib/SOAP/Transport/JABBER.pm
C:/usr/site/lib/SOAP/Transport/LOCAL.pm
C:/usr/site/lib/SOAP/Transport/MAILTO.pm
C:/usr/site/lib/SOAP/Transport/MQ.pm
C:/usr/site/lib/SOAP/Transport/POP3.pm
C:/usr/site/lib/SOAP/Transport/TCP.pm
C:/usr/site/lib/SOAP/Utils.pm
C:/usr/site/lib/UDDI/Lite.pm
C:/usr/site/lib/XML/Parser/Lite.pm
C:/usr/site/lib/XMLRPC/Lite.pm
C:/usr/site/lib/XMLRPC/Test.pm
C:/usr/site/lib/XMLRPC/Transport/HTTP.pm
C:/usr/site/lib/XMLRPC/Transport/POP3.pm
C:/usr/site/lib/XMLRPC/Transport/TCP.pm
C:/usr/site/lib/auto/SOAP/Lite/.packlist

However, PPM will not let me delete the older version.

Could this be why I may be having some difficulties?

Finally got something to work.

I removed SOAP::Lite and re-installed it. Did some tweaking with my
local client / server pair of scripts (thanks to the examples provided
by xhoster I believe). I'm not sure the re-install had anything to do
with my success - in fact I doubt it.

The client uses SOAP::Lite, but the server uses SOAP - go figure.

Of course now the trick is to get things to work under a different
environment, and passing an actual variable. Sigh, back to crawling.

Much much thanks to all who responded - it's been another learning
experience.

For those interested here are my 2 working scripts:
(Windows 2K Professional, AS Perl v5.8.8, Apache 2.2, SOAP::Lite 0.69)

#! /usr/bin/perl
## the 'server' half of SOAP
BEGIN
{
open (STDERR,">>$0-err.txt");
print STDERR "\n",scalar localtime,"\n";
}

use strict;
use warnings;
use SOAP::Transport::HTTP;
SOAP::Transport::HTTP::CGI
-> dispatch_to('LarMar')
-> handle;

package LarMar;
sub ShowMe
{
return "Hello from $0";
}
1;

------------------------ 8< cut here ------------------

#! /usr/bin/perl
## the 'client' half of SOAP

BEGIN
{
open (STDERR,">>$0-err.txt");
print STDERR "\n",scalar localtime,"\n";
}

use strict;
use warnings;

use SOAP::Lite qw (debug trace);

my $soap = SOAP::Lite
-> uri('LarMar')
-> proxy('http://localhost/cgi-bin/soap/larmar_server.pl');

print $soap
-> ShowMe()
-> result;
------------------------ 8< cut here ------------------
 
A

Amer Neely

David said:
[...]
You have it pretty much right. I built a form for a client, who now
wants to take that data and pass it to another server so it can be used
to update a page there. I don't own the receiving code (the SOAP
server?) but the owner suggested SOAP as a means to do this. Hence my
immersion into SOAP.

If you have a choice here I would strongly recomend against using
SOAP. Almost every implementation of SOAP uses a mutually
imcompatable subset of the soap standard. Cross platform soap support
is a pain.

You know, I'm sort of finding that out myself. I added a simple twist to
my 'working' code and it didn't work.

I'm going to investigate alternatives (Mechanize ?) for this little project.
 
A

Amer Neely

Ian said:

Woops, yes, I see now that it was yourself :) All these indents ....

Actually, I'm going to investigate an alternative to SOAP (Mechanize ?)
for this little project. From some other posts here, and my own limited
experience, it seems SOAP maybe isn't quite suited for cross-platform work.
 
X

xhoster

Amer Neely said:
David said:
On Thu, 23 Aug 2007 10:45:44 -0400, Amer Neely

[...]
You have it pretty much right. I built a form for a client, who now
wants to take that data and pass it to another server so it can be
used to update a page there. I don't own the receiving code (the SOAP
server?) but the owner suggested SOAP as a means to do this. Hence my
immersion into SOAP.

If you have a choice here I would strongly recomend against using
SOAP. Almost every implementation of SOAP uses a mutually
imcompatable subset of the soap standard. Cross platform soap support
is a pain.

You know, I'm sort of finding that out myself. I added a simple twist to
my 'working' code and it didn't work.

I'm going to investigate alternatives (Mechanize ?) for this little
project.

But if the other end of the project insists on using SOAP, how will
Mechanize get around that insistence? Have you convinced the other person
to give up on SOAP as well?

I think what you have is fundamentally a political problem (or at least,
that is what it is when I've run into it). The guy on the other end says
SOAP will be "easier". This is true in a sense. By drawing a little box
around his program and declaring everything outside that box to be someone
else's problem, he makes it easier *for him*. If he can get away with
that, then Mechanize isn't going to help you as it can't pierce the box.

Xho
 
A

Amer Neely

Amer Neely said:
David said:
On Thu, 23 Aug 2007 10:45:44 -0400, Amer Neely

[...]

You have it pretty much right. I built a form for a client, who now
wants to take that data and pass it to another server so it can be
used to update a page there. I don't own the receiving code (the SOAP
server?) but the owner suggested SOAP as a means to do this. Hence my
immersion into SOAP.
If you have a choice here I would strongly recomend against using
SOAP. Almost every implementation of SOAP uses a mutually
imcompatable subset of the soap standard. Cross platform soap support
is a pain.
You know, I'm sort of finding that out myself. I added a simple twist to
my 'working' code and it didn't work.

I'm going to investigate alternatives (Mechanize ?) for this little
project.

But if the other end of the project insists on using SOAP, how will
Mechanize get around that insistence? Have you convinced the other person
to give up on SOAP as well?

I think what you have is fundamentally a political problem (or at least,
that is what it is when I've run into it). The guy on the other end says
SOAP will be "easier". This is true in a sense. By drawing a little box
around his program and declaring everything outside that box to be someone
else's problem, he makes it easier *for him*. If he can get away with
that, then Mechanize isn't going to help you as it can't pierce the box.

Xho

Yes, I think that is the situation I'm into. I've asked for more
clarification from the other party, I've been operating kind of blind so
far.
 

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

No members online now.

Forum statistics

Threads
473,755
Messages
2,569,536
Members
45,012
Latest member
RoxanneDzm

Latest Threads

Top