Skip to end of metadata
Go to start of metadata

Purpose:

Fiddler traces HTTP traffic in and out of a computer.  HTTP tracing tools are used to see the communications between content and SAP SuccessFactors Learning Management Systems (LMS).
This can be very helpful to see what parameters are being sent to and from the LMS. Fiddler is a 3rd party tool not developed by SAP. If there are issues such as installing or using on the network/device, consult your IT team.

Overview:

HTTP tracing tools are a key for any content issues and Fiddler is no exception.  HTTP tracing is crucial when running into any errors and making sure content is functioning as expected.  This wiki will help with most common ways to use Fiddler and help diagnose/resolve issues.

Fiddler Setup:

This tutorial shows the process of capturing network traffic using the Fiddler tool.

  1. Requirements:
    1. Fiddler runs only on Windows
    2. Fiddler Anywhere is available for Linux and Mac but this wiki will focus on Windows
  2. Download Fiddler from https://www.telerik.com/download/fiddler
  3. Run through the installation process
  4. Begin the Fiddler application
  5. Configure Fiddler with the following:
    1. Proceed to Tools > Options > select the HTTPS tab
      1. Check 'Capture HTTPS CONNECTs' and 'Decrypt HTTPS traffic'
      2. Press 'OK'


Tracing

  1. Make sure Capture Traffic is enable (F12 or File menu > Capture Traffic), you will see ‘Capturing’ in bottom left of Fiddler window.
  2. Access your SuccessFactors environment
  3. Reproduce the issue while capturing the traffic
  4. Stop traces (by pressing F12), 'Capturing' will disappear from the bottom left Fiddler window
  5. Save traces (File menu > Save)



AICC content:

When running AICC content or AICC wrapper the url being sent to the LMS is /learning/PwsAicc...  After tracing the course select the last /learning/PwsAicc URL... and move backward through the traced packets for all sent and received information.

The .../learning/PwsAicc URL is for both SCORM 1.2 and AICC content.

commandPutParam
version2.2
session_idC2223598235M222626425Sea92d72034c5007cf5002ecee5e01d32beedcef918b6da45ff03ffdf9d34af5dea8819d50ff6874285861cb0726c9404
aicc_data[CORE]
Lesson_Status=passed
time=00:00:03
_1429820301157

 

Command row will show if the information was sent (PutParam) or received (GetParam).

Aicc_data row will show all parameters being sent or received.

SCORM 2004 content:

SCORM 2004 content is harder to read in Fiddler than AICC content.  SCORM's URL packet that is being sent or received from the LMS is /learning/ScormRteServlet, however this can be a little different based on what content/3rd party you are using.

Command row shows if the packet is reading or writing to the LMS.

implversion row shows the version of scorm being ran.

Data row shows the parameters that are being sent or received, however this isn't displayed in a table like AICC.  The easiest way to read this is copy and pasting into notepad++ (etc).

 Example of what to look for:
<completionStatus>completed</completionStatus>
<successStatus>passed</successStatus>
<scoreRaw>0</scoreRaw>
<totalTime>362.15</totalTime>
<sessionTime>19.85</sessionTime>
 

Sending Fiddler edited HTTP packets to LMS:

If you want to see if changing a specific parameter will resolve an issue you can use fiddler to resend a packet.  This can help debugging issues and make changes without having to change the content package.  This example is with SCORM content.

  1. Access the LMS
  2. Assign course to user
  3. Start course
  4. Start Fiddler
  5. Go through Course
  6. Should see in Fiddler the parameters being sent to the LMS.
  7. Before closing out of the course completely open Fiddler
  8. Check the Fiddler trace always starting from the bottom and moving your way up.
    You should url = /learning/ScormRteServlet; make sure this packet has command = write.
  9. Check data row for the specific values being set.

    <?xml version="1.0" encoding="UTF-8"?>
    <CoreDataModelGroupVOX><learnerID><![CDATA[RyanUser]]></learnerID><learnerName><![CDATA[{lang=en}Hansen, Ryan Alexander]]></learnerName><location></location><credit>credit</credit><completionStatus>incomplete</completionStatus><exit>suspend</exit><entry>resume</entry><successStatus>unknown</successStatus><progressMeasure></progressMeasure><completionThreshHold></completionThreshHold><scoreRaw>0</scoreRaw><scoreMax>100</scoreMax><scoreMin>0</scoreMin><scoreScaled>0</scoreScaled><scaledPassingScore></scaledPassingScore><totalTime>362.15</totalTime><sessionTime>19.85</sessionTime><maxTimeAllowed></maxTimeAllowed><timeLimitAction>continue,no message</timeLimitAction><elementSetBySCOMap><entry><key>cmi.learner_id</key><value>false</value></entry><entry><key>cmi.learner_name</key><value>false</value></entry><entry><key>cmi.credit</key><value>false</value></entry><entry><key>cmi.completion_status</key><value>false</value></entry><entry><key>cmi.exit</key><value>true</value></entry><entry><key>cmi.entry</key><value>false</value></entry><entry><key>cmi.success_status</key><value>false</value></entry><entry><key>cmi.mode</key><value>false</value></entry><entry><key>cmi.score.raw</key><value>false</value></entry><entry><key>cmi.score.min</key><value>false</value></entry><entry><key>cmi.score.scaled</key><value>false</value></entry><entry><key>cmi.total_time</key><value>false</value></entry><entry><key>cmi.session_time</key><value>false</value></entry></elementSetBySCOMap><objectivesDataModelNodeVOXList></objectivesDataModelNodeVOXList></CoreDataModelGroupVOX>
     

     As you can see completionStatus=incomplete and successStatus=unknown
     
  10. Change your Fiddler to the default layout
    select View > Default layout > full screen fiddler
  11. Using Fiddler we can change these values and complete the course
  12. Right click on the host.com/learningScormRteServlet above > Replay > Reissue and Edit

  13. Now we can edit these values to completed and passed (You may have to open fiddler very big /long so you can see the values to edit)
    completionStatus=completed
    successStatus=passed or failed

    Note: Copy and paste didn’t work for me
  14. After editing the values select Run to Completion at the bottom.
  15. Once this is done go back to your course and finish.
  16. Now you can check if the content worked successfully with different parameter values.

Related Content:

Related Documents:

Insert SAP Help links or other WIKI content

Related Notes:

Insert links to any related Notes or KBAs that support your topic or are related.

 

Link to this page:
http://wiki.scn.sap.com/wiki/x/ewO1G

  • No labels