Skip to content

Response->data() bails too early #16

@johnny-bit

Description

@johnny-bit

Hi!

Current implementation of Response->data() method bails too early - returns empty response where response from epp has data, but only in extension part.

for example:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="http://www.dns.pl/nask-epp-schema/epp-2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:extreport="http://www.dns.pl/nask-epp-schema/extreport-2.0" xsi:schemaLocation="http://www.dns.pl/nask-epp-schema/epp-2.0 epp-2.0.xsd">
    <response>
        <result code="1000">
            <msg lang="en">Command completed successfully</msg>
        </result>
        <extension>
            <extreport:reportData xmlns:extreport="http://www.dns.pl/nask-epp-schema/extreport-2.0" xsi:schemaLocation="http://www.dns.pl/nask-epp-schema/extreport-2.0 extreport-2.0.xsd">
                <extreport:domDataRsp>
                    <extreport:domData>
                        <extreport:name>example1.pl</extreport:name>
                        <extreport:roid>1234-NASK</extreport:roid>
                        <extreport:exDate>2007-03-18T23:00:00.0Z</extreport:exDate>
                        <extreport:statuses>
                            <extreport:status>serverHold</extreport:status>
                        </extreport:statuses>
                    </extreport:domData>
                </extreport:domDataRsp>
                <extreport:offset>0</extreport:offset>
                <extreport:limit>1</extreport:limit>
                <extreport:size>2</extreport:size>
            </extreport:reportData>
        </extension>
        <trID>
            <svTRID>WI4332607665</svTRID>
        </trID>
    </response>
</epp>

This is due to

        $nodes = $this->get('//epp:epp/epp:response/epp:resData');
        if ($nodes === false || !($nodes instanceof DOMNodeList) || $nodes->length === 0 || !$nodes->item(0)->hasChildNodes()) {
            return;
        }

I'll write something that seems sane in a bit. Tossing this here so I don't forget 😉

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions