This is weird but I'm sure someone else has solved this.

I have a SOAP driver. It reaches a point (by design) at which it sends
a null document to the shim (because I have vetoed everything), and as a
result, it gets an empty output document out the other side. When that
hits the SOAP ITP stylesheet I get this in the trace:

<xsl:copy>: attribute 'dtdversion' added after children were added

This is in the identity template.

Any help would be appreciated as the flat spot is getting flatter...
-Rob

05/16/11 21:00:43.284]:SPML ST:
arg-string(token-xpath("number($EVENT-ID)+1"))
[05/16/11 21:00:43.284]:SPML ST:
token-xpath("number($EVENT-ID)+1")
[05/16/11 21:00:43.284]:SPML ST: Token Value: "2".
[05/16/11 21:00:43.284]:SPML ST: Arg Value: "2".
[05/16/11 21:00:43.284]:SPML ST: Action: do-strip-xpath(".").
[05/16/11 21:00:43.284]:SPML ST: Evaluating selection criteria for
rule '[RS] Strip Empty Input Element'.
[05/16/11 21:00:43.284]:SPML ST: (if-xpath true
"count(/nds/input//*)=0") = TRUE.
[05/16/11 21:00:43.285]:SPML ST: Rule selected.
[05/16/11 21:00:43.285]:SPML ST: Applying rule '[RS] Strip Empty
Input Element'.
[05/16/11 21:00:43.285]:SPML ST: Action: do-strip-xpath("/nds").
[05/16/11 21:00:43.285]:SPML ST:Policy returned:
[05/16/11 21:00:43.285]:SPML ST:

[05/16/11 21:00:43.285]:SPML ST:Filtering out notification-only
attributes.
[05/16/11 21:00:43.285]:SPML ST:Fixing up association references.
[05/16/11 21:00:43.285]:SPML ST:Applying schema mapping policies to
output.
[05/16/11 21:00:43.286]:SPML ST:Applying policy: %+C%14C[RS] Special
Class Morphing%-C.
[05/16/11 21:00:43.286]:SPML ST:Policy returned:
[05/16/11 21:00:43.286]:SPML ST:

[05/16/11 21:00:43.286]:SPML ST:Applying policy:
%+C%14C%5BRS%5D+schema-map%-C.
[05/16/11 21:00:43.286]:SPML ST:Applying output transformation
policies.
[05/16/11 21:00:43.286]:SPML ST:Applying policy:
%+C%14Csub-otp-SpecialAttributeHandling%-C.
[05/16/11 21:00:43.286]:SPML ST:Policy returned:
[05/16/11 21:00:43.286]:SPML ST:

[05/16/11 21:00:43.286]:SPML ST:Applying policy: %+C%14C[RS]
otp-XDS-to-SOAP%-C.
[05/16/11 21:00:43.287]:SPML ST:Policy returned:
[05/16/11 21:00:43.287]:SPML ST:

[05/16/11 21:00:43.287]:SPML ST:Applying XSLT policy:
%+C%14Csub-ots-SOAPOutputTransform%-C.
[05/16/11 21:00:43.287]:SPML ST:Policy returned:
[05/16/11 21:00:43.287]:SPML ST:

[05/16/11 21:00:43.287]:SPML ST:Applying policy: %+C%14C[RS] Add
WSS-Type PasswordText%-C.
[05/16/11 21:00:43.287]:SPML ST:Policy returned:
[05/16/11 21:00:43.287]:SPML ST:
05/16/11 21:00:43.287]:SPML ST:Applying policy: %+C%14C[RS] Store event
for validation on other channel%-C.
[05/16/11 21:00:43.288]:SPML ST:Policy returned:
[05/16/11 21:00:43.288]:SPML ST:

[05/16/11 21:00:43.288]:SPML ST:Submitting document to subscriber
shim:
[05/16/11 21:00:43.288]:SPML ST:

[05/16/11 21:00:43.288]:SPML ST:Remote Interface Driver: Sending...
[05/16/11 21:00:43.288]:SPML ST:

[05/16/11 21:00:43.288]:SPML ST:Remote Interface Driver: Document
sent.
[05/16/11 21:00:43.320]:SPML :Remote Interface Driver: Received.
[05/16/11 21:00:43.321]:SPML :
<nds dtdversion="2.0">
<source>
<product build="20090519_235451" instance="SPML"
version="3.5.4">Identity Manager Driver for SOAP</product>
<contact>Novell, Inc.</contact>
</source>
<output/>
</nds>
[05/16/11 21:00:43.321]:SPML :Remote Interface Driver: Received
document for subscriber channel
[05/16/11 21:00:43.321]:SPML :Remote Interface Driver: Waiting for
receive...
[05/16/11 21:00:43.321]:SPML ST:SubscriptionShim.execute() returned:
[05/16/11 21:00:43.321]:SPML ST:
<nds dtdversion="2.0">
<source>
<product build="20090519_235451" instance="SPML"
version="3.5.4">Identity Manager Driver for SOAP</product>
<contact>Novell, Inc.</contact>
</source>
<output/>
</nds>
[05/16/11 21:00:43.322]:SPML ST:Applying input transformation
policies.
[05/16/11 21:00:43.322]:SPML ST:Applying policy: %+C%14C[CIS]
WS-Security Implementation%-C.
[05/16/11 21:00:43.322]:SPML ST:Policy returned:
[05/16/11 21:00:43.322]:SPML ST:
<nds dtdversion="2.0">
<source>
<product build="20090519_235451" instance="SPML"
version="3.5.4">Identity Manager Driver for SOAP</product>
<contact>Novell, Inc.</contact>
</source>
<output/>
</nds>
[05/16/11 21:00:43.323]:SPML ST:Applying policy: %+C%14C[RS] Generate
Success%-C.
[05/16/11 21:00:43.323]:SPML ST:Policy returned:
[05/16/11 21:00:43.323]:SPML ST:
<nds dtdversion="2.0">
<source>
<product build="20090519_235451" instance="SPML"
version="3.5.4">Identity Manager Driver for SOAP</product>
<contact>Novell, Inc.</contact>
</source>
<output/>
</nds>
[05/16/11 21:00:43.323]:SPML ST:Applying XSLT policy:
%+C%14Cpub-its-SOAPInputTransform%-C.
[05/16/11 21:00:43.324]:SPML ST:
DirXML Log Event -------------------
Driver: \STAGING-IDM\services\Staging Driver Set\SPML
Channel: Subscriber
Status: Error
Message: Code(-9061) Error processing XSLT policy:
vnd.nds.stream://STAGING-IDM/services/Staging+Driver+Set/SPML/pub-its-SOAPInputTransform#XmlData
(33): <xsl:copy>: attribute 'dtdversion' added after children were
added
[05/16/11 21:00:43.330]:SPML ST:Processing returned document.
[05/16/11 21:00:43.330]:SPML ST:Processing operation <status> for .
[05/16/11 21:00:43.330]:SPML ST:
DirXML Log Event -------------------
Driver: \STAGING-IDM\services\Staging Driver Set\SPML
Channel: Subscriber
Status: Error
Message: Code(-9037) One or more errors occurred while processing
an XSLT policy.
/tmp/SOAP.log byte 1499777946/1499777946 (END)


<?xml version="1.0" encoding="UTF-8"?><xsl:stylesheet
exclude-result-prefixes="query cmd dncv soap-env"
version="1.0"

xmlns:cmd="http://www.novell.com/nxsl/java/com.novell.nds.dirxml.driver.XdsCommandProcessor"


xmlns:dncv="http://www.novell.com/nxsl/java/com.novell.nds.dirxml.driver.DNConverter"


xmlns:query="http://www.novell.com/nxsl/java/com.novell.nds.dirxml.driver.XdsQueryProcessor"


xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/"

xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<!-- parameters passed in from the Identity Manager engine -->
<xslaram name="srcQueryProcessor"/>
<xslaram name="destQueryProcessor"/>
<xslaram name="srcCommandProcessor"/>
<xslaram name="destCommandProcessor"/>
<xslaram name="dnConverter"/>
<xslaram name="fromNds"/>
<!-- This is for testing the stylesheet outside of Identity Manager so
things are pretty to look at -->
<xsl:strip-space elements="*"/>
<xslreserve-space elements="value,component"/>
<xslutput indent="yes" method="xml"/>
<!-- *********************** -->
<!-- Strip off SOAP header -->
<!-- *********************** -->
<xsl:template match="*[not(node())]"/>
<xsl:template match="soap-env:Envelope">
<xsl:message>Input: Strip SOAP Headers</xsl:message>
<!-- ignore this element but process all children -->
<xsl:apply-templates select="soap-env:Body/*"/>
<xsl:apply-templates select="operation-data"/>
</xsl:template>
<!-- identity transformation template -->
<!-- in the absence of any other templates this will cause -->
<!-- the stylesheet to copy the input through unchanged to the output
-->
<xsl:template match="node()|@*">
<xsl:copy>
<xsl:apply-templates select="node()|@*"/>
</xsl:copy>
</xsl:template>
</xsl:stylesheet>


--
Robert Rawson
Subject Area Master - Identity and Access Management
------------------------------------------------------------------------
rrawson's Profile: http://forums.novell.com/member.php?userid=4898
View this thread: http://forums.novell.com/showthread.php?t=438887