Versionen im Vergleich

Schlüssel

  • Diese Zeile wurde hinzugefügt.
  • Diese Zeile wurde entfernt.
  • Formatierung wurde geändert.

Die getForms Operation gibt die gespeicherten Formulare zurückFormulareingänge zurück. 

Wichtig: Ein Field bzw. dessen ID kann nur einmal verwendet werden. Es darf also nicht zweimal "PLZ" im selben Request gebraucht werden.

Request Struktur

Codeblock
languagehtml/xml
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ws="http://ws.eforms.jaxfront.com/">
   <soapenv:Header>
      <ws:token>?</ws:token>
   </soapenv:Header>
   <soapenv:Body>
      <ws:getForms>
         <formId>?</formId>
         <dbmResource>?</dbmResource>
         <pageSize>?</pageSize>
         <offset>?</offset>
         <countTotal>?</countTotal>
         <includeXML>?</includeXML>
         <resultFields>?</resultFields>
         <search>
            <field id="?">
               <condition>?</condition>
               <orClauseGroup>?</orClauseGroup>
               <sortOrder>?</sortOrder>
               <value>?</value>
            </field>
         </search>
         <update>
      </ws:getForms>
      <state>?</state>
         </update>
      </ws:getForms>
   </</soapenv:Body>
</soapenv:Envelope>


ElementDefaultBeschreibung
token
 Zugangsschlüssel zur Authentisierung
formId
 
Formular

ID des Formulars
dbmResource
 

Absoluter
DBM Pfad
Pfad zu einem DBM. Beispiel: resources/MANDANT/FormularXY/special_search.dbm
pageSize100Anzahl Zeilen
offset0Anzahl der Zeilen, die übersprungen werden sollen.
countTotalfalseLiest alle Zeilen und gibt die Anzahl in der Response zurück.
includeXMLfalseDefiniert, ob
as
das xmlField zurückgegeben werden soll.
resultFields* (alle)Im XMLDBMapping definierte Felder, welche zurückgegeben werden sollten.id Field-id gemäss XMLDBMappingvalue Wert, nachdem in dem Feld gesucht werden soll. Standardmässig werden die Suchabfragen mit AND verknüpft ausser es wird eine orClauseGroup angegeben.condition=
checkPDFfalseDefiniert, das überprüft werden soll, ob für ein Formular ein PDF existiert.
Die einzelnen PDF müssen dann über einen Rest-Aufruf konsumiert werden. 
checkAttachmentfalseDefiniert, das überprüft werden soll, ob für das Formular Beilagen existieren.
Die einzelnen Attachments müssen dann über einen Rest-Aufruf  konsumiert werden.  
resultFields* (alle)Im XMLDBMapping definierte Felder, welche zurückgegeben werden sollten.
id
Field-ID gemäss XMLDBMapping
value
Wert, nachdem in dem Feld gesucht werden soll. Standardmässig werden die Suchabfragen mit AND verknüpft ausser es wird eine orClauseGroup angegeben.
condition=Wie der Wert gesucht werden soll (=, <>, >, <, >=, <=, LIKE
, BETWEEN
, IN)
orClauseGroup
, erläutert unter "Mögliche Operatoren für Condition"
orClauseGroup
 

Identifikation für
mind
mindestens 2 searchFields, welche mit OR selektiert werden sollen. Siehe "Eingeschränkte Abfrage mit Verwendung der orClauseGroup".
sortOrderascSortierung aufsteigend/absteigend (asc/desc)

Response Struktur

Mögliche Operatoren für Condition

OperatorBeschreibungBeispiel
=Gleich
<>Nicht gleich
>Grösser als
<Kleiner als
>=Grösser gleich
<=Kleiner gleich
LIKEÄhnlich wie. Suchbegriff muss mit den Wildcards % oder * umgeben sein.<value>*formular*</value> 

MULTI_LIKE

Wenn der Operand entweder ähnlich wie einer angegebenen Werten ist. Die Zahlenwerte müssen per "_;_" getrennt werden.<value>BL_;_XX_;_GL</value> wenn LIKE %BL%, %XX% und %GL% gesucht werden soll. 
IN

Wenn der Operand gleich ist wie einer aus einer Liste von Werten.

WICHTIG: Kein Whitespace zwischen den Werten und Single-Quotes verwenden

<value>'BegriffEins','Test','weitererBegriff'</value> 
BETWEENWenn der Operand zwischen den beiden Zahlenwerten ist. Die Zahlenwerte müssen per Komma oder "_;_" getrennt werden.<value>5000,6000</value> wenn 5221 gesucht wird.
CUSTOMEigene Where-Bedingung, erlaubt komplexe Abfragen mit Verschachtelungen.

<value>PLZ &gt; 3000 AND PLZ &lt; 3100 AND PLZ not like '%50%'</value>

NOT [Operator]Kann als Prefix zur Verneinung eines Operators verwendet werden, z.B.: NOT LIKE


Response Struktur

Codeblock
languagehtml/xml
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
   <S:Body>
      <ns2:getFormsResponse xmlns:ns2="http://ws.eforms.jaxfront.com/">
         <result>
            <info>
               <hasNext>?</hasNext>
               <offset>?</offset>
               <pageSize>?</pageSize>
               <size>?</size>
               <totalSize>?</totalSize>
            </info>
            <row>
               <field id="?">?</field>
            </row>
         </result>
      </ns2:getFormsResponse>
   </S:Body>
</S:Envelope>


ElementBeschreibung
hasNexttoalSize - offset > pageSize
offsetDefiniertes offset
pageSizeDefinierte pageSize
sizeEffektiv zurükgebene Anzahl Zeilen
totalSizeTotal gelesene Zeilen
fieldWert des Feldes
idField-id gemäss XMLDBMapping

Beispiele anhand des PLZ Registers

XMLDBMapping PLZ Register

Codeblock
languagehtml/xml
titleXMLDBMapping example (PLZ)
<XMLDBMapping openLinkSupported="false" 
 performInitialSearch="false"
 sortOrder="desc" tableName="PLZ" useColumnChooser="false"
 uuidFieldName="ONO"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="xmlDBMapping.xsd">
	<field>
  		<id>Name</id>
  		<columnName>PLACE_LONG</columnName>
  		<showAsFilter>true</showAsFilter>
  		<showAsColumn>true</showAsColumn>
 	</field>
 	<field>
  		<id>PLZ</id>
  		<columnName>PLZ</columnName>
  		<showAsFilter>false</showAsFilter>
  		<showAsColumn>true</showAsColumn>
 	</field>
 	<field>
  		<id>Canton</id>
  		<columnName>CANTON</columnName>
  		<showAsFilter>true</showAsFilter>
  		<showAsColumn>true</showAsColumn>
 	</field>
</XMLDBMapping>

Seitenweise Abfragen

Codeblock
languagehtml/xml
titleRequest
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ws="http://ws.eforms.jaxfront.com/">
   <soapenv:Header>
      <ws:token>b86d157d-491f-4af0-b0ad-0141c8fe480c</ws:token>
   </soapenv:Header>
   <soapenv:Body>
      <ws:getForms>
         <formId>ZIP</formId>
         <countTotal>true</countTotal>
         <pageSize>10</pageSize>
         <offset>5329</offset>
      </ws:getForms>
   </soapenv:Body>
</soapenv:Envelope>


Codeblock
languagehtml/xml
titleResponse
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
   <S:Body>
      <ns2:getFormsResponse xmlns:ns2="http://ws.eforms.jaxfront.com/">
         <result>
            <info>
               <hasNext>false</hasNext>
               <offset>5329</offset>
               <pageSize>10</pageSize>
               <size>2</size>
               <totalSize>5331</totalSize>
            </info>
            <row>
               <field id="Name">Lausanne 1 Dépôt</field>
               <field id="PLZ">1000</field>
               <field id="Canton">VD</field>
            </row>
            <row>
               <field id="Name">Lausanne</field>
               <field id="PLZ">1000</field>
               <field id="Canton">VD</field>
            </row>
         </result>
      </ns2:getFormsResponse>
   </S:Body>
</S:Envelope>

Eingeschränkte Abfrage

Codeblock
languagehtml/xml
titleRequest
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ws="http://ws.eforms.jaxfront.com/">
   <soapenv:Header>
      <ws:token>b86d157d-491f-4af0-b0ad-0141c8fe480c</ws:token>
   </soapenv:Header>
   <soapenv:Body>
      <ws:getForms>
         <formId>ZIP</formId>
         <countTotal>true</countTotal>
         <search>
            <field id ="PLZ">               
               <value>9656</value>
               <condition>>=</condition>
               <sortOrder>desc</sortOrder>
            </field>
         </search>
      </ws:getForms>
   </soapenv:Body>
</soapenv:Envelope>


Codeblock
languagehtml/xml
titleResponse
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
   <S:Body>
      <ns2:getFormsResponse xmlns:ns2="http://ws.eforms.jaxfront.com/">
         <result>
            <info>
               <hasNext>false</hasNext>
               <offset>0</offset>
               <pageSize>100</pageSize>
               <size>3</size>
               <totalSize>3</totalSize>
            </info>
            <row>
               <field id="PLZ">9658</field>
               <field id="Name">Wildhaus</field>
               <field id="Canton">SG</field>
            </row>
            <row>
               <field id="PLZ">9657</field>
               <field id="Name">Unterwasser</field>
               <field id="Canton">SG</field>
            </row>
            <row>
               <field id="PLZ">9656</field>
               <field id="Name">Alt St. Johann</field>
               <field id="Canton">SG</field>
            </row>
         </result>
      </ns2:getFormsResponse>
   </S:Body>
</S:Envelope>

Eingeschränkte Abfrage mit Verwendung der orClauseGroup

Codeblock
languagehtml/xml
titleRequest
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ws="http://ws.eforms.jaxfront.com/">
   <soapenv:Header>
      <ws:token>b86d157d-491f-4af0-b0ad-0141c8fe480c</ws:token>
   </soapenv:Header>
   <soapenv:Body>
      <ws:getForms>
         <formId>ZIP</formId>
         <countTotal>true</countTotal>
         <search>
            <field id="PLZ">               
               <value>6085</value>
               <condition>></condition>
               <orClauseGroup>OR1</orClauseGroup>
            </field>
            <field id ="Name">               
               <value>Schangnau</value>
               <condition>=</condition>
               <orClauseGroup>OR1</orClauseGroup>
            </field>
            <field id ="Canton">               
               <value>BE</value>
               <condition>=</condition>
            </field>
         </search>
      </ws:getForms>
   </soapenv:Body>
</soapenv:Envelope>

Resultierende Query (Pseudo): ... WHERE (PLZ > '6085' OR PLACE_LONG= 'Schangnau') AND CANTON = 'BE'

Codeblock
languagehtml/xml
titleResponse
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
   <S:Body>
      <ns2:getFormsResponse xmlns:ns2="http://ws.eforms.jaxfront.com/">
Codeblock
languagehtml/xml
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
   <S:Body>
      <ns2:getFormsResponse xmlns:ns2="http://ws.eforms.jaxfront.com/">
         <result>
            <info>
               <hasNext>?</hasNext>
               <offset>?</offset>
               <pageSize>?</pageSize>
               <size>?</size><result>
            <info>
   <totalSize>?</totalSize>
            <<hasNext>false</info>hasNext>
               <row><offset>0</offset>
               <field id="?">?</field><pageSize>100</pageSize>
            </row>
         </result><size>2</size>
      </ns2:getFormsResponse>
   </S:Body>
</S:Envelope>
ElementBeschreibung
hasNexttoalSize - offset > pageSize
offsetDefiniertes offset
pageSizeDefinierte pageSize
sizeEffektiv zurükgebene Anzahl Zeilen
totalSizeTotal gelesene Zeilen
fieldWert
idField-id gemäss XMLDBMapping

Beispiele anhand des PLZ Registers

XMLDBMapping PLZ Register

Codeblock
languagehtml/xml
titleXMLDBMapping example (PLZ)
<XMLDBMapping openLinkSupported="false" 
 performInitialSearch="false"
 sortOrder="desc" tableName="PLZ" useColumnChooser="false"
 uuidFieldName="ONO"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="xmlDBMapping.xsd">
	<field>
  		<id>Name</id>
  		<columnName>PLACE_LONG</columnName>
  		<showAsFilter>true</showAsFilter>
  		<showAsColumn>true</showAsColumn>
 	</field>
 	<field>
  		<id>PLZ</id>
  		<columnName>PLZ</columnName>
  		<showAsFilter>false</showAsFilter>
  		<showAsColumn>true</showAsColumn>
 	</field>
 	<field>
  		<id>Canton</id>
  		<columnName>CANTON</columnName>
  		<showAsFilter>true</showAsFilter>
  		<showAsColumn>true</showAsColumn>
 	</field>
</XMLDBMapping>

Seitenweise suchen

Codeblock
languagehtml/xml
titleRequest
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ws="http://ws.eforms.jaxfront.com/">
   <soapenv:Header>
      <ws:token>b86d157d-491f-4af0-b0ad-0141c8fe480c</ws:token>
   </soapenv:Header>
   <soapenv:Body>
      <ws:getForms>
         <totalSize>2</totalSize>
            </info>
            <row>
               <field id="PLZ">6197</field>
               <field id="Name">Schangnau</field>
               <field id="Canton">BE</field>
            </row>
            <row>
               <field id="PLZ">6086</field>
               <field id="Name">Hasliberg Reuti</field>
             <formId>ZIP</formId>
    <field id="Canton">BE</field>
     <countTotal>true</countTotal>
         <pageSize>10<</pageSize>row>
         <offset>5329<</offset>result>
      </wsns2:getForms>getFormsResponse>
   </soapenvS:Body>
</soapenvS:Envelope>

Abfrage der JAXForms Standard-Formulare (Standard XMLDBMapping)

Wenn keine formId und dbmResource angegeben werden, werden die Standard JAXForms Formulare abgefragt.

code
Codeblock
languagehtml/xml
titleResponseRequest
<S<soapenv:Envelope xmlns:Ssoapenv="http://schemas.xmlsoap.org/soap/envelope/">
   <S:Body>
      <ns2:getFormsResponse xmlns:ns2ws="http://ws.eforms.jaxfront.com/">>
   <soapenv:Header>
      <ws:token>30de6360-c1e4-4e72-a3c2-b0b7f0f2b2b1</ws:token>
   </soapenv:Header>
   <soapenv:Body>
   <result>
   <ws:getForms>
         <info><countTotal>true</countTotal>
               <hasNext>false</hasNext><includeXML>false</includeXML>
               <offset>5329</offset><resultFields>Type,Sender</resultFields>
         <search>
      <pageSize>10</pageSize>
      <field     id ="Type">    <size>2</size>
           
    <totalSize>5331</totalSize>
            </info><value>DEMO-FEEDBACK</value>
            <row>
   </field>
            <field id ="ID">105</field>
 Sender">              <field id="TYP">80</field>
               <field id="PLZ">1000</field>
   <value>rwu@jaxfront.com</value>
            <field id="PLZ_ZUS">01<</field>
         </search>
      </ws:getForms>
   </soapenv:Body>
</soapenv:Envelope>


Codeblock
languagehtml/xml
titleResponse
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
   <S:Body>
<field id="PLACE_SHORT">Lausanne 1 Dépôt</field>
               <field id="Name">Lausanne 1 Dépôt</field>
<ns2:getFormsResponse xmlns:ns2="http://ws.eforms.jaxfront.com/">
         <result>
           <field id="Canton">VD</field>
 <info>
               <<hasNext>false</row>hasNext>
               <row><offset>0</offset>
               <field id="ID">104</field><pageSize>100</pageSize>
               <field id="TYP">20</field>
 <size>1</size>
              <field id="PLZ">1000</field> <totalSize>1</totalSize>
               <field id="PLZ_ZUS">00</field></info>
               <field id="PLACE_SHORT">Lausanne</field><row>
               <field id="NameType">Lausanne<>DEMO-FEEDBACK</field>
               <field id="CantonSender">VD<>rwu@jaxfront.com</field>
            </row>
         </result>
      </ns2:getFormsResponse>
   </S:Body>
</S:Envelope>

 

...