[MOBY-dev] [personal] Re: [moby] Re: Large amounts of requests from always the same IPaddress - 137.82.67.190
Björn Usadel
usadel at mpimp-golm.mpg.de
Wed Jul 5 20:59:24 UTC 2006
>
> My interpretation of the *current* API is that a message with no
> mobyData element is considered an invalid message (or at least, we have
> not yet defined a behaviour for this case) and that a "ping" is when a
> request message has a mobyData element, with no Simple or Collection in
> it.
>
I think I might be missing something about the no simples/collection and
mobyData balancing.
Usually perl example services seem to start like this:
my $inputs= serviceInputParser($incoming_message); #
# or fail properly with an empty response if there is no input
return SOAP::Data->type('base64' => responseHeader("my.authURI.com") .
responseFooter()) unless (keys %$inputs);
Thus replying with a message devoid of any data block, if queried with
an empty mobyData block.
Since CommonSubs:serviceInputParser only seems to initialize
input_parameters if there are any articles within the mobyData blocks.
(Verified with a minimal block w/o Simples inside)
Or is this where I am missing something important?
Also on the input API site it states:
" <!-- articles (Simple/Collection/Secondary Parameter) required for
first service invocation -->"
so not even invoking the service would be an option?
Can someone enlighten me please? Or is this just another consequence of
the current ambiguity?
>Perhaps it would be better to reserve an empty mobyData block for
>intentional service invocations (i.e. no changes to the current API with
> respect to balancing input/output mobyData elements) and define a "ping"
> as a MOBY message that contains no mobyData block at all (i.e. an
> extension to the current API)
Anyhow, even though I consider a ping service as being important, it
should be possible with no code changes at all within the services.
Therefore, I also favor the solution which is devoid of any mobyData block.
Thus, if the API were extended by specifying that a message with no
mobyData element is considered a ping where the reply should be any kind
of moby header + footer. (+- servicenotes and exceptions), I guess most
everyone (using perl at least) should be auto-compliant with this.
(Assuming that most users copied the examples or at least used them as a
template)
Moreover, this should also generate the lowest overhead in the perl
services, since they stop immediately.
Cheers,
Björn
More information about the MOBY-dev
mailing list