PHP:SOAP, open source hates working with Microsoft

Here at work, we have a .NET SOAP server. It essentially lets you find out three things: someone's manager, someone's managees, and someone's alternate user ID, given their SSN. It works just fine with .NET clients, and tests just fine accessed through a browser.

The problem is other departments using open source clients. One other department requested we turn off WS-Security, because their client wouldn't work with it. We moved to HTTP Authentication over an SSL connection, which should work just fine. Save one group couldn't make that work in Perl, so I put together the example:

#!/usr/bin/perl -w
use SOAP::Lite;
sub SOAP::Transport::HTTP::Client::get_basic_credentials { return 'bob'=>bobspassword'; }
my $soap = SOAP::Lite
-> uri('http://nowhere.org/ws/supervisors')
-> proxy('https://nowhere.org/ws/supervisors/Service.asmx')
-> on_action(sub{"http://nowhere.org/ws/supervisors/SupervisorTo
Employee"})
-> outputxml(1);
print $soap->SupervisorToEmployee(SOAP::Data->name(supervisorId => 'supervisor_id_here'))
;


Being I don't quite know Perl, at least that was fun. Today's challenge is that another group can't get PHP to play nice with the service, either. I tinkered with it yesterday, and the lack of documentation for PEAR::SOAP, the package they're using, is really sad. Being I don't quite know PHP, this could be interesting, as well.

No comments: