[ic] New in SOAP and missing the right context from the doc...

jojospace info at ebusiness-leidinger.de
Sun Dec 14 20:24:17 UTC 2008


Hi @all,

I'm new in the SOAP stuff!

I've in catalog.cfg

SOAP Yes

and in interchange.cfg

SOAP Yes
SOAP_Startservers 2
SOAP_Socket 127.0.0.1:7780 /MyPathToAny/ic.soap
SOAP_Perms 0660
SOAP_MaxRequest 100

and an usertag test_soap.tag as a GlobalUsertag in code/usertag

-------- snipp --------
UserTag test_soap Order     data
UserTag test_soap PosNumber 1
UserTag test_soap Routine   <<EOR

sub {
	my $data = @_;
	return 'OK!';
}
EOR
-------- snipp --------

an a test script

-------- snipp --------
#!/usr/bin/perl
use strict;
#use Data::Dump qw(dump);
use SOAP::Lite trace => 'all';

  my $ic = SOAP::Lite
     -> uri('http://127.0.0.1/Vend/SOAP')
     -> proxy('http://127.0.0.1:7780/mycatname')
     -> test_soap()
     ;

unless ($ic->fault)
  {
    print "OK: $ic\n";
  }
  else
  {
    my $str = join ', ',
    $ic->faultcode,
    $ic->faultstring;
    print "jojo: $str .... \n";
  }

print "icresult= " . $ic;
exit 0;
-------- snipp --------

I'm able to connect IC as a SOAP Server! In debug mode, I can see the
reaction of IC. IC is answering via logDebug into the debug file. My
perl script say to me:

"jojo: soap:Server, Not allowed routine: test_soap at
/.../lib/Vend/SOAP.pm line 392"

and "icresult=" output is a "1".

Adding "SOAP_Control Tag always" in catalog.cfg, I get no fault result
by the SOAP::Lite Module. But from the trace of the SOAP::Lite, I get

SOAP::Transport::HTTP::Client::send_receive: HTTP::Response=HASH(...)
SOAP::Transport::HTTP::Client::send_receive: 500 EOF

Any usefull simple example, to feed back the client with any right SOAP
datas provided by IC as an usertag?

By the way, reading in

http://www.icdevgroup.org/docs/confs/SOAP_Control.html

is the "Global directive" meaning the interchange.cfg file itself? If
yes, this is not working. If I add

SOAP_Control Action always

in interchange.cfg and after restarting IC, I get a failure message from
the perl with

"Action 'Action' did not compile correctly....."

Have anyone a simple collected example,

- How to use IC as a SOAP-Server
- How to use IC as a SOAP-Client
- How to to use a global usertag "xyz" for a SOAP request
  to give the calling SOAP-Client any right Feedback

and and and...

I'm missing the right context about the SOAP feature of IC. Reading the
IC documentation. What is it telling about the client and the server
side? Did you gotten the right context of all possible directive for
catalog.cfg and interchange.cfg?

I use
- IC Version 5.6.0!
- perl Version 5.8.8

Any tips and helps are very wellcome!

Thank you!

Joachim







More information about the interchange-users mailing list