Een DDX-document valideren met de webservice-API
- Van toepassing op:
- Experience Manager 6.5
Gemaakt voor:
- Ontwikkelaar
de Steekproeven en de voorbeelden in dit document zijn slechts voor AEM Forms op milieu JEE.
Valideer een DDX-document met behulp van de API (webservice) voor vergaderingsservice:
-
Inclusief projectbestanden.
Creeer een Microsoft .NET project dat MTOM gebruikt. Gebruik de volgende WSDL-definitie:
http://localhost:8080/soap/services/AssemblerService?WSDL&lc_version=9.0.1
.OPMERKING
Vervang localhost door het IP-adres van de Forms Server. -
Maak een PDF Assembler-client.
-
Maak een
AssemblerServiceClient
-object met de standaardconstructor. -
Maak een
AssemblerServiceClient.Endpoint.Address
-object met deSystem.ServiceModel.EndpointAddress
-constructor. Geef een tekenreekswaarde die de WSDL opgeeft door aan de AEM Forms-service (bijvoorbeeldhttp://localhost:8080/soap/services/AssemblerService?blob=mtom
). U hoeft het attribuutlc_version
niet te gebruiken. Dit kenmerk wordt gebruikt wanneer u een serviceverwijzing maakt. -
Maak een
System.ServiceModel.BasicHttpBinding
-object door de waarde van hetAssemblerServiceClient.Endpoint.Binding
-veld op te halen. De geretourneerde waarde wordt gecast naarBasicHttpBinding
. -
Stel het veld
MessageEncoding
van hetSystem.ServiceModel.BasicHttpBinding
-object in opWSMessageEncoding.Mtom
. Deze waarde zorgt ervoor dat MTOM wordt gebruikt. -
Laat basisauthentificatie van HTTP door de volgende taken uit te voeren toe:
- Wijs de gebruikersnaam van het AEM aan het veld
AssemblerServiceClient.ClientCredentials.UserName.UserName
toe. - Wijs de bijbehorende wachtwoordwaarde toe aan het veld
AssemblerServiceClient.ClientCredentials.UserName.Password
. - Wijs de constante waarde
HttpClientCredentialType.Basic
toe aan het veldBasicHttpBindingSecurity.Transport.ClientCredentialType
. - Wijs de constante waarde
BasicHttpSecurityMode.TransportCredentialOnly
toe aan het veldBasicHttpBindingSecurity.Security.Mode
.
- Wijs de gebruikersnaam van het AEM aan het veld
-
-
Verwijs naar een bestaand DDX-document.
- Maak een
BLOB
-object met behulp van de constructor. HetBLOB
-object wordt gebruikt om het DDX-document op te slaan. - Maak een
System.IO.FileStream
-object door de constructor ervan aan te roepen en een tekenreekswaarde door te geven die de bestandslocatie van het DDX-document en de modus waarin het bestand moet worden geopend, vertegenwoordigt. - Maak een bytearray waarin de inhoud van het object
System.IO.FileStream
wordt opgeslagen. U kunt de grootte van de bytearray bepalen door de eigenschapLength
van het objectSystem.IO.FileStream
op te halen. - Vul de bytearray met streamgegevens door de methode
Read
van het objectSystem.IO.FileStream
aan te roepen en de bytearray, de startpositie en de lengte van de stream door te geven om te lezen. - Vul het object
BLOB
door de eigenschapMTOM
ervan toe te wijzen met de inhoud van de bytearray.
- Maak een
-
Stel uitvoeringsopties in om het DDX-document te valideren.
- Maak een
AssemblerOptionSpec
-object dat uitvoeringsopties opslaat met behulp van de bijbehorende constructor. - Stel de runtime-optie in die de Assembler-service opgeeft het DDX-document te valideren door de waarde true toe te wijzen aan het
validateOnly
-gegevenslid van hetAssemblerOptionSpec
-object. - Stel de hoeveelheid informatie in die de Assembler-service naar het logbestand schrijft door een tekenreekswaarde toe te wijzen aan het
logLevel
-gegevenslid van hetAssemblerOptionSpec
-object. methode Bij het valideren van een DDX-document wilt u meer informatie naar het logbestand schrijven dat u helpt bij het validatieproces. Hierdoor kunt u de waardeFINE
ofFINER
opgeven. Voor informatie over de runtime opties die u kunt plaatsen, zie deAssemblerOptionSpec
klassenverwijzing in AEM Forms API Verwijzing.
- Maak een
-
Voer de validatie uit.
Roep de methode
invokeDDX
van het objectAssemblerServiceClient
aan en geef de volgende waarden door:- Een
BLOB
-object dat het DDX-document vertegenwoordigt. - De waarde
null
voor hetMap
-object waarin gewoonlijk PDF-documenten worden opgeslagen. - Een
AssemblerOptionSpec
-object dat uitvoeringsopties opgeeft.
De methode
invokeDDX
retourneert eenAssemblerResult
-object dat informatie bevat die opgeeft of het DDX-document geldig is. - Een
-
Sla de validatieresultaten op in een logbestand.
- Maak een
System.IO.FileStream
-object door de constructor ervan aan te roepen en een tekenreekswaarde door te geven die de bestandslocatie van het logbestand en de modus voor het openen van het bestand vertegenwoordigt. Controleer of de bestandsnaamextensie .xml is. - Maak een
BLOB
-object dat logboekgegevens opslaat door de waarde van het gegevenslid van hetAssemblerResult
objectjobLog
op te halen. - Maak een bytearray waarin de inhoud van het object
BLOB
wordt opgeslagen. Vul de bytearray met de waarde van het veldMTOM
van het objectBLOB
. - Maak een
System.IO.BinaryWriter
-object door de constructor ervan aan te roepen en hetSystem.IO.FileStream
-object door te geven. - Schrijf de inhoud van de bytearray naar een PDF-bestand door de methode
Write
van het objectSystem.IO.BinaryWriter
aan te roepen en de bytearray door te geven.
OPMERKING
Als het DDX-document ongeldig is, wordt eenOperationException
gegenereerd. Binnen de catch-instructie kunt u de waarde van hetjobLog
-lid van hetOperationException
-object ophalen. - Maak een