OK, so according to all the docs and other hype, SOAP is simple and easy to use, right? Yeah, pull the other one, I've got bells on that one.
According to the docs I ought to be able to generate a module with simple
and then call the methods with something likeD:\Perl\bin\stubmaker.pl http://webservices.seek.com.au/marketsegment. +asmx?wsdl
Yeah, all those that believe this raise your hands! (Not just your right or left one, both. Yeah, that's more like it.)use MarketSeg; print MarketSeg::GetMarketClassifiers('Main Exec');
I wont talk about all the things I tried (adding use SOAP::Lite +trace => [ all, -transport ]; on top of the test script was one of the first ones), here's the result. In the generated MarketSeg.pm I had to replace
by-> call($method => map {@templates ? shift(@templates)->value($_ +) : $_} @_);
and in the test script instead of the promised-> call( SOAP::Data->name($method)->attr({xmlns => 'http://webse +rvices.seek.com.au'}) => map {@templates ? shift(@templates)->value($ +_) : $_} @_);
byprint MarketSeg::GetMarketClassifiers('Main Exec');
my $params = SOAP::Data->new(name => 'marketSegment', value => 'Main E +xec'); print MarketSeg::GetMarketClassifiers($params);
Yeah, SOAP is cool. SOAP is simple. SOAP is just perfect. Maybe I'll live long enough to see it actually work.
For reference I have SOAP::Lite 0.60, ActivePerl v5.8.0 build 805 under Win2K SP4 Server.
Jenda
P.S.: If all job boards were as eager to adopt great new technologies and "carefully" design their integration specs as SEEK.com.au, we would not be delivering jobs to hundreds of boards, but to tens at most. Yeah, "we are the biggest job board in Australia and New Zealand and noone had any complaints against the integration yet." Sure, they only had to integrate with you.
P.P.S.: If anyone tries to make the stubmaker.pl and SOAP::Lite actually work with .Net SOAP servers either use a different service or make sure the parameter you send this one is "Main Exec" or one of the other defined market segments. The service crashes with an System.NullReferenceException exception if you try something that's not in the list. Go figure.
In reply to Of SOAP and men, aka "It's perfectly simple" they say by Jenda
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |