Welcome to the Monastery | |
PerlMonks |
Re: SOAP and multiple client platformsby cmilfo (Hermit) |
on Jun 13, 2002 at 21:01 UTC ( [id://174346]=note: print w/replies, xml ) | Need Help?? |
I've only used SOAP::Lite on one project. An instance of the monitoring tool we wrote is installed on each server. The monitoring tool is written in Perl and uses SOAP::Transport::HTTP, acting as the SOAP server. There is one multi-threaded beast written in Java. This Java program requests from each of the monitoring tools statistics, files, etc. All communication is over HTTPS (which is a bear to debug). Might I add that we did initial development over HTTP. A good packet sniffer will help a lot; Ethereal was our *most* valuable development tool! And, I might add that if you plan to send *any* binary data at all, use MIME::Base64 to encode it first (we used Digest::MD5 to checksum to data before encoding it -- the encoding algorithm checks but just in case). The big idea with SOAP is to pass a familiar data structure to the SOAP library, which serializes and sends the data. Now, the other party should receive the data and deserialize it into a data structure the program can understand. We never successfully got the Java program to send its requests as HashTables, but we did get the Java program to receive the data as a HashTable (sent from Perl as a hash, received by Java as a HashTable). That was our experience. Some of what I read on the soaplite news group mentioned above was that certain data structures are still kind of fuzzy. Now, what was meant by that (i.e. Perl's SOAP library is at fault vs. Java's SOAP library is at fault), I don't know. But, if I remember correctly, when Perl deserialized the Java request (sent as a HashTable) it came out as an array. Just some of my experiences. Casey
In Section
Seekers of Perl Wisdom
|
|