[ic] SOAP access to Interchange
Chris Sendall
cjs2 at admin.cam.ac.uk
Mon Apr 18 09:58:10 EDT 2005
interchange-users-bounces at icdevgroup.org wrote:
> Quoting Chris Sendall (cjs2 at admin.cam.ac.uk):
>> Hi
>>
>> my $cat = 'foundcscp';
>> my $Tag = SOAP::Lite
>> ->
>> uri('http://milton.internal.admin.cam.ac.uk/Vend/SOAP')
>> ->
>> proxy("http://milton.internal.admin.cam.ac.uk:7780/$cat")
>>
>> When I have interchange.cfg containing
>>
>> Catalog foundcscp /var/lib/interchange/foundcscp
>> /cgi-bin/foundcscp /foundcscp
>> Catalog tutcscp
>> /var/lib/interchange/tutcscp /cgi-bin/tutcscp
>>
>> My debug line ::logDebug("variable
>> FILE_NAME=$::Variable->{FILE_NAME}"); gives Vend::UserDB:debug:
>> variable FILE_NAME=tutcscp/catalog.cfg
>> which is wrong
>>
>> BUT
>> Catalog foundcscp /var/lib/interchange/foundcscp
>> /cgi-bin/foundcscp /foundcscp
>> #Catalog tutcscp
>> /var/lib/interchange/tutcscp /cgi-bin/tutcscp
>>
>> My debug line ::logDebug("variable
>> FILE_NAME=$::Variable->{FILE_NAME}"); gives Vend::UserDB:debug:
>> variable FILE_NAME=foundcscp/catalog.cfg which is right
>>
>> Any ideas please?
>
> I am afraid I don't understand the proxy call. But what you need to do
> is know what call is coming in to the Vend::Server::http_soap()
> routine.
> Uncomment some of the debug statements in that routine and you should
> be
> able to figure out what is going on.
Mike
I will have a look at Vend::Server.pm
Apologies for sketchy e-mail, perl script is
#!/usr/bin/perl -w
use SOAP::Lite;
my $cat = 'foundcscp';
my $Tag = SOAP::Lite
-> uri('http://milton.internal.admin.cam.ac.uk/Vend/SOAP')
-> proxy("http://milton.internal.admin.cam.ac.uk:7780/$cat")
-> on_debug (sub {print @_});
my $id = $Tag -> session_name ()->result;
my $proxy = "http://milton.internal.admin.cam.ac.uk:7780/$cat/$id";
$Tag->proxy($proxy);
$id = $Tag->session_name()->result();
$id = defined $id ? $id : 'undef';
print "id=$id\n";
my $login_opt = {
username => 'cjs2',
password => 'cjs2',
function => 'login'
};
my $ok = $Tag->userdb( $login_opt )->result;
...
The userdb routine displays the value of $::Variable->{FILE_NAME}
This is defined in the two catalog.cfg files
grep FILE_NAME /var/lib/interchange/*/catalog.cfg
/var/lib/interchange/foundcscp/catalog.cfg:Variable FILE_NAME
foundcscp/catalog.cfg
/var/lib/interchange/tutcscp/catalog.cfg: Variable FILE_NAME
tutcscp/catalog.cfg
Chris Sendall
More information about the interchange-users
mailing list