Here's a Perl client of a JWS that expects and returns float values
#!/usr/bin/perl
use SOAP::Lite;
my $soap = SOAP::Lite
-> proxy('http://localhost:8082/axis/DoubleServer.jws')
-> uri('urn:DoubleServer')
-> twiceOf('9')
-> result;
print "$soap\n";
Perl sends an int, Java promotes it to a float and returns a float (which Perl does the right thing with anyway); everyone's happy!
Strings are pretty straight forward. There may be times when the implementing language needs to be coerced into describing the correct types of the data elements. That may require writing your own serializers/deserializers, manipulating how the service is deployed or both. Run slide_38.pl and examine the tcpmon screen.