Pearson
Always Learning

Overview

Copies a course section's content into an empty destination course. The source and destination sections must exist prior to calling this method.

Note: Use Create Empty Course to create a new, empty course section. To create an empty template for a course section, use Copy Course Without Content. To copy the structure and content of an existing course section, use Copy Course with Content.

Accessing the Enterprise Course Service

LearningStudio requires a username and password to access the API web services. Your Client Services representative should have provided you with the necessary login credentials. These credentials are included in the SOAP header.

Element Description
Operation Name CopyCourseContent
End-point URL https://ccws-services.ecollege.com/EnterpriseServices/v2.2/EnterpriseCourse.svc
WSDL Compressed zip file of WSDL files
WS-Address http://ccws-services.ecollege.com/EnterpriseServices/v2.2/EnterpriseCourse.svc
Learn more about WS-Addressing in Terms & Courses APIs

Tip: If you are programming in .NET, use WCF 4.0 for communicating with Terms & Courses services.

Request Header

All requests must include a WS-Security SOAP Header with the username and password for your campus' SIS system. Your SOAP library is likely capable of creating this header for you. For more information on the requirements, see SOAP API Security.

Below is a sample CopyCourseSectionAndContent header.

<header xmlns:wsa="http://www.w3.org/2005/08/addressing"><security soap:mustunderstand="true" xmlns:wsse="http://docs.oasisopen.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"><usernametoken wsu:id="UsernameToken-1" xmlns:wsu="http://docs.oasisopen.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"><username>{USERNAME}</username><password type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-usernametoken-profile-1.0#PasswordText">{PLAINTEXT_PASSWORD}</password><nonce encodingtype="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soapmessage-security-1.0#Base64Binary">{RANDOM_VALUE}</nonce><created>{UTC_TIMESTAMP}</created></usernametoken></security><action>{ACTION_DEFINED_BY_WSDL}</action><to>{ADDRESSING_URL}</to></header>

Request Body

The elements of the CopyCourseContent request XML request body are detailed in the following table. The top level element is always CopyCourseContent, and all these elements are children of the top node.

Element Description Required?
ContentCopyRequest Container for course content information. Required
ContentCopyRequest
    ↳ClientString
LearningStudio Client String for the campus / Education Partner (client). For Strata University, this would be strata. Required
ContentCopyRequest
    ↳SourceClientSortString
LearningStudio node sort string where the course from which you're copying content resides. For example, if this is in the business school node at Strata University, this value may be strata.business. (in Client Sort Strings, always include the final period). Required
ContentCopyRequest
    ↳SourceCourseIdentifier
Container for your system's course identifier for the course you're copying from. Required
ContentCopyRequest
    ↳SourceCourseIdentifier
            ↳ID

The identifier for the course section you're copying. You will typically use your system's identifier for this course section you're copying. Call Numbers are generally recommended for these kinds of fields, rather than Sourced ID, because you can use the Course APIs or AdminPages to look up call numbers. However if you maintain your own record of Sourced IDs for your courses instead of call numbers, then you can use that identifier here. (Sourced ID is only used by LearningStudio behind the scenes and isn't retrievable in the UI or APIs.)

As of version 2.2 of this service, you can now use the LearningStudio Course ID for the course you're copying, for example: 01234567.

Required
ContentCopyRequest
    ↳SourceCourseIdentifier
            ↳MappingType
How the section to copy content from is identified.
  • CallNumber
  • SourcedID
  • CourseID (version 2.2 only)
Required
ContentCopyRequest
    ↳DestinationCourseIdentifiers
Container for your system's course identifier for course receiving the content. Required
ContentCopyRequest
    ↳DestinationCourseIdentifiers
            ↳CourseIdentifier
Container for your system's course identifier for course receiving the content. Required
ContentCopyRequest
    ↳DestinationCourseIdentifiers
            ↳CourseIdentifier
                   ↳ID
Your system's identifier for this course section receiving the content. Required
ContentCopyRequest
    ↳DestinationCourseIdentifiers
            ↳CourseIdentifier
                   ↳MappingType
How the destination section is identified.
  • CallNumber
  • SourcedID
Required
ContentCopyRequest
    ↳CopyContentOptions
The only valid value for this element is All. Required

Request Body Sample

Here is a text view of the body from a sample CopyCourseContent message:

<copycoursecontent><contentcopyrequest><clientstring>gbtestc</clientstring><copycontentoptions>All</copycontentoptions><destinationcourseidentifiers><courseidentifier><id>ACCT4480_CCWSv2.1Doc</id><mappingtype>CallNumber</mappingtype></courseidentifier></destinationcourseidentifiers><sourceclientsortstring>gbtestc.two.</sourceclientsortstring><sourcecourseidentifier><id>ACCT4480_IntegrationTestTerm</id><mappingtype>CallNumber</mappingtype></sourcecourseidentifier></contentcopyrequest></copycoursecontent>

Response

CopyCourseContentResponse schema overview:

Element Description
CopyCourseContentResponse Top level element
CopyCourseContentResponse
    ↳CopyCourseContentResult
Container for call result
CopyCourseContentResponse
    ↳CopyCourseContentResult
            ↳ID
Container for identifying destination. See Courses and Terms.
CopyCourseContentResponse
    ↳CopyCourseContentResult
            ↳ID
                  ↳ID
External identifier for the course in which to copy the section.
CopyCourseContentResponse
    ↳CopyCourseContentResult
            ↳ID
                  ↳MappingType
How the new course section is identified. Possible values are:

  • CallNumber
  • SourcedID
CopyCourseContentResponse
    ↳CopyCourseContentResult
            ↳JobStatusID
Identifies the system job for the call.
CopyCourseContentResponse
    ↳CopyCourseContentResult
            ↳Status
The success, failure or other status of the call.

Response Body Sample

Here is a text view of the body from a sample CopyCourseContent response message:

<copycoursecontentresponse xmlns="urn:eclg:coursecopy:enterprisecourse"><copycoursecontentresult xmlns:b="http://CCWSServices.eCollege.com/EnterpriseServices/Types/v2.1/" xmlns:i="http://www.w3.org/2001/XMLSchema-instance"><id><id>ACCT4480_IntegrationTestTerm</id><mappingtype>CallNumber</mappingtype></id><jobstatusid>1397420</jobstatusid><status>Ok</status></copycoursecontentresult></copycoursecontentresponse>

2526 reads
Always Learning
Pearson