pdf viewer in asp.net web application : Copy and paste image into pdf application SDK tool html winforms windows online sg24713730-part1198

Chapter 8. Troubleshooting and problem determination 
277
As the message begins to flow back up the message flow towards the input 
node, exceptions are added to the ExceptionList. The message continues to flow 
up the message flow until the message reaches a node with either the Failure 
terminal or the Catch terminal connected. If these are connected then the 
message begins to flow down that part of the message flow unless another error 
occurs. Figure 8-31 shows an example of errors in the ExceptionList, after a 
database action has failed.
Figure 8-31   Errors in the ExceptionList
The Error Handler sample demonstrates how different error handling techniques 
affect an invalid message in the flow, and is an excellent flow to observe under 
the debugger in order to understand the flow of errors in message flows, and how 
to implement error handling techniques for your own flows.
8.2.8  Disconnecting the debugger
It is recommended when using the message Flow Debugger that all messages 
should be passed out of the flow before disconnecting the Flow Debugger. It is 
also not possible to deploy to an execution group when the debugger is 
connected to it.
In the Debug perspective, right-click the execution group connection in the top 
left of the perspective and select Disconnect from the context menu.
Copy and paste image into pdf - copy, paste, cut PDF images in C#.net, ASP.NET, MVC, Ajax, WinForms, WPF
Detailed tutorial for copying, pasting, and cutting image in PDF page using C# class code
copy image from pdf to; how to cut a picture from a pdf document
Copy and paste image into pdf - VB.NET PDF copy, paste image library: copy, paste, cut PDF images in vb.net, ASP.NET, MVC, Ajax, WinForms, WPF
VB.NET Tutorial for How to Cut or Copy an Image from One Page and Paste to Another
copy paste picture pdf; how to copy an image from a pdf to powerpoint
278
WebSphere Message Broker Basics
8.3  Using trace
This section gives an overview of using trace with WebSphere Message Broker. 
Trace is used when a problem occurs that cannot be solved using any of the 
methods that have been described so far in this chapter. Trace is used most 
often on execution groups, where it can be used to work out exactly what is 
happening when a message passes through a message flow. Message flows 
can even be designed to output user-specified trace, such as the content of the 
message tree using a Trace node.
Trace can also be used for helping to debug problems with WebSphere Message 
Broker commands or components, although this is usually only used for the 
purpose of collecting trace for service if a potential product defect is occurring. In 
addition, you also can start and collect trace from components of the Message 
Brokers Toolkit. 
The types of trace that are described here are set up and collected only when 
necessary, as tracing results in a decrease in performance due to the extra 
processing that is required in a system.
For tracing on execution groups, components, and commands, there are 
different types and levels of trace and amounts of detail: User trace, service 
trace, and normal and debug levels of trace. Of these combinations, user trace at 
normal level has the least information, and service trace at debug level has the 
greatest amount of information. However, most of the information that is 
contained in the service trace is not of value to most users.
8.3.1  Tracing execution groups
Tracing of execution groups to obtain detailed information about what happens to 
messages that pass through a flow is straightforward and very useful. The Error 
Handler sample has been used here to demonstrate how to perform trace on an 
execution group, and to show how to read the output from a trace file. These 
same instructions can be used for any deployed message flows.
User trace level normal
This section traces messages through the Error Handler message flow using 
user trace at normal level. This example uses these parameters BROKER1 for 
the broker and ErrorHandler for the execution group with the Error Handler 
sample deployed to it. 
C# PDF Page Extract Library: copy, paste, cut PDF pages in C#.net
Ability to copy selected PDF pages and paste into another PDF file. Copy three pages from test1.pdf and paste into test2.pdf.
how to copy an image from a pdf in; copy images from pdf to word
C# PDF Image Extract Library: Select, copy, paste PDF images in C#
How to C#: Extract Image from PDF Document. List<PDFImage> allImages = PDFImageHandler. ExtractImages(page); C#: Select An Image from PDF Page by Position.
copy and paste images from pdf; how to copy pictures from a pdf document
Chapter 8. Troubleshooting and problem determination 
279
To set user level trace for an execution group enter the following command in the 
Command Console, substituting the broker name and execution group with the 
appropriate names:
mqsichangetrace BROKER1 -u -e ErrorHandler -l normal -r
mqsichangetrace is the command that changes the trace settings on the broker 
name that follows it (in this case BROKER1). The parameter -u indicates that the 
type of trace required is user trace; -e and the name following it are for the 
execution group to trace (in this case the execution group is called ErrorHandler); 
-l is the level of the trace, in this case normal; and -r is to reset the trace log. The 
-r parameter is optional, but it is useful to reset the log (empty it); otherwise, the 
trace file can become very large and difficult to read.
The result of the command that has been run is to change the trace on the broker 
and execution group to which the Error Handler sample is deployed to user trace 
at normal level. This means that trace is now collected for certain actions that 
occur within this execution group, for example, messages moving within a 
message flow. The next step is to put a message through the message flow to 
generate some of these actions that are recorded in the trace.
Type the following command into the Command Console to read the contents of 
the trace log into an XML file, substituting the names of the broker and execution 
group:
mqsireadlog BROKER1 -u -e ErrorHandler -o Trace1.xml
The mqsireadlog command reads the contents of the trace log into an XML file. 
The other parameters that are given with the command determine which trace 
log the information is being read from, as many components, each with its own 
trace log, may be being traced. In this example, the name that follows the 
mqsireadlog command is the broker name, the -u takes the user trace 
information from the trace log, -e and the name following it are the execution 
group being traced, and the -o parameter is the name of the output file to put the 
trace information to. This does not require a file extension, but it is useful to give 
it an xml file extension so that it is recognizable as an XML file rather than a fully 
formatted trace file.
At this stage it is possible to locate and view the trace file, but it is in XML format 
and is difficult to read. Therefore, a further step must be carried out to get the file 
into a formatted state for interpretation. This can be performed using the 
mqsiformatlog command.
Type the following command onto the Command Console:
mqsiformatlog -i Trace1.xml -o Trace1.txt
VB.NET PDF Image Extract Library: Select, copy, paste PDF images
VB.NET PDF - Extract Image from PDF Document in VB.NET. Support PDF VB.NET : Select An Image from PDF Page by Position. Sample for
copy image from pdf reader; how to copy pdf image to jpg
VB.NET PDF Page Extract Library: copy, paste, cut PDF pages in vb.
Dim page As PDFPage = doc.GetPage(3) ' Select image by the point example below will show you how to copy pages from a PDF file and paste into another one.
how to copy image from pdf to word document; how to paste a picture in a pdf
280
WebSphere Message Broker Basics
The mqsiformatlog command converts an XML file that was generated by the 
mqsireadlog command into a formatted file that can be read by a text editor. It 
has two parameters: -i is the name of the XML input file, and -o is the name to 
give to the output file. 
On Windows, it is useful to give the file a txt file extension so that the file can be 
opened from the command line into the Notepad program simply by typing the 
name of the file on the command line. If Notepad is used as the text editor, 
ensure that Word Wrap is 
not
on, as this makes reading the trace easier.
The output in the trace file consists of several lines of user trace, each with a 
timestamp at the beginning, followed by a four-character code, the type of trace 
(in this example all messages are UserTrace), a BIP code, and a description of 
the event with details such as node names, queue names, and parser types. This 
gives details of all events that occur as the message passes through the 
message flow.
Example 8-1 shows an example of the content of a user trace file. The 
timestamps and source information have been removed. 
Example 8-1   Excerpt from a usertrace file
BIP2632I: Message received and propagated to 'out' terminal of MQ input node 
'Main_Flow.STAFF_IN'. 
BIP6060I: Parser type 'Properties' created on behalf of node 
'Main_Flow.STAFF_IN' to handle portion of incoming message of length 0 bytes 
beginning at offset '0'. 
BIP6061I: Parser type 'MQMD' created on behalf of node 'Main_Flow.STAFF_IN' to 
handle portion of incoming message of length '364' bytes beginning at offset 
'0'. Parser type selected based on value 'MQHMD' from previous parser. 
BIP6061I: Parser type 'XML' created on behalf of node 'Main_Flow.STAFF_IN' to 
handle portion of incoming message of length '133' bytes beginning at offset 
'364'. Parser type selected based on value 'XML' from previous parser. 
BIP4004I: Message propagated to 'true' terminal of filter node 'Main_Flow.Check 
Backout Count'. 
BIP4080I: Message propagated to try terminal from try-catch node 
'Main_Flow.Error_Handler.TryCatch'. The try-catch node 
'Main_Flow.Error_Handler.TryCatch' has received a message and is propagating it 
to any nodes connected to its try terminal. No user action required. 
BIP4004I: Message propagated to 'true' terminal of filter node 'Main_Flow.Check 
Valid Staff Number'. 
BIP4184I: Message propagated to 'out' terminal of database node 
'Main_Flow.Update Staff Database'. 
BIP2638I: The MQ output node 'Main_Flow.STAFF_OUT' attempted to write a message 
to queue 'STAFF_OUT' connected to queue manager ''. The MQCC was '0' and the 
MQRC was '0'. 
VB.NET PDF insert image library: insert images into PDF in vb.net
Ability to put image into defined location on PDF page. Provide image attributes adjust functionalities, such as resize image by zooming and cropping.
how to paste picture on pdf; how to copy picture from pdf file
C# PDF insert text Library: insert text into PDF content in C#.net
Parameters: Name, Description, Valid Value. value, The char wil be added into PDF page, 0
copy a picture from pdf; how to copy pdf image to powerpoint
Chapter 8. Troubleshooting and problem determination 
281
BIP2622I: Message successfully output by output node 'Main_Flow.STAFF_OUT' to 
queue 'STAFF_OUT' on queue manager ''.
Example 8-1 on page 280 does not show any errors in the usertrace; the BIP 
messages all end in 
I
, indicating that they are for information only. If an error 
occurs while trace is switched on, error messages are recorded in the trace, 
together with information that can help indicate the cause of the problem. 
Example 8-2 shows an example of user trace generated when an error has 
occurred in a message flow. In this case an invalid message has been put to the 
message flow. A different chain of events is shown here than the previous trace 
file. Instead of UserTrace, the word Error appears in front of the BIP2232 error 
message. This message is in fact displayed in the Application log in the Windows 
Event Viewer, and it is the only BIP message recorded in either of these trace 
files that is displayed in the Event Viewer. The exceptions produced by the 
invalid message are clearly seen. 
There is also an example of a UserException shown by the BIP3002 message 
where a user exception has been generated as part of the error handling in the 
flow itself. 
Example 8-2   Excerpt of user trace showing error conditions
BIP4005I: Message propagated to 'false' terminal of filter node 
'Main_Flow.Check Valid Staff Number'. 
BIP4101I: Exception thrown by throw node 'Main_Flow.Throw'. The throw node 
'Main_Flow.Throw' has received a message and will throw an exception as this is 
its normal behavior. No user action required. 
BIP4081I: Message propagated to catch terminal from try-catch node 
'Main_Flow.Error_Handler.TryCatch'. The try-catch node 
'Main_Flow.Error_Handler.TryCatch' has caught an exception which occurred in a 
node connected to its try terminal. The message has been augmented with an 
exception list and is propagating it to any nodes connected to its catch 
terminal for further processing. See the following messages for details of the 
exception list. No user action required. 
BIP3001I: Exception thrown by throw node 'Main_Flow.Throw'; text is 'Invalid 
staff number'. The throw node 'Main_Flow.Throw' has received a message and thus 
has thrown an exception as this is its normal behavior. The message text 
associated with this exception is 'Invalid staff number'. Since this is 
application generated (by message flow behavior), the user action is determined 
by the message flow and the type of exception generated. 
BIP4184I: Message propagated to 'out' terminal of database node 
'Main_Flow.Update Error Database'. 
BIP4101I: Exception thrown by throw node 'Main_Flow.Error_Handler.Throw To 
Complete Rollback'. The throw node 'Main_Flow.Error_Handler.Throw To Complete 
Rollback' has received a message and will throw an exception as this is its 
normal behavior. No user action required. 
C# PDF insert image Library: insert images into PDF in C#.net, ASP
document. Ability to put image into specified PDF page position and save existing PDF file or output a new PDF file. An independent
how to copy and paste a pdf image; how to copy a picture from a pdf
C# Create PDF from images Library to convert Jpeg, png images to
Component for combining multiple image formats into one or multiple PDF file in C#.NET. Any piece of area is able to be cropped and pasted to PDF page.
paste picture into pdf preview; copy picture from pdf reader
282
WebSphere Message Broker Basics
BIP2232E: Error detected whilst handling a previous error in node 
'Main_Flow.Error_Handler.Throw To Complete Rollback'. The message broker has 
detected an error in node 'Main_Flow.Error_Handler.Throw To Complete Rollback' 
whilst handling a previous error. See the following messages for details of the 
exception list associated with the original error. Thereafter messages will be 
associated with the new error. 
BIP3001I: Exception thrown by throw node 'Main_Flow.Throw'; text is 'Invalid 
staff number'. The throw node 'Main_Flow.Throw' has received a message and thus 
has thrown an exception as this is its normal behavior. The message text 
associated with this exception is 'Invalid staff number'. Since this is 
application generated (by message flow behavior), the user action is determined 
by the message flow and the type of exception generated. 
BIP2231E: Error detected whilst processing a message 'Main_Flow.STAFF_IN'. The 
message broker detected an error whilst processing a message in node 
'Main_Flow.STAFF_IN'. The message has been augmented with an exception list and 
has been propagated to the node's failure terminal for further processing. See 
the following messages for details of the error. 
BIP3002I: Exception thrown by throw node 'Main_Flow.Error_Handler.Throw To 
Complete Rollback'; text is 'From Error_Handler message flow. See ERRORDB for 
details.'. The throw node 'Main_Flow.Error_Handler.Throw To Complete Rollback' 
has received a message and thus has thrown an exception as this is its normal 
behavior. The message text associated with this exception is 'From 
Error_Handler message flow. See ERRORDB for details.'. Since this is 
application generated (by message flow behavior), the user action is determined 
by the message flow and the type of exception generated. 
BIP2638I: The MQ output node 'Main_Flow.STAFF_FAIL' attempted to write a 
message to queue 'STAFF_FAIL' connected to queue manager ''. The MQCC was '0' 
and the MQRC was '0'. 
BIP2622I: Message successfully output by output node 'Main_Flow.STAFF_FAIL' to 
queue 'STAFF_FAIL' on queue manager ''. 
This level of trace is sufficient for the majority of purposes, but in order to get 
even more information, for example, down to the level of actions performed on a 
message by ESQL, then a higher level of trace is required.
User trace level debug
To demonstrate a user trace at debug level, the same message flow and invalid 
message is used as in the section above. 
To set a user trace level of debug, the following command must be entered in the 
Command Console, substituting the broker and execution group name:
mqsichangetrace BROKER1 -u -e ErrorHandler -l debug -r
In this example, BROKER1 is the name of the broker and ErrorHandler is the 
name of the execution group. The following command can be used to read the 
trace log when a message has been put to the message flow.
Chapter 8. Troubleshooting and problem determination 
283
mqsireadlog BROKER1 -u -e ErrorHandler -o Trace2.xml
This command on the Command Console converts the XML file from Trace2.xml 
to a text file called Trace2.txt:
mqsiformatlog -i Trace2.xml -o Trace2.txt
In comparison to a trace file at normal level, it is obvious that a lot more 
information is recorded in the debug trace file, making it harder to read but much 
clearer to work out exactly what is happening to a message in a message flow. A 
line is included for the evaluation of each line of ESQL that is run in the message 
flow. Example 8-3 shows an example of a debug level user trace. This example 
demonstrates how errors that occur in a message flow can be seen in the trace 
file. 
The BIP2539 message indicates that the result of an ESQL evaluation was false. 
This passes the message to the False terminal of the Filter node, which the 
message is being evaluated by. A Throw node is connected to the Filter node in 
this message flow, causing an exception to be thrown, as seen in the following 
BIP messages.
Example 8-3   Excerpt of user trace at debug level
BIP2537I: Node 'Main_Flow.Check Valid Staff Number': Executing statement 'IF 
Body.Staff.StaffNumber <= '10' THEN... ELSE... END IF;' at 
(.Main_Flow_Filter.Main, 3.2). 
BIP2538I: Node 'Main_Flow.Check Valid Staff Number': Evaluating expression 
'Body.Staff.StaffNumber <= '10'' at (.Main_Flow_Filter.Main, 3.27). 
BIP2538I: Node 'Main_Flow.Check Valid Staff Number': Evaluating expression 
'Body.Staff.StaffNumber' at (.Main_Flow_Filter.Main, 3.5). 
BIP2539I: Node 'Main_Flow.Check Valid Staff Number': Finished evaluating 
expression 'Body.Staff.StaffNumber <= '10'' at (.Main_Flow_Filter.Main, 3.27). 
This resolved to ''99' <= '10''. The result was 'FALSE'. 
BIP2537I: Node 'Main_Flow.Check Valid Staff Number': Executing statement 
'RETURN FALSE;' at (.Main_Flow_Filter.Main, 6.3). 
BIP4005I: Message propagated to 'false' terminal of filter node 
'Main_Flow.Check Valid Staff Number'. 
BIP4101I: Exception thrown by throw node 'Main_Flow.Throw'. The throw node 
'Main_Flow.Throw' has received a message and will throw an exception as this is 
its normal behavior. No user action required. 
BIP4081I: Message propagated to catch terminal from try-catch node 
'Main_Flow.Error_Handler.TryCatch'. The try-catch node 
'Main_Flow.Error_Handler.TryCatch' has caught an exception which occurred in a 
node connected to its try terminal. The message has been augmented with an 
exception list and is propagating it to any nodes connected to its catch 
terminal for further processing. See the following messages for details of the 
exception list. No user action required. 
BIP3001I: Exception thrown by throw node 'Main_Flow.Throw'; text is 'Invalid 
staff number'. The throw node 'Main_Flow.Throw' has received a message and thus 
284
WebSphere Message Broker Basics
has thrown an exception as this is its normal behavior. The message text 
associated with this exception is 'Invalid staff number'. Since this is 
application generated (by message flow behavior), the user action is determined 
by the message flow and the type of exception generated. 
Debug level user trace is very useful for tracking exactly what happens to a 
message in a message flow and why. It can be used as an alternative to the Flow 
Debugger for debugging problems, and shows greater detail on the events in a 
message flow. Unlike the Flow Debugger, the values of items in a message or 
variables can not be altered. It is less easy to follow than the visual 
representation of the message travelling through the message flow.
Service trace
Service trace activates more comprehensive tracing than the user trace, and can 
additionally be used to trace the Message Brokers Toolkit, Configuration 
Manager, User Name Server, and any of the WebSphere Message Broker 
commands. Service trace is usually only activated when an error message or an 
IBM Support Center requests that you collect this level of trace. Instructions for 
using service trace for components and commands are given in the following 
sections.
Service trace for message flows can be collected using the same commands as 
user trace. The only difference is that the -u parameter in the mqsichangetrace 
and mqsireadlog commands is replaced by a -t parameter. An example is:
mqsichangetrace BROKER1 -t -e ErrorHandler -l debug -r
In this example BROKER1 is the name of the broker and ErrorHandler is the 
name of the execution group.
Display trace settings
The trace settings on an execution group or other WebSphere Message Broker 
components can be displayed using the mqsireporttrace command. 
To display the service trace settings for an execution group, enter the following 
on the Command Console, substituting the broker name and execution group 
name as necessary:
mqsireporttrace BROKER1 -t -e ErrorHandler
To display the user trace settings for an execution group that was used in the 
previous examples, enter the following on the Command Console, substituting 
the broker name and execution group name as necessary:
mqsireporttrace BROKER1 -u -e ErrorHandler
Chapter 8. Troubleshooting and problem determination 
285
Reset trace settings
When trace is set on an execution group, additional processing is generated in 
order to record each activity in the message flows. There is an impact on 
performance, and therefore tracing should be limited to only those execution 
groups where tracing is required, and tracing should only be performed for a 
limited amount of time.
After trace has been collected, reset the trace settings to 
none
to stop trace from 
being written. For example, enter the following command in the Command 
Console:
mqsichangetrace BROKER1 -t -e ErrorHandler -l none
This command resets the service trace to none for the execution group 
ErrorHandler on BROKER1. To reset the user trace on an execution group, enter 
a command in the Command Console using the following syntax:
mqsichangetrace BROKER1 -u -e ErrorHandler -l none.
8.3.2  Tracing components
On occasion it may be necessary to collect trace for WebSphere Message 
Broker components, such as the Configuration Manager, the User Name Server, 
or brokers. These use the mqsichangetrace and mqsireadlog commands, similar 
to trace on an execution group. Only service trace can be used for commands, 
so the -t parameter must be used with the commands, not the -u parameter.
To collect trace for a Configuration Manager use the instructions below, 
substituting 
configmgr
for the name of your Configuration Manager:
1. Enter this command in the Command Console:
mqsichangetrace configmgr -t -b -l normal
2. When trace is ready to be read, enter this command in the Command 
Console:
mqsireadlog configmgr -t -b agent -f -o ConfigmgrTrace.xml
3. To format the log, enter the mqsiformatlog command as before, for example:
mqsiformatlog -i ConfigmgrTrace.xml -o ConfigmgrTrace.txt
4. View the trace file that is generated.
The other runtime components of WebSphere Message Broker can be traced in 
the same way. This tracing is generally used for collecting information for 
service.
286
WebSphere Message Broker Basics
8.3.3  Tracing commands
Only service trace can be used to trace WebSphere Message Broker 
commands. Trace for commands does not use the mqsichangetrace command; 
instead, only the mqsireadlog and mqsiformatlog commands are used, as with 
the trace on components. However, an extra step must be performed to start 
trace for the commands by setting the MQSI_UTILITY_TRACE environment 
variable. The following instructions give an example of collecting trace for two 
commands, mqsilist and the mqsistop command on a broker.
To perform debug level service trace on the mqsilist command:
1. Open the Command Console and enter:
set MQSI_UTILITY_TRACE=DEBUG
2. Enter the following and press Enter:
mqsilist
3. Enter the following and press Enter:
mqsireadlog utility -t -b mqsilist -f -o mqsilistTrace.xml
4. Enter a mqsiformatlog command to format the trace for output to a text file; 
for example:
mqsiformatlog -i mqsilistTrace.xml -o mqsilistTrace.txt
5. View the trace file.
To perform normal level service trace on the mqsistop command for the broker 
WBRK_BROKER:
1. Open the Command Console and enter:
set MQSI_UTILITY_TRACE=DEBUG
2. Enter:
mqsistop WBRK_BROKER
3. Enter:
mqsireadlog WBRK_BROKER -t -b mqsistop -f -o mqsistopTrace.xml
4. Enter a mqsiformatlog command to format the trace for output to a text file; 
for example:
mqsiformatlog -i mqsistopTrace.xml -o mqsistopTrace.txt
5. View the trace file.
The advantage of setting the MQSI_UTILITY_TRACE environment variable on 
the Command Console rather than in the system is that as soon as the 
Documents you may be interested
Documents you may be interested