Button Plan als Dienst

Neben der Ausführung eines Plans über die Buttonanwendung ist es auch möglich den Plan als Dienst auszuführen. Dies ermöglicht den Aufruf eines Buttonplans z.B. aus eigenen Anwendungen.

1. Konfigurationsparameter zum Dienst im Plan definieren

Im Abschnitt Capabilities muss über den Unterabschnitt WebService der Dienst definiert werden:

<Capabilities planUniqueId="SchilderReportSchulungButtonId">
  <Description>Beispielplan für Button-Schulung</Description>
  <Arguments>
    <Argument name="Thema" netTypeName="System.String" nullable="false">Bezeichnung Naturschutzgebiet</Argument>
  </Arguments>
  <WebService>
    <MethodeName>SchilderReportSchulungButton</MethodeName>
    <EnablePublic>false</EnablePublic>
    <EnableSession>false</EnableSession>
    <BufferResponse>false</BufferResponse>
    <AsmxCodeGeneratorVersion>2</AsmxCodeGeneratorVersion>
  </WebService>
</Capabilities>

 

  • planUniqueId: Angabe einer eindeutigen ID für den Plan
  • Methodenname: der Dienstname, unter welchem der Dienst aufgerufen werden soll (muss systemweit eindeutig sein)
  • EnablePublic:true - es wird ein verfügbarer Dienst ohne Benutzerauthentifizierung generiert unter
    /net3/project/public/services/ButtonServices.asmx.
    false - Es wird nur ein zugriffsbeschränkter Dienst generiert unter
    /net3/project/services/ButtonServices.asmx.
  • EnableSession, BufferResponse: Diese Parameter sind allgemeine Parameter eines WebService. Weitere Infos sind in der MSDN zu finden. Standardeinstellung ist hier jeweils 'false'.

  • AsmxCodeGeneratorVersion:Dieser Parameter dient der Kompatibilität mit älteren Versionen und sollte normalerweise immer auf die aktuelle Version 2 gesetzt werden.

2. Dienste für alle Pläne generieren/aktualisieren

Wenn ein neuer Dienst definiert wurde oder sich an der Konfiguration oder den Argumenten eines Planes etwas geändert hat, müssen die Dienste neu generiert werden.

Dies geschieht über den Aufruf einer URL, welche auf der Startseite des Button-Administrationstools im Management Center zu finden ist.

3. ButtonPlan-Dienst aufrufen

Über die URL

http://IhrCardo/net3/project/public/services/ButtonServices.asmx bzw.
http://IhrCardo/net3/project/services/ButtonServices.asmx

gibt es eine Oberfläche, über welche die verfügbaren Dienste interaktiv aufgerufen werden können.

4. ButtonPlan-Dienst über eine Webseite ausführen

Ein ButtonPlan-Dienst kann auch direkt über eine URL aufgerufen werden. Im Ergebnis wird dann die Ergebnisdatei, oder falls es mehrere Dateien sind, diese dann als ZIP-Datei zurück gegeben.

Aufruf:

http://IhrCardo/net3/button/run.aspx?plan=Planname&Argument=Wert

Die UniqueId des Planes wird als URL-Parameter 'plan' angehangen. Wenn der Plan Argumente erfordert, werden diese als weitere URL-Parameter in der Form Parametername=Wert angehangen. Für obiges Beispiel sieht das so aus:

http://IhrCardo/net3/button/run.aspx?plan=SchilderReportSchulungButtonId&Thema=Heide