[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