metaregistrar / php-epp-client

Object-oriented PHP EPP Client
https://www.metaregistrar.com/docs/
MIT License
214 stars 159 forks source link

Class 'Metaregistrar\EPP\eppDnssecInfoDomainResponse' not found #124

Closed MichelJonkman closed 6 years ago

MichelJonkman commented 6 years ago

When I try to infodomain.php example using rrpproxy I get the error: Fatal error: Uncaught Error: Class 'Metaregistrar\EPP\eppDnssecInfoDomainResponse' not found in C:\xampp\htdocs\SIDN\libraries\php-epp-client-1.0.4\Protocols\EPP\eppConnection.php on line 800

I have tried including the dnssec extension before hand but that just results in a silent crash of the script.

Is this a bug or am I doing something very wrong?

metaregistrar commented 6 years ago

In rrpproxyEppConnection/eppConnection.php, did you use "parent::enableDnssec();"

This command includes Protocols/EPP/eppExtensions/secDNS-1.1/includes.php, where this function is included.

Please make sure you have the latest version.

MichelJonkman commented 6 years ago

@metaregistrar I just downloaded 1.0.4 and I have not changed that file. I do see that enableDnssec() is called in there. The only thing I changed is that I have added an .ini file for the settings. It also works with the domain name check so the settings aren't the problem

metaregistrar commented 6 years ago

i will test this behaviour with key-systems and find the problem.

MichelJonkman commented 6 years ago

Alright, thank you for the fast responses!

metaregistrar commented 6 years ago

I am unable to reproduce your error: i have connected to key-systems and get a correct infodomain response back for a .COM domain name including DNSSEC data.

<response>
    <result code="1000">
      <msg>Command completed successfully</msg>
    </result>
    <resData>
      <domain:infData xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
        <domain:name>xxxxxxxxxx.com</domain:name>
        <domain:roid>16311478513549_DOMAIN-KEYSYS</domain:roid>
        <domain:status s="ok"></domain:status>
        <domain:registrant>P-TNN1414</domain:registrant>
        <domain:contact type="admin">P-TNN1414</domain:contact>
        <domain:contact type="tech">P-TNN1414</domain:contact>
        <domain:contact type="billing">P-TNN1414</domain:contact>
        <domain:clID>metaregistrar</domain:clID>
        <domain:crID>metaregistrar</domain:crID>
        <domain:crDate>2017-12-06T13:26:45.0Z</domain:crDate>
        <domain:upID>metaregistrar</domain:upID>
        <domain:upDate>2017-12-06T13:26:46.0Z</domain:upDate>
        <domain:exDate>2018-12-06T13:26:45.0Z</domain:exDate>
        <domain:authInfo>
          <domain:pw>xxxxxxxx</domain:pw>
        </domain:authInfo>
      </domain:infData>
    </resData>
    <extension>
      <keysys:resData xmlns:keysys="http://www.key-systems.net/epp/keysys-1.0">
        <keysys:infData>
          <keysys:renDate>2019-01-10T13:26:45.0Z</keysys:renDate>
          <keysys:domain-roid>2196410186_DOMAIN_COM-VRSN</keysys:domain-roid>
          <keysys:renewalmode>DEFAULT</keysys:renewalmode>
          <keysys:transferlock>0</keysys:transferlock>
          <keysys:transfermode>DEFAULT</keysys:transfermode>
        </keysys:infData>
      </keysys:resData>
      <secDNS:infData xmlns:secDNS="urn:ietf:params:xml:ns:secDNS-1.1">
        <secDNS:keyData>
          <secDNS:flags>256</secDNS:flags>
          <secDNS:protocol>3</secDNS:protocol>
          <secDNS:alg>8</secDNS:alg>
          <secDNS:pubKey>AwEAAbWM8nWQZbDZgJjyq+tLZwPLEXfZZjfvlRcmoAVZHgZJCPn/Ytu/iOsgci+yWgDT28ENzREAoAbKMflFFdhc5DNV27TZxhv8nMo9n2f+cyyRKbQ6oIAvMl7siT6WxrLxEBIMyoyFgDMbqGScn9k19Ppa8fwnpJgv0VUemfxGqHH9</secDNS:pubKey>
        </secDNS:keyData>
      </secDNS:infData>
    </extension>
    <trID>
      <clTRID>5a27f016f3140</clTRID>
      <svTRID>512c1fe7-ea49-4b95-8996-a7449adb12ae</svTRID>
    </trID>
MichelJonkman commented 6 years ago

I'm using the infodomain.php in examples with the command "php infodomain.php testing.com". The only thing that I have changed in that file is give a settings.ini with the create() function. That ini looks roughly like this: interface=rrpproxyEppConnection hostname=ssl://epp-ote.rrpproxy.net port=1700 userid=XXXXX password=XXXXXXXXX

Note that I'm using PHP 7.1 but I don't see how that would be relevant with this type of error

metaregistrar commented 6 years ago

I was able to reproduce your error using the infodomain.php script in the Examples directory. Will start debugging now.

MichelJonkman commented 6 years ago

Alright, thank you very much in advance!

metaregistrar commented 6 years ago

The problem is solved in the latest version. Please note that i also made a small change to infodomain.php because it did not report any error back correctly.

MichelJonkman commented 6 years ago

Ok thank you very much, I'll update right away.

MichelJonkman commented 6 years ago

@metaregistrar I tried it out again but now I'm getting the message: "ERROR: Error 2303: Object does not exist" So I still do not get a response.

metaregistrar commented 6 years ago

Are you sure the requested domain name exists with RRPPROXY? This looks like a legitimate error.

MichelJonkman commented 6 years ago

I've just tried it with one that was registered with rrpproxy and it returns the same error

metaregistrar commented 6 years ago

Are you sure the domain name is present on the OTE system?

I tried infodomain.php with a generic test domainname and it returns: Retrieving info on x65qtvs9qeztxq92z9f9.nl Info domain for x65qtvs9qeztxq92z9f9.nl: Created on 2017-12-06T14:29:18.0000Z Last update on 2017-12-06T14:29:18.0000Z Registrant P-TRN4346 Contact info: admin: P-TRN4346 tech: P-TRN4346 billing: P-TRN4346 Nameserver info:

MichelJonkman commented 6 years ago

How do I check that? When I try your domain it returns 2201. I'm sorry if there is anything I'm not getting at all, I'm quite new to all of this

metaregistrar commented 6 years ago

You should login to the OTE system of Key-Systems and see which domain names are already registered.

https://wi-ote.rrpproxy.net/

you cannot domain:info a domain name that is not in your own portfolio. As you are new to this business, i presume that you have no domain names yet on the OTE system.

MichelJonkman commented 6 years ago

It works now thank you! I hadn't realized that the test server didn't have all domain names on it already.

Mops7132 commented 1 year ago

I have downloaded the latest version for php 8 but I have the same issue. Can anyone help me?