While I believe that the current revision of the BaseN doc contains the
right number of faults for these two operations, I wanted to be a bit
more clear about what those faults mean. Leaving aside the exact
spellings, I believe the error conditions are these:
Common:
- The request topic (filter) dialect is not supported.
- The request topic (filter) dialect is supported, but the topic
expression itself is malformed.
- The requested topic (filter) expression is valid, but the NP does
not handle the topic or all of the topics specified.
- The request was entirely valid, but some external event prevented
the operation (e.g., transport failure, resource exhaustion). The
underlying cause should be the wsbf:FaultCause.
Subscribe only (actually, these are not reflected in the document):
- The NP refuses to send to the given endpoint.
- The SubscriptionPolicy is invalid. This should further detail
what parts were invalid and for what reasons, via FaultCause elements.
GetCurrentMessage only:
- The request topic (filter) is valid, but designates more than one
topic.
We should probably document these in a bit more detail, and possibly
review the error code names to see if they can be a bit more consistent
(e.g.maybe UnsupportedTopicDialect, InvalidTopicSyntax,
UnsupportedTopicExpression, etc.)
|