NSI Integration: FAQs

This page contains frequently asked technical questions about the National Student Index (NSI) interface options. It is intended for development and systems staff working for organisations that are implementing an on-line NSI interface. Further technical information is available in GINS or by contacting the NSI Unit.

XML FAQ's

How are name details updated in XML?
The behaviour around name updates (see GINS 6.8) is different to that for other NSI fields. This is because a record may exist on the system with data in the forename2 or forename3 fields that is incorrect, and an organisation may wish to remove this data. For forename2 and forename3, if a blank value is submitted it will be taken as intentional and any existing data in the fields will be overwritten. For all other fields, if a blank value is submitted it will be ignored.

For example:

1. A record exists as follows in the system:

How details are updated in XML

2. An XML update containing the following blank forename fields is sent:

<update version="1.0">
...
<surname>Gordon</surname>
<forename1>James</forename1>
<forename2></forename2>
<forename3></forename3>
...
</update>

3. The record now looks like this:

The main name has been updated to remove forename2 and forename3, and the
previous name details have become an alternative name:

How are the outcomes of merge requests communicated in XML?
It is important to be aware that for online merge requests, the result returned is that the merge request has been received successfully, not that the merge itself has actually taken place. Users are advised of record merges (and any other changes to student records with which they have an interest) via Change Notification files.

How are null field values returned in XML?
The Guide to Integrating the National Student Index System (GINS) document (6.2.5.2) states that null field values will be returned in the format <tag/> or <tag><tag/> by the NSI. This means that where the specification for a given block reads:
...
<surname></surname>
<forename1></forename1>
<forename2></forename2>
<forename3></forename3>
...
the actual file output by the system will read:
...
<surname>Sedcole</surname>
<forename1>Andrew</forename1>
<forename2 />
<forename3 />
...
that is, null tags here are being returned using the XML notation for a null value.

In coding for what may be returned by the NSI, XML developers should be aware that empty/null tags can be returned as <tag/>, <tag></tag>, or in some cases not at all (see GINS 6.6.3: "...when multiple results are returned from a search request the <name_list/> tags for alternative names are not included if empty.").

Does the position of a tag within a level in an XML block matter?
Because data elements within an XML block are defined by tags, the position in which a tag is submitted within a level in a block (or indeed the presence of a tag) does not matter.

How should username tags be used in XML blocks?
Where an organisation is set-up with server-based authentication (either PKI or password), any XML block apart from login and logout will need to contain a username.

The expectation is that an SMS will make the call to the NSI supplying the SMS login or a related name as this <user> in XML blocks. Blocks submitted without a user will be rejected.

SOAP FAQ's

What steps does an SMS developer need to take to implement a SOAP interface?
Broadly speaking, the steps that an SMS vendor/developer needs to take to implement a SOAP interface are:

  1. Obtain an appropriate SOAP toolkit for platform o/s.
  2. Make calls to client SOAP toolkit from SMS application as defined in toolkit documentation.
  3. Create SOAP `script' in a way the toolkit understands in order to call functions.
  4. SOAP client knows to go off and locate the wsdl file it has been told to look for. Vendors send to port 443, which is the default HTTPS destination port.
  5. SOAP response is passed back to be interpreted by client SOAP toolkit - is actually in xml so will be an xml parser which interprets it and returns the results as SOAP expects.
  6. SOAP client returns response to SMS.

Where can you get a SOAP toolkit?
SOAP toolkits are available on the internet. Microsoft has one for Windows that is available at http://msdn.microsoft.com/soap. For other operating systems, toolkits will be available elsewhere on the internet.

Where can I get more information on SOAP technology?
A useful developer resource that is currently available on the internet is http://www.w3.org/TR/SOAP/



Content last updated: 7 July 2008