Interface updateRequirementsByExtId

L'interface updateRequirementsByExtId permet de mettre à jour les exigences avec les nœuds racines existants à partir de fichiers XML. Les exigences sont identifiées par des ID externes. Le nœud de l'arborescence Exigences et tous les nœuds enfants sont mis à jour. De nouveaux nœuds sont ajoutés, les nœuds manquants sont définis comme étant obsolètes et les nœuds déplacés sont également placés dans Silk Central. La réponse HTTP de l'appel comprend la structure XML des exigences modifiées. Les identifiants des nouveaux nœuds sont disponibles dans la structure de l'exigence XML mise à jour.

Le tableau ci-dessous présente les paramètres de l'interface updateRequirementsByExtId.

URL de l'interface Paramètre Descriptions

http://<front-end URL>/servicesExchange?hid=updateRequirementsByExtId

sid Jeton de service Web ou identificateur de session pour l'authentification des utilisateurs. Vous pouvez générer le jeton de service Web dans la Page Paramètres de l'interface utilisateur de Silk Central. Pour accéder à cette page, passez le curseur de la souris sur le nom d'utilisateur dans le menu Silk Central et sélectionnez Paramètres utilisateur. Vous pouvez appeler la méthode logonUser de l'un des services Web disponibles pour récupérer l'identificateur de session.
  nodeID ID du nœud de l'arborescence des exigences à mettre à jour.

Exemple : http://<front-end URL>/servicesExchange?hid=updateRequirementsByExtId&nodeID=<id>&sid=<webServiceToken>

Le fichier de définition du schéma XML qui sert à valider les exigences peut être téléchargé au moyen de l'URL du serveur de présentation, http://<URL serveur de présentation>/silkroot/xsl/requirements.xsd, ou copié à partir du dossier d'installation du serveur de présentation, <dossier d'installation de Silk Central>/wwwroot/silkroot/xsl/requirements.xsd.

Exemple de service Web updateRequirementsByExtId

Le code ci-dessous utilise Apache HttpClient pour mettre à jour les exigences.

import org.apache.commons.httpclient.*; // Apache HttpClient
		
String webServiceToken = "e39a0b5b-45db-42db-84b2-b85028d954d5";
URL service = new URL("http", mWebServiceHelper.getHost(),
  mWebServiceHelper.getPort(), 
  String.format("/servicesExchange?hid=%s&sid=%s",&nodeID=%s",
    "updateRequirementsByExtId",
    webServiceToken, rootNodeId));

HttpClient client = new HttpClient();
PostMethod filePost = new PostMethod(service.toExternalForm());
string xmlFile = loadRequirementsUtf8(fileName);
StringPart xmlFileItem = new StringPart("requirements", xmlFile,
  "UTF-8");
xmlFileItem.setContentType("text/xml");
Part[] parts = {xmlFileItem};

filePost.setRequestEntity(new MultipartRequestEntity(parts,
  filePost.getParams()));
client.getHttpConnectionManager().getParams().setConnectionTimeout(60000);
int status = client.executeMethod(filePost);
System.out.println(filePost.getStatusLine());

String responseXml = filePost.getResponseBodyAsString();

Il n'est possible de télécharger qu'une seule pièce jointe par demande. Pour télécharger Apache HttpComponents, visitez le site http://hc.apache.org/downloads.cgi. Reportez-vous à la documentation du composant pour connaître les bibliothèques requises.

Exemple d'exigence

Le code suivant affiche un exemple d'exigence pouvant être chargé dans Silk Central à l'aide des services createRequirements, updateRequirements et updateRequirementsByExtId.

<?xml version="1.0" encoding="UTF-8"?>
<Requirement id="0" name="name" xmlns="http://www.borland.com/RequirementsSchema" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://<front-end URL>/silkroot/xsl/requirements.xsd">
	<ExternalId>myExtId1</ExternalId>
	<Description>Description</Description>
	<Priority value="Low" inherited="false"/>
	<Risk value="Critical" inherited="false"/>
	<Reviewed value="true" inherited="false"/>
	<Property inherited="false" name="Document" type="string">MyDocument1.doc</Property>
	<Requirement id="1" name="name" />
	<Requirement id="2" name="name1">
		<Requirement id="3" name="name" />
		<Requirement id="4" name="name1">
			<Requirement id="5" name="name" />
      <Requirement id="6" name="name1">
        <ExternalId>myExtId2</ExternalId>
        <Description>Another Description</Description>
        <Priority value="Medium" inherited="false"/>
        <Risk value="Critical" inherited="false"/>
        <Reviewed value="true" inherited="false"/>
        <Property inherited="false" name="Document" type="string">MyDocument2.doc</Property>
			</Requirement>
		</Requirement>
	</Requirement>
</Requirement>