Schnittstelle createRequirements

Über die Schnittstelle createRequirements werden neue Anforderungen erstellt. Die HTTP-Antwort des Aufrufs enthält die XML-Struktur der geänderten Anforderungen. Sie können die Kennungen der neuen Knoten der aktualisierten XML-Anforderungsstruktur entnehmen.

Die folgende Tabelle enthält die Parameter der Schnittstelle createRequirements.

Schnittstellen-URL Parameter Beschreibung

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

sid Webdienst-Token oder Sitzungs-ID für die Benutzerauthentifizierung. Sie können das Webdienst-Token auf der Einstellungsseite der Silk Central-Benutzeroberfläche generieren. Um auf diese Seite zuzugreifen, zeigen Sie mit dem Mauszeiger auf den Benutzernamen im Menü Silk Central und wählen Sie Benutzereinstellungen. Sie können die Sitzungs-ID abrufen, indem Sie die Methode logonUser für einen der verfügbaren Webdienste aufrufen.
  parentNodeID ID des Containers, dem die neue Anforderung in der Anforderungshierarchie hinzugefügt wird.

Beispiel: http://<front-end URL>/servicesExchange?hid=createRequirements&parentNodeID=<id>&sid=<webServiceToken>

Die Definitionsdatei für das XML-Schema, mit der überprüft wird, ob Anforderungen über den URL des Front-End-Servers http://<Host>/silkroot/xsl/requirements.xsd heruntergeladen oder aus dem Installationsordner <Silk Central-Installationsordner>/wwwroot/silkroot/xsl/requirements.xsd des Front-End-Servers kopiert werden können.

Beispiel für den Webdienst createRequirements

Im folgenden Quelltext werden die Anforderungen mithilfe von Apache HttpClient erstellt.

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&parentNodeID=%d",
  "createRequirements", webServiceToken,
  PARENT_NODE_ID));
	
HttpClient client = new HttpClient();
PostMethod filePost = new PostMethod(service.toExternalForm());
String xmlFile = loadRequirementsUtf8("requirements.xml");
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());

Pro Anfrage kann nur ein Anhang hochgeladen werden. Apache HttpComponents können Sie von http://hc.apache.org/downloads.cgi herunterladen. Die erforderlichen Bibliotheken entnehmen Sie der Dokumentation der Komponente.

Anforderungen – Beispiel

Der folgende Code zeigt ein Beispiel einer Anforderung, die mithilfe der Dienste createRequirements, updateRequirements und updateRequirementsByExtId in Silk Central hochgeladen werden kann.

<?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>