2 Jun 2003 22:45
SOAP Channel Initialization...
Paul Andrews <paandrew <at> cisco.com>
2003-06-02 20:45:36 GMT
2003-06-02 20:45:36 GMT
I've got a question about RFC 3288. In section 2.1 - Profile
Initialization - it states:
Alternatively, here is an example in which the boot exchange is
unsuccessful:
C: <start number='1' serverName='stockquoteserver.example.com'>
C: <profile uri='http://iana.org/beep/soap'>
C: <![CDATA[<bootmsg resource='/StockPick' />]]>
C: </profile>
C: </start>
S: <profile uri='http://iana.org/beep/soap'>
S: <![CDATA[<error code='550'>resource not
S: supported</error>]]>
S: </profile>
Although the channel was created successfully, it remains in the
"boot" state.
Does this imply that a subsequent message on the channel of type
<bootmsg> could cause the channel to leave the boot state? If not, what
can actually be done with the channel?
This is similar to a complaint I had last year regarding
synchronization for TLS negotation, where I was shouted down for
constructing overly obscure scenarios. This is less obscure, and
actually a problem I'm running into, but I'm not sure how to best fix.
While adding some functionality to PermaBEEP, we encountered a bug we
hadn't noticed before. PermaBEEP will not send SEQ frames for a
channel once it has processed a locally-initiated request to close for
that channel.
It doesn't want to generate any further outbound traffic on the
channel after the close request, because as soon as the remote side
accepts, the remote side considers the channel to be closed. Once
the remote peer has processed the close, if it saw a SEQ for the
channel in response to it's 'ok' response, it would terminate the
connection as per RFC 3081, 3.1.3:
When a SEQ frame is received, if any of the channel number,
acknowledgement number, or window size cannot be determined or is
invalid, then the BEEP session is terminated without generating a
response, and it is recommended that a diagnostic entry be logged.
(The channel would be closed and thus invalid.)
So, the local peer isn't going to be sending any new MSGs after it's
made a close request, however RFC 3080, 2.3.1.3:
RSS Feed