- From: <paul.downey@bt.com>
- Date: Sun, 5 Mar 2006 15:18:36 -0000
- To: <david.illsley@uk.ibm.com>, <public-ws-addressing-tests@w3.org>
David, you're a star!
I've added that to the pipeline, and regenerated the report
and am checking it in ..
- a problem I noticed before this fix is Sun-Microsoft are now
showing 50% failure..
Paul
-----Original Message-----
From: public-ws-addressing-tests-request@w3.org on behalf of David Illsley
Sent: Sun 3/5/2006 1:55 PM
To: public-ws-addressing-tests@w3.org
Subject: WS-I monitor timing problem - and proposed fix.
Our solution to the async problems we had assumes that the WS-I log file
entries are always in the correct time-based order. This is technically
correct (per the WS-I monitor specification) but doesn't work quite as we
need.
The HTTP request/response connections appear in the log file in time based
order of when the connection was closed.
This works fine for all implementations which for 1150,1250 etc
immediately 202 and return... but a couple of implementations wait until
the non-anonymous response has been delivered and then 200.This means that
the 'request' HTTP connection closes after the 'response' connection and
hence ends up second in the log file. This means that the entries are
incorrectly numbered and the wrong assertions are applied to each entry.
It's not quite as simple as re-sorting the entries on timestamp as that
would give an ordering of request1, request2, response2, response1.
My proposed solution is to sort the request entries by timestamp and
simply slot the associated response entries in after them.
Here is my undoubtedly improvable solution which does appear to fix the
problem (2 red boxes -> green and more accurate failures for a few others)
without introducing new ones:
Add the following XSLT to the ws-i processing path immediately after
ws-i.xsl
<xsl:stylesheet version="1.0"
xmlns:l="http://www.w3.org/2002/ws/addressing/logs/"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" indent="yes"/>
<xsl:template match="l:log">
<l:log
xmlns:l="http://www.w3.org/2002/ws/addressing/logs/">
<xsl:for-each
select="//l:message[@type='request']">
<xsl:sort select="@timestamp"/>
<xsl:copy-of select="current()"/>
<xsl:copy-of
select="following-sibling::l:message[1]"/>
</xsl:for-each>
</l:log>
</xsl:template>
</xsl:stylesheet>
David
David Illsley
Web Services Development
MP127, IBM Hursley Park, SO21 2JN
+44 (0)1962 815049 (Int. 245049)
david.illsley@uk.ibm.com
Received on Sunday, 5 March 2006 15:22:02 UTC