Examples using the GV Console

From GreenVulcano Wiki
Jump to: navigation, search

Description

This section shows how to deploy and test a new service using the GV Console® using the ValidateXMLFiles and ValidateSingleXMLFile services, presented in the section First projects.

ValidateXMLFiles and ValidateSingleXMLFile example scopes are:

  • Reading XML files from a directory of inputs:
    We have into the directory ${{gv.app.home}}/TEST/TESTFS/TestXML/input the following files:
  • XML1.xml
<?xml version="1.0" encoding="UTF-8"?>
<list xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:noNamespaceSchemaLocation="ValidateXML.xsd">
  <element>
    <child1>string 1</child1>
    <child2>string 2</child2>
    <child3>string 3</child3>
  </element>
</list>
  • XML2.xml
<?xml version="1.0" encoding="UTF-8"?>
<list xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:noNamespaceSchemaLocation="ValidateXML.xsd">
  <element>
    <child1>string 1</child1>
    <child2>string 2</child2>
    <child4>BAD string 4</child4>
  </element>
</list>
  • XML3.xml.
<?xml version="1.0" encoding="UTF-8"?>
<list xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:noNamespaceSchemaLocation="ValidateXML.xsd">
  <element>
    <child1>string 1</child1>
    <child2>string 2</child2>
    <child3>string 3</child3>
  </element>
</list>
  • Validating the read files using a predefined schema:
    Files XML1.xml, XML2.xml and XML3.xml will be validated using the schema "ValidateXML.xsd" present in ${{gv.app.home}}/xmlconfig/xsds directory.
  • ValidateXML.xsd
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
  <xs:element name="list">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="element" type="element" minOccurs="0" maxOccurs="5"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>

  <xs:complexType name="element">
    <xs:sequence>
      <xs:element name="child1" type="xs:string"/>
      <xs:element name="child2" type="xs:string"/>
      <xs:element name="child3" type="xs:string" minOccurs="0" maxOccurs="2"/>
    </xs:sequence>
  </xs:complexType>
</xs:schema>
  • Coping valid and invalid files in two separated directories: We have prepared the directories
  • ${{gv.app.home}}/TEST/TESTFS/TestXML/validated where files successful validated will be moved
  • ${{gv.app.home}}/TEST/TESTFS/TestXML/discarded where files fail validated will be moved
  • Saving a file <filename>.result with the <filename> validation error message

GV Console Configuration

Deploy new Service

Suppose you have saved the VulCon Configuration file as "${{gv.app.home}}/TEST/REPG1.zip". To deploy the new Services follow this steps:

  1. Start GreenVulcano® ESB
  2. Access to the GV Console.
  3. In the Deploy New Service section click Sfoglia... (Browse) and select the file where you have saved the VulCon configuration.
  4. Click Submit.

The section Deploy Services will be open. In this section you can select the services you want to deploy.

  1. Clicking on service ValidateXMLFiles a new view will be open containing the files GVCore.xml present in local and in server.
  2. Click Deploy. Now you can save the document and write some notes about it.
  3. Save the Document. Saving you return to the Deploy Service section.
  4. Repeat operations 1, 2 and 3, now with the service ValidateSingleXMLFile
GV Console Utility section

Now pass to the GV Console section Utility.

  1. Click on Reload configuration
  2. Select GVCore.xml and then Reload. A new windows will be open to confirm the operation
  3. Click OK.
GV Console Testing section

Go to the GV Console section Testing. In this section you can finally test your new services:

  1. Into the Service voice select ValidateXMLFiles
  2. Into the System voice select GVESB
  3. Click RequestReply

As you see, the Test View was expanded and it is also possible to view the Test output where there are present some properties, among those the GVFSM_EXISTING_FILES property setted to 3. But let us see what happened in our File System:

  1. In ${{gv.app.home}}/TEST/TESTFS/TestXML/input there are no files.
  2. In ${{gv.app.home}}/TEST/TESTFS/TestXML/validated files XML1.xml and XML3.xml were moved into.
  3. In ${{gv.app.home}}/TEST/TESTFS/TestXML/discarded file XML2.xml were moved into and a report file named XML2.xml.result was created:
it.greenvulcano.gvesb.core.exc.GVCoreOutputServiceException: 
GVCORE_OUTPUT_SERVICE_ERROR [it.greenvulcano.gvesb.core.exc.GVCoreOutputServiceException]:
id=read_validate_file, service=ValidateXML, 
exception=GVCORE_VCL_OPERATION_ERROR [it.greenvulcano.gvesb.core.exc.GVCoreException]: 
id=read_validate_file, exception=GV_CALL_SERVICE_ERROR [it.greenvulcano.gvesb.virtual.CallException]:
service=ValidateSingleXMLFile, system=GVESB, id=7F0001014F37C2F400021D84, 
message=cvc-complex-type.2.4.a: Invalid content was found starting with element 'child4'.
 One of '{child3}' is expected.