Ich habe keine Ahnung, was Rahmen oder Sprache, die Sie verwenden, aber ich bin prettry sicher, dass dies ein Problem mit dem falschen Gebrauch davon .
Die SOAP-Antwort, dass Sie von diesem Anruf bekommen sollte nun wie folgt
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://api.service.softlayer.com/soap/v3.1/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<SOAP-ENV:Header>
<ns1:totalItems>
<amount>7</amount>
</ns1:totalItems>
</SOAP-ENV:Header>
<SOAP-ENV:Body>
<ns1:getGlobalIpRecordsResponse>
<getGlobalIpRecordsReturn SOAP-ENC:arrayType="ns1:SoftLayer_Network_Subnet_IpAddress_Global[7]" xsi:type="ns1:SoftLayer_Network_Subnet_IpAddress_GlobalArray">
<item xsi:type="ns1:SoftLayer_Network_Subnet_IpAddress_Global">
<description xsi:nil="true"/>
<destinationIpAddressId xsi:nil="true"/>
<id xsi:type="xsd:int">11111</id>
<ipAddressId xsi:type="xsd:int">22222</ipAddressId>
<typeId xsi:type="xsd:int">1</typeId>
</item>
</getGlobalIpRecordsReturn>
</ns1:getGlobalIpRecordsResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
somethign sein, wie Sie die Daten erhalten von der Antwort auf die Sprache oder Rahmen ab, die Sie verwenden, wie die Antwort a XML in einigen Sprachen müssen Sie durch die Tags des XML z. B. navigieren So
result->{Body}->{getGlobalIpRecordsResponse}->{getGlobalIpRecordsReturn }->[0]->{id}
Ich empfehle Sie sicherstellen, wie Sie Ihre Sprache oder Rahmen, um Sie über die SOAP-Antwort navigieren können, da zur Zeit das Problem, das Sie bekommen, wegen der falschen Art und Weise ist, dass Sie versuchen, die für den Zugriff auf Daten.
Nun, wenn Sie die Softlayer Perl-Client verwenden, sollten Sie etwas wie folgt verwenden:
my $client = SoftLayer::API::SOAP->new('SoftLayer_Account', undef, $api_username, $api_key);
my $output = $client->getGlobalIpRecords();
print $output->result->[0]->{'id'};
Wie Sie sehen können hängt alles davon ab, welche lenguage und Rahmen Sie verwenden
auch, falls Sie Wenn Sie Perl verwenden, dass der Fehler darauf zurückzuführen ist, dass das Ergebnis leer ist, müssen Sie in diesem Fall sicherstellen, dass dies nicht leer ist. Weitere Informationen finden Sie unter Error: Can't use an undefined value as an ARRAY reference.
Grüße
Willkommen bei [so]! Auf dieser Seite wird von Ihnen erwartet, dass Sie versuchen, den Code selbst zu schreiben **. Nach ** [weitere Recherchen durchführen] (// meta.stackoverflow.com/questions/261592)** Wenn du ein Problem hast, kannst du ** alles posten, was du versucht hast ** mit einer ** klaren Erklärung dessen, was isn ' t funktioniert ** und liefert ein [** minimales, vollständiges und verifizierbares Beispiel **] (// stackoverflow.com/help/mcve). Ich schlage vor, eine gute Frage und die perfekte Frage zu lesen (http://codeblog.jonskeet.uk/2010/08/29/writing-the-perfect-question/). Achten Sie auch darauf, die [Tour] zu nehmen und ** [this] (// meta.stackoverflow.com/questions/347937/)** zu lesen. – Badacadabra