Now

advertisement
Avoiding the Top DirXML™
Issues
www.novell.com
Sandy Swanson
WSS Engineer
Novell, Inc.
sswanson@novell.com
Vision…one Net
A world where networks of all types—corporate and public,
intranets, extranets, and the Internet—work together as
one Net and securely connect employees, customers,
suppliers, and partners across organizational boundaries
Mission
To solve complex business and technical challenges with Net
business solutions that enable people, processes, and
systems to work together and our customers to profit from
the opportunities of a networked world
Agenda
• Troubleshooting tools
 Trace
Commands and Trace Files
 NXSL Processor
 Troubleshooting methodology
 Troubleshooting sample
 How to read a trace log
Trace Commands and Trace Files
• Trace options

DSTRACE.NLM
• Easy and familiar
• It can slow down DirXML™ if used excessively

iMonitor
• Easy to use and will display real-time activity remotely
• May truncate large XML documents (versions prior to 1.5) so it
may not be suitable for detailed troubleshooting

Javatrace File
•
•
•
•
Won’t show real-time activity
Won’t show details about cache files, driver start and stop
No auto-roll or Max size so it can fill your drive if not monitored
Best option for detailed troubleshooting of driver functionality
Trace Commands and Trace Files
(cont.)
• Trace levels are set on the driver-set (not per driver)


DirXML-DriverTraceLevel is used to troubleshoot driver issues
DirXML-XSLTTraceLevel is used to troubleshoot XSLT issues (don’t use
unless you are developing or troubleshooting stylesheet code)
• How to enable Trace Levels
• DirXML-XSLTTraceLevel can be interchanged with DirXMLDriverTraceLevel in the following instructions
•
•
•
•
In ConsoleOne®, right-click a DirXML-Driver Set object
Click Properties > Other
Double-click DirXML-DriverTraceLevel in the Attributes list
If DirXML DriverTraceLevel doesn’t appear in the Attribute list, click Add
and select the attribute
• Enter 0 to 3 in the text box below DirXML-DriverTraceLevel
XSLT Trace Level Details
Value
Description
0
No trace messages are displayed or logged
1
Trace source node processing, output to
standard error
2
Trace the above plus rule instantiations
3
Trace the above plus template instantiations
4
Trace the above plus rule matching and select
expression details
DVRS Trace Level Details
Value
0
1
Description
No trace messages are displayed or logged
Basic trace messages are displayed and
logged
2
Level 1 messages and the contents of XML
documents used during event
processing are displayed and logged
3
Level 2 messages and extensive rule
processing messages are displayed and
logged
Trace Commands and Trace Files
• DSTrace Commands
 NetWare®
•
•
•
•
•
•
LOAD DSTRACE
DSTRACE –ALL
DSTRACE + DVRS
DSTRACE + DXML
DSTRACE file on
DSTRACE screen on
(to troubleshoot Drivers)
(to troubleshoot XSLT Code)
(to log to sys:system\dstrace.dbg)
(to display live trace on server console)
Trace Commands and Trace Files
(cont.)
• DSTrace Commands
 NetWare
•
•
•
•
•
•
LOAD DSTRACE
DSTRACE –ALL
DSTRACE + DVRS
DSTRACE + DXML
DSTRACE file on
DSTRACE screen on
(to troubleshoot Drivers)
(to troubleshoot XSLT Code)
(to log to sys:system\dstrace.dbg)
(to display live trace on server console)
Trace Commands and Trace Files
(cont.)
• DSTrace Commands
 Windows
NT/2000
• Start DSTRACE.DLM from Novell eDirectory™ Services
(NDSCONS.EXE)
• Edit, Options, Clear All
• Check DirXML Drivers
(to troubleshoot Drivers)
• Check DirXML
(to troubleshoot XSLT Code)
• File, New, enter File Name (to log to file)
Trace Commands and Trace Files
(cont.)
• DSTrace Commands
 UNIX/Linux
•
•
•
•
•
start ndstrace
set dstrace = nodebug (to clear all other trace options)
set dstrace = + dvrs (to troubleshoot Drivers)
set dstrace = + dxml (to troubleshoot XSLT Code)
Dstrace file on
(to log to file /var/nds/DSTRACE.LOG)
Trace Commands and Trace Files
(cont.)
• How to enable Java Trace File
•
•
•
•
In ConsoleOne, right-click a DirXML-Driver Set object
Click Properties > Other
Double-click DirXML-JavaTraceFile in the Attributes list
If DirXML-JavaTraceFile doesn’t appear in the Attribute list,
click
• Add and select the attribute
• Enter the path in the text box below DirXML- JavaTraceFile
– On NetWare use volume:/path/filename (i.e.
SYS:TEMP\JAVATRACE.TXT)
– On Win32 use Drive:\path\filename (i.e. C:\temp\JAVATRACE.TXT)
– On UNIX use /path/path/filename (i.e. /var/nds/JAVATRACE.TXT)
NXSL Processor
• The NXSL Processor provides the ability to use Novell XSL Processor
outside DirXML
• To run the NXSL processor, perform the following steps
1. Install
JRE 1.3.1 from Sun Microsystems
2. Copy RT.JAR, NXSL.JAR, COLLECTIONS.JAR and XP.JAR into a directory
3. Copy the following text into a batch file in your NXSL Directory
•
•
•
•
•
•
•
•
•
•
•
•
@echo off
setlocal
rem set JAVA_HOME to your JRE or JDK directory
SET JAVA_HOME=C:\jdk1.3.1_01\jre
SET NXSL_JARS=C:\novell\xsl
rem set NXSL_JARS to the location containing nxsl.jar, xp.jar, and
collections.jar
set CLASSPATH=%JAVA_HOME%\lib\rt.jar
set
CLASSPATH=%CLASSPATH%;%NXSL_JARS%\nxsl.jar;%NXSL_JARS%\collections.jar
set CLASSPATH=%CLASSPATH%;%NXSL_JARS%\xp.jar
set nxsl=%JAVA_HOME%\bin\java -classpath %CLASSPATH%
com.novell.xsl.nxsl
%nxsl% -e1 %1 %2 %3 %4 %5 %6 %7 %8
endlocal
NXSL Processor
(cont.)
• Use NXSL Processor to troubleshoot the following
 Validate
XSLT Logic
 Check for well formed XML/XSLT documents
 Test stylesheet in different event types and scenarios
to ensure that all events are handled
 Test stylesheets without affecting production/test
tree
NXSL Processor
(cont.)
• Don’t use NXSL Processor to troubleshoot the
following
 Stylesheets
with Queries in them
 Check for well-formed XDS documents
 Test Rules/Stylesheet interaction
 Not valid for end-to-end testing
• Only testing the XSLT logic
• Not testing Application/eDirectory-specific issues
NXSL Processor
(cont.)
• To process a source XML document with a
stylesheet
• nxsl source.xml stylesheet.xsl
•
Will output Result tree to Standard Out
• nxsl –o result.xml source.xml
stylesheet.xsl
•
Will output Result tree to file RESULT.XML
• nxsl –d[1-4] source.xml stylesheet.xsl
•
Will generate detailed trace messages (see XSLTTracelevel
for description)
Troubleshooting Methodology







Identify general issue
Understand DirXML environment
Understand general driver functionality
Generate trace file
Review trace file carefully
Identify error and its cause
Identify possible solutions
• At any point, if you have a strong hunch (based on your experience
or knowledge) spend a few minutes following that hunch but always
return to the method if that hunch does not pan out; don’t get side
tracked by it
• Remember to use the KIS principle “Keep It Simple;” most problems
when broken down are one to many simple problems
Troubleshooting Methodology
 Identify
•
•
•
•
•
•
•
(cont.)
general issue
Driver not starting
Driver stopping unexpectedly
Rules not functioning as expected
Stylesheets not functioning as expected
Unexpected output/results
Unexpected eDirectory Error Codes
Identify/isolate what action causes the issue (important)
–
–
–
–
–
–
Starting driver
Stopping driver
Creating users
Deleting users
Moving users
Running driver for specific amount of time
Troubleshooting Methodology
(cont.)
• Understand DirXML environment
 Identify
platform/product versions in use
 Identify DirXML Drivers in use
 Understand basic data flow
 Identify outstanding eDirectory issues (if applicable)
 Understand Replica Placement
 Obtain Driver Exports and import into Test Tree for
review
Troubleshooting Methodology
(cont.)
• Understand general driver functionality
 Review
driver exports/documentation
• Understand functionality that each stylesheet/rule provides
• Understand filter configuration
 Match
action that caused error with driver that
caused it
• Identify Channel that causes the error
• Identify the stylesheet/rule that is likely causing the error
Troubleshooting Methodology
(cont.)
• Generate trace file






Identify trace method (dstrace, javatrace or iMonitor)
Identify trace flags (DXML or DVRS)
Identify trace level that is needed
If eDirectory to eDirectory, you may need traces from both sides
Don’t assume default configuration is used, always ask
Isolate trace to specific driver
• Turn off any drivers that are not causing the issue
• Try and limit the trace to to specific action that causes the issue
(as identified previously)

Perform action that causes issue and then stop trace
Troubleshooting Methodology
(cont.)
• Review trace file carefully







Find error message in trace and see if you can determine the
cause from that message alone; if not, continue below
Find beginning of action that caused the error
Compare contents with stylesheets/rules as they are
instantiated
Try and understand each segment of the trace before moving
to the next segment
Don’t assume it’s OK just because the error happens later
Don’t assume it’s normal unless you are certain that it is
If you don’t see the error or cause then you may need to review
the steps taken to isolate the trace (may have been too
restrictive)
Troubleshooting Methodology
(cont.)
• After identifying error and its cause
 Identify
•
•
•
•
•
•
 If
if error is caused by
Application
eDirectory
Rules
Driver
Stylesheet
Environment (replica placement, infrastructure, etc.)
possible, review findings with developer of solution
 Identify if the issue is a fundamental flaw in solution
design or is it a simple oversight
Troubleshooting Methodology
(cont.)
• Identify possible solutions






Identify all possible methods of resolving the issue
Identify ramifications of each resolution
If issue is fundamental design flaw be sure that the appropriate
people are notified and involved in the resolution
Make sure you are qualified to determine proper solution
(if not, you must involve appropriate individuals)
Make sure you plug your resolution into the overall picture
Once you’ve chosen a solution TEST, TEST and TEST some more
before making the change in production
Troubleshooting Methodology
Error is
reported
Identify
general
issue
Understand
DirXML
environment
No
Understand
General
Driver
Functionality
No
Any ideas?
Were you
correct? Have
you tested it?
Yes
Yes
No
Follow your
hunch and
verify
Any ideas?
Yes
(cont.)
Generate
isolated
trace log
Review
trace
Isolation—
To narrow?
Carefully
review trace
File with
stylesheets
Glance
at error
message
No
Any ideas?
Yes
DirXML Architecture
Rules and stylesheets
C1.1
M
E
S
I
ANF
formatted
XML
ANF XML
to
NDS XML
Application
Shim
Filter
E
DirXML
eDirectory
formatted
XML
Filter
eDirectory
event
C
Publisher
xxxxx.tao
eDirectory
datastore
eDirectory Interface
Apply
to
eDirectory
P
Join engine
eDirectory
formatted
XML
Subscriber
M
C
P
C1.1
NDS XML
to
ANF XML
ANF
formatted
XML
S
Rules and stylesheets
O
App
event
Application
or
directory
or
database
Apply
to
app
Troubleshooting Sample
•
Customer reports an error
1. Ask customer to describe error (identify general issue)
Customer is sometimes getting -609 error when creating users
2.
Does that mean anything to you?
-609 error means Missing Mandatory Attributes, however, we don’t know what drivers
are in use and we don’t know why it only happens ‘sometimes’
3.
Ask customer to describe environment and driver functionality
Customer is using eDirectory to eDirectory mirror (no custom stylesheets) on NetWare
5/DirXML 1.0
4.
Are you ready to get a trace
No—customer said “sometimes” and you have not determined when
5.
Ask customer to describe when error happens
Customer says users created in Tree-A are not created in Tree-B—users created
in Tree-B are created in Tree-A, however, modifications work both ways
Troubleshooting Sample
6. What
(cont.)
trace do you think you need?
Since it only happens when creating users in Tree-A, let’s start with a trace on Tree-B
side, of a user being created in Tree-A. Only need DVRS flag since there is no XSLT
7. Generate
appropriate Trace
<nds dtdversion="1.1" ndsversion="8.5">
<source>
<product version="1.1">DirXML</product>
<contact>Novell, Inc.</contact>
</source>
<input>
<add class-name="User" src-dn="\TREE-A\novell\Users\JDoe">
<add-attr attr-name="CN">
<value>JDoe</value>
</add-attr>
</add>
</input>
</nds>
Driver = \TRE-B\novell\servers\driver-set\NDSToNDS - Mirror
Channel = publisher
Object = \TREE-A\novell\Users\JDoe (\TREE-B\novell\users\JDoe)
Message = createEntry: -609 ERR_MISSING_MANDATORY
Troubleshooting Sample
7. Glance
(cont.)
at trace—does anything catch your eye?
You notice that the <Add> document that is submitted to the engine is missing the
<Surname> attribute, which is generating the –609
8. Any
clues?
You should have guessed that since it’s eDirectory to eDirectory, both drivers will have the
same required attributes so the <surname> was certainly there when the user was
created in Tree-A—something between the create in Tree-A and Tree-B is removing the
<surname>
9. Next
steps?
Since Filters are generally used to remove specific attributes, your first step would be to
check them—since the error is only when creating users in Tree-A, you should check the
Subscriber Filter in Tree-A and the Publisher Filter in Tree-B
You can also check the same log and see if the initial document had the <surname> which
would indicate that the Tree-B Publisher Filter removed it—if the initial document did
not have the <surname> then the Subscriber Filter in TREE-A removed it
Troubleshooting Sample
10.Review
(cont.)
beginning of trace to confirm which filter
TRACE: NdsToNds Publisher - NDSToNDS - Mirror: Receiving...
TRACE: NdsToNds Publisher - NDSToNDS - Mirror: Received.
TRACE: NdsToNds Publisher - NDSToNDS - Mirror: XML Document:
TRACE:
<nds dtdversion="1.1" ndsversion="8.5">
<source>
<product version="1.1">DirXML</product>
<contact>Novell, Inc.</contact>
</source>
<input>
<add class-name="User" src-dn="\TREE-A\novell\Users\JDoe">
<add-attr attr-name="Surname">
<value>Doe</value>
</add-attr>
<add-attr attr-name="CN">
<value>JDoe</value>
</add-attr>
</add>
</input>
</nds>
TRACE: Receiving DOM document from app
Since the Surname
was present in initial
document, the issue
must be caused by
TREE-B Publisher
Filter
Right?
Troubleshooting Sample
11.Check
(cont.)
Publisher Filter to confirm your hunch
Oops!
Our hunch was wrong;
Surname is present in
the filter—we need to
review trace with
stylesheets
Troubleshooting Sample
12.Carefully
(cont.)
review trace from top
Upon careful review you find the following lines in your trace file
TRACE: Applying input transformations
TRACE: Applying input stylesheet
TRACE: Applying stylesheet based rule
TRACE: Rule stylesheet returned:
The statement was that “they had no custom stylesheets”
Yet we see DirXML applying an Input Transformation stylesheet
Troubleshooting Sample
13.Carefully
(cont.)
review driver export of Tree-B
Upon careful review you find the following Input Transformation Rule
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<xsl:apply-templates select="node()|@*"/>
</xsl:template>
<xsl:template match="node()|@*">
Somebody added an Input
Transformation Rule that
filters out add add-attr
elements for Surname
<xsl:copy>
<xsl:apply-templates select="node()|@*"/>
</xsl:copy>
</xsl:template>
<xsl:template match="add-attr[@attr-name='Surname']"/>
</xsl:stylesheet>
This is causing your -609
Troubleshooting Sample
14.Identify
(cont.)
possible solutions
a) Remove that template from the Input Transformation Rule
Pro: Eliminate the root cause
Con: Do you know why it was placed there to begin with? If not, then you can’t simply remove it
b) Synthesize the Surname from another attribute
Pro: None
Con: Still don’t know the reason it was coded so any work around is suspect—in addition, this
particular solution is a kludge because you added significant code to work around a seemingly
simple issue
15.Are
you qualified implement the solution
Unless you are the developer, you are not qualified to implement the solution above since
you don’t know what the initial intention was
16.Contact
the Developer
Contact developer that was responsible for the initial deployment and engage them in a
discussion
How to Read a Trace Log
• When carefully reviewing a trace, keep these
in mind

Don’t assume anything is OK
• You will learn with experience which errors are normal
• Until then, investigate every error

Understand every line before proceeding to the next
• Again, you will learn with experience what each line means
• The best way to learn how the DirXML engine works is to analyze the
trace logs

Have the driver exports at hand
• Have the driver-exports handy as you review the traces
• Correlate the actions in the trace logs with the rules/stylesheets in
the export
Sample Trace Log
• The next few slides will show a sample tracelog
with no errors and explain the content
Sample Trace Log—Subscriber
• Initial create of the user in the DIB
•
•
•
•
•
•
•
•
•
•
•
[01/07/02 12:13:17.912]: TRACE:
[01/07/02 12:21:36.196]: TRACE:
[01/07/02 12:21:36.196]: TRACE:
[01/07/02 12:21:36.196]: TRACE:
[01/07/02 12:21:36.196]: TRACE:
[01/07/02 12:21:36.196]: TRACE:
[01/07/02 12:21:36.196]: TRACE:
[01/07/02 12:21:36.196]: TRACE:
………
[01/07/02 12:21:36.416]: TRACE:
[01/07/02 12:21:36.416]: TRACE:
to real base class
Commit transaction requested
Start transaction
submitEvent requested
event for attr: null
created a DOM node for event
submitEvent requested
event for attr: ACL
created a DOM node for event
Processing events for transaction
Converting \NW6-TREE\novell\Users\James Dean from Unknown
The above messages represent DirXML detecting changes to the eDirectory
Database for which DirXML events must be generated—Once those changes are
complete, DirXML will trigger it’s event to send down the Subscriber Channel
Sample Trace Log—Subscriber
(cont.)
• Once the user is created in the DIB, DirXML issues an event for that ADD
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
<nds dtdversion="1.1" ndsversion="8.5">
<source>
<product version="1.1">DirXML</product>
<contact>Novell, Inc.</contact>
</source>
<input>
<add class-name="User" src-dn="\NW6-TREE\novell\Users\James Dean" src-entry-id="33151“>
<add-attr attr-name="Surname" timestamp="1010424096#15">
<value timestamp="1010424096#15" type="string">Dean</value>
</add-attr>
<add-attr attr-name="Given Name" timestamp="1010424096#17">
<value timestamp="1010424096#17" type="string">Jimmy</value>
</add-attr>
<add-attr attr-name="CN" timestamp="1010424096#28">
<value timestamp="1010424096#28" type="string">James Dean</value>
</add-attr>
</add>
</input>
</nds>
Sample Trace Log—Subscriber
(cont.)
• DirXML now takes that add Document and sends it down the
Subscriber channel, processing each rule as it hits that rule
• [01/07/02 12:21:36.416]: TRACE: No event transformation rule, skipping
• [01/07/02 12:21:36.416]: TRACE: Subscriber processing add for \NW6TREE\novell\Users\James Dean
• (This is the Association Processor checking to make sure we synthesize
an ADD event if this was a modify on an un-associated object)
• [01/07/02 12:21:36.416]: TRACE: Re-reading associations in case they
changed since this event was queued
• (Double checking to see that the object is not associated)
•
•
•
•
[01/07/02
[01/07/02
[01/07/02
[01/07/02
12:21:36.416]: TRACE:
12:21:36.416]: TRACE:
12:21:36.416]: TRACE:
12:21:36.470]: TRACE:
No matching rule, skipping
No create rule, skipping
No placement rule, skipping
Submitting add to subscriber shim
Sample Trace Log—Subscriber
(cont.)
• (Completed Channel specific transformation—Now DirXML applies
the Schema and Output Transformation rules)
•
•
•
•
•
[01/07/02 12:21:36.470]: TRACE: Applying output transformations
[01/07/02 12:21:36.470]: TRACE:
Fixing up associations references
[01/07/02 12:21:36.470]: TRACE:
No mapping rule, skipping
[01/07/02 12:21:36.470]: TRACE:
No output stylesheet, skipping
[01/07/02 12:21:36.470]: TRACE: Submitting document to subscriber
shim
• (Once all transformations are complete on this channel, DirXML
sends the transformed document to the Driver Shim to send to the
remote database)
Sample Trace Log—Subscriber
(cont.)
• [01/07/02 12:21:36.470]: TRACE: NdsToNds Subscriber - NDSToNDS - Flat: Reusing
•
•
•
connection.
[01/07/02 12:21:36.470]: TRACE: NdsToNds Subscriber - NDSToNDS - Flat: Sending...
[01/07/02 12:21:36.470]: TRACE: NdsToNds Subscriber - NDSToNDS - Flat: XML
Document:
[01/07/02 12:21:36.470]: TRACE:
• Again, just showing what the shim sent to the destination tree
• <nds dtdversion="1.1" ndsversion="8.5">
• <source>
•
<product version="1.1">DirXML</product>
•
<contact>Novell, Inc.</contact>
• </source>
• <input>
•
<add class-name="User" event-id="0" src-dn="\NW6-TREE\novell\Users\James Dean"
src-entry-id="33151">
Sample Trace Log—Subscriber
(cont.)
• <add-attr attr-name="Surname" timestamp="1010424096#15">
•
<value timestamp="1010424096#15" type="string">Dean</value>
•
</add-attr>
•
<add-attr attr-name="Given Name" timestamp="1010424096#17">
•
<value timestamp="1010424096#17" type="string">Jimmy</value>
•
</add-attr>
•
<add-attr attr-name="CN" timestamp="1010424096#28">
•
<value timestamp="1010424096#28" type="string">James Dean</value>
•
</add-attr>
•
</add>
• </input>
• </nds>
• (This is the document after all the transformation completed and as it will appear
to the remote database)
Sample Trace Log—Subscriber
•
•
(cont.)
[01/07/02 12:21:36.470]: TRACE: NdsToNds Subscriber - NDSToNDS - Flat: Document sent.
[01/07/02 12:21:36.470]: TRACE: NdsToNds Subscriber - NDSToNDS - Flat: Waiting for receive...
Now DirXML has send the document and waiting for a
response—At this point, since it’s eDirectory to
eDirectory we could pause here and read the other
trace, since there may be some additional
transformation done on that side
Sample Trace Log—Publisher
•
•
•
•
•
•
•
•
•
•
•
(cont.)
[01/07/02 12:15:11.981]: TRACE: Commit transaction requested
[01/07/02 12:20:37.920]: TRACE: NdsToNds Publisher - NDSToNDS - Flat: Receiving...
[01/07/02 12:20:37.930]: TRACE: NdsToNds Publisher - NDSToNDS - Flat: Received.
[01/07/02 12:20:37.930]: TRACE: NdsToNds Publisher - NDSToNDS - Flat: XML Document:
[01/07/02 12:20:37.950]: TRACE:
<nds dtdversion="1.1" ndsversion="8.5">
<source>
<product version="1.1">DirXML</product>
<contact>Novell, Inc.</contact>
</source>
<input>
Sample Trace Log—Publisher
•
•
•
•
•
•
•
•
•
•
•
•
•
(cont.)
<add class-name="User" event-id="0" src-dn="\NW6-TREE\novell\Users\James Dean" srcentry-id="33151">
<add-attr attr-name="Surname" timestamp="1010424096#15">
<value timestamp="1010424096#15" type="string">Dean</value>
</add-attr>
<add-attr attr-name="Given Name" timestamp="1010424096#17">
<value timestamp="1010424096#17" type="string">Jimmy</value>
</add-attr>
<add-attr attr-name="CN" timestamp="1010424096#28">
<value timestamp="1010424096#28" type="string">James Dean</value>
</add-attr>
</add>
</input>
</nds>
Sample Trace Log—Publisher
(cont.)
• (Here DirXML starts applying the Input Transformation and Schema Mapping Rule,
•
•
•
•
•
•
•
•
•
which are not present)
[01/07/02 12:20:37.960]: TRACE: Applying input transformations
[01/07/02 12:20:37.970]: TRACE: No input stylesheet, skipping
[01/07/02 12:20:37.970]: TRACE: No mapping rule, skipping
[01/07/02 12:20:37.970]: TRACE: Resolving association references
[01/07/02 12:20:37.980]: TRACE: No event transformation rule, skipping
(Here DirXML checks to see if this object is already associated)
[01/07/02 12:20:37.990]: TRACE: No associated objects
[01/07/02 12:20:37.990]: TRACE: Applying publisher filter
[01/07/02 12:20:37.990]: TRACE: Publisher processing add for \NW6TREE\novell\Users\James Dean
Sample Trace Log—Publisher
(cont.)
•
•
•
•
•
(Here DirXML tries the matching rule, and queries NDS based on the matching rule)
[01/07/02 12:20:37.990]: TRACE: Applying matching rule
[01/07/02 12:20:38.00]: TRACE: Pumping XDS to NDS
[01/07/02 12:20:38.10]: TRACE: Performing operation, op: query for: novell\Users
[01/07/02 12:20:38.10]: TRACE:
•
•
(Since no results are returned, DirXML assumes that no match was found proceeds with
the Create Rule)
[01/07/02 12:20:38.10]: TRACE: No match found
•
•
•
•
(The Create rule is checked and the ADD is not vetoed)
[01/07/02 12:20:38.10]: TRACE: Applying create rule
[01/07/02 12:20:38.10]: TRACE: Trying create rule 1
[01/07/02 12:20:38.10]: TRACE:
Rule selected
Sample Trace Log—Publisher
•
(cont.)
•
•
•
•
•
•
•
•
(Next, DirXML applies the Placement Rule and selects the Destination Container the attempts
to create the User)
[01/07/02 12:20:38.10]: TRACE: Applying placement rule
[01/07/02 12:20:38.10]: TRACE: Trying placement rule 1
[01/07/02 12:20:38.10]: TRACE: Rule selected
[01/07/02 12:20:38.10]: TRACE: Placing object at: novell\Users\James Dean
[01/07/02 12:20:38.10]: TRACE: Pumping XDS to NDS
[01/07/02 12:20:38.10]: TRACE: Performing operation, op: add for: novell\Users\James Dean
[01/07/02 12:20:38.20]: TRACE: Adding entry: novell\Users\James Dean
[01/07/02 12:20:38.20]: TRACE: Creating RDN: James Dean in context: novell\Users
•
•
•
•
•
•
(Since the User was created without errors, DirXML Logs a Success message)
DirXML Log Event ------------------Driver = \DXML11-TREE\novell\servers\driver-set\NDSToNDS - Flat
Channel = publisher
Object = \NW6-TREE\novell\Users\James Dean (novell\Users\James Dean)
Status = success
Sample Trace Log—Publisher
(cont.)
• (In addition to Sending a Success document to the Original Tree, DirXML adds the
•
•
<add-association> element so that the Original Tree updates it’s Association
value)
[01/07/02 12:20:38.281]: TRACE: Applying output transformations
[01/07/02 12:20:38.281]: TRACE: Fixing up associations references
• (Since the Success document is being transmitted, it must go through the Output
•
•
•
•
•
•
Transformation and Mapping rule)
[01/07/02 12:20:38.281]: TRACE: No mapping rule, skipping
[01/07/02 12:20:38.281]: TRACE: No output stylesheet, skipping
[01/07/02 12:20:38.281]: TRACE: NdsToNds Publisher - NDSToNDS - Flat: Sending...
[01/07/02 12:20:38.281]: TRACE: NdsToNds Publisher - NDSToNDS - Flat: XML
Document:
<nds dtdversion="1.1" ndsversion="8.5">
<source>
Sample Trace Log—Publisher
•
•
•
•
•
•
•
•
•
•
•
•
•
•
(cont.)
<product version="1.1">DirXML</product>
<contact>Novell, Inc.</contact>
</source>
<output>
<status event-id="0" level="success"></status>
<add-association dest-dn="\NW6-TREE\novell\Users\James Dean" dest-entry-id="33151">
{0090A600-9303-d611-A4CF-00C04F803492}
</add-association>
</output>
</nds>
[01/07/02 12:20:38.321]: TRACE: NdsToNds Publisher - NDSToNDS - Flat: Document sent.
[01/07/02 12:20:38.321]: TRACE: NdsToNds Publisher - NDSToNDS - Flat: Reusing connection
[01/07/02 12:20:38.321]: TRACE: NdsToNds Publisher - NDSToNDS - Flat: Waiting for receive...
(The Add is complete from the Publisher Side)
Sample Trace Log—Subscriber
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
(cont.)
(Here the Subscriber Channel receives the Success and <add-association> document from
the Destination Tree)
[01/07/02 12:21:36.910]: TRACE: NdsToNds Subscriber - NDSToNDS - Flat: Receiving...
[01/07/02 12:21:36.910]: TRACE: NdsToNds Subscriber - NDSToNDS - Flat: Received.
[01/07/02 12:21:36.910]: TRACE: NdsToNds Subscriber - NDSToNDS - Flat: XML Document:
[01/07/02 12:21:36.910]: TRACE: SubscriptionShim.execute() returned:
[01/07/02 12:21:36.910]: TRACE:
<nds dtdversion="1.1" ndsversion="8.5">
<source>
<product version="1.1">DirXML</product>
<contact>Novell, Inc.</contact>
</source>
<output>
<status event-id="0" level="success"/>
<add-association dest-dn="\NW6-TREE\novell\Users\James Dean" dest-entry-id="33151">
{0090A600-9303-d611-A4CF-00C04F803492}
</add-association>
</output>
</nds>
Sample Trace Log—Subscriber
(cont.)
• (Since this is an incoming document it must be processed by the Input
•
•
•
•
Transformation and Schema Mapping rule)
[01/07/02 12:21:36.910]: TRACE: Applying input transformations
[01/07/02 12:21:36.910]: TRACE: No input stylesheet, skipping
[01/07/02 12:21:36.910]: TRACE: No mapping rule, skipping
[01/07/02 12:21:36.910]: TRACE: Resolving association references
Sample Trace Log—Subscriber
•
•
•
•
•
•
•
•
•
•
(cont.)
(DirXML sees the Success document and then processes the <add-association> and updates
the association in the Source tree)
[01/07/02 12:21:36.910]: TRACE: Handling returned document
[01/07/02 12:21:36.910]: TRACE: Handling operation, op: status for:
DirXML Log Event ------------------Driver = \NW6-TREE\novell\servers\driver-set\NDSToNDS - Flat
Channel = subscriber
Object = \NW6-TREE\novell\Users\James Dean
Status = success
[01/07/02 12:21:36.910]: TRACE: Handling operation, op: add-association for: \NW6TREE\novell\Users\James Dean
(From the Subscriber Channel, this event is complete)
Download