Example: Getting Started[Link]

Using the following flow, you should be able to send your first command to the EPP server.

Prerequisites[Link]

  • Make sure your (external) IP address is configured on the Registrar website.

  • Download the EPP GUI and the example XML commands.

  • You should have at least Java 8 installed on your PC.

  • You should install the Java Cryptography Extension (JCE) for your version of Java.

Example[Link]

Extract the downloaded zip file for the EPP GUI. Start the EPP GUI from command line:

$ java -jar epp-gui.jar

Enter Host and Port in the interface:

Host: epp.tryout.registry.be
Port: 33128

Click on “Connect + Receive”.

You have now established a connection with the EPP server. The output section should contain a greeting.

Enter the login command in the Input section:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="urn:ietf:params:xml:ns:epp-1.0
     epp-1.0.xsd">
  <command>
    <login>
      <clID>agentid</clID>
      <pw>password</pw>
      <options>
        <version>0.9</version>
        <lang>en</lang>
      </options>
      <svcs>
        <objURI>urn:ietf:params:xml:ns:domain-1.0</objURI>
        <objURI>urn:ietf:params:xml:ns:contact-1.0</objURI>
        <svcExtension>
          <extURI>http://www.dns.be/xml/epp/dnsbe-1.0</extURI>
          <extURI>http://www.dns.be/xml/epp/nsgroup-1.0</extURI>
          <extURI>urn:ietf:params:xml:ns:secDNS-1.1</extURI>
          <extURI>http://www.dns.be/xml/epp/keygroup-1.0</extURI>
        </svcExtension>
      </svcs>
    </login>
  </command>
</epp>

Click on “Send + Receive”.

You should receive a “login succeeded” response in the Output section:

<?xml version="1.0" encoding="UTF-8"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0" xmlns:dnsbe="http://www.dns.be/xml/epp/dnsbe-1.0">
  <response>
    <result code="1000">
      <msg>Command completed successfully</msg>
    </result>
    <extension>
      <dnsbe:ext>
        <dnsbe:result>
          <dnsbe:msg>login succeeded</dnsbe:msg>
        </dnsbe:result>
      </dnsbe:ext>
    </extension>
    <trID>
      <svTRID>dnsbe-0</svTRID>
    </trID>
  </response>
</epp>

Now you can start sending other commands, e.g. create-contact:

<?xml version="1.0" encoding="UTF-8"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
  <command>
    <create>
      <contact:create xmlns:contact="urn:ietf:params:xml:ns:contact-1.0" xsi:schemaLocation="urn:ietf:params:xml:ns:contact-1.0 contact-1.0.xsd">
        <contact:id>you_choose_it</contact:id>
        <contact:postalInfo type="loc">
          <contact:name>Eric Paul Peeters</contact:name>
          <contact:org>EPP Company</contact:org>
          <contact:addr>
            <contact:street>Naamsestraat 78</contact:street>
            <contact:street>bus 5</contact:street>
            <contact:city>Leuven</contact:city>
            <contact:pc>3000</contact:pc>
            <contact:cc>BE</contact:cc>
          </contact:addr>
        </contact:postalInfo>
        <contact:voice>+32.16345656</contact:voice>
        <contact:email>eric.peeters@example.com</contact:email>
        <contact:authInfo>
          <contact:pw>petroleum</contact:pw>
        </contact:authInfo>
      </contact:create>
    </create>
    <extension>
      <dnsbe:ext xmlns:dnsbe="http://www.dns.be/xml/epp/dnsbe-1.0" xsi:schemaLocation="http://www.dns.be/xml/epp/dnsbe-1.0 dnsbe-1.0.xsd">
        <dnsbe:create>
          <dnsbe:contact>
            <dnsbe:type>licensee</dnsbe:type>
            <dnsbe:vat>3455345645</dnsbe:vat>
            <dnsbe:lang>en</dnsbe:lang>
          </dnsbe:contact>
        </dnsbe:create>
      </dnsbe:ext>
    </extension>
    <clTRID>create-contact-00</clTRID>
  </command>
</epp>

The result is:

<?xml version="1.0" encoding="UTF-8"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0" xmlns:contact="urn:ietf:params:xml:ns:contact-1.0">
  <response>
    <result code="1000">
      <msg>Command completed successfully</msg>
    </result>
    <resData>
      <contact:creData>
        <contact:id>c850629</contact:id>
        <contact:crDate>2016-04-15T14:32:21.538Z</contact:crDate>
      </contact:creData>
    </resData>
    <trID>
      <clTRID>create-contact-00</clTRID>
      <svTRID>dnsbe-1379264</svTRID>
    </trID>
  </response>
</epp>

At the end of your session, log out:

<?xml version="1.0" encoding="UTF-8"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
 <command>
  <logout/>
  <clTRID>logout-00</clTRID>
 </command>
</epp>

And the correct response will be:

<?xml version="1.0" encoding="UTF-8"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
  <response>
    <result code="1500">
      <msg>Command completed successfully; ending session</msg>
    </result>
    <trID>
      <clTRID>logout-00</clTRID>
      <svTRID>dnsbe-0</svTRID>
    </trID>
  </response>
</epp>