如何使用goDaddy API检查域名可用性

时间:2015-04-11 14:03:16

标签: xml web-services soap

我在goDaddy api上做了很多研究,并得到了一些链接。尽管我已经遵循了各种流程来执行此操作。

我尝试过的基本命令如下:

curl --verbose -X POST --header 'Content-Type: text/xml' --header "SOAPAction: \"http://wildwestdomains.com/webservices/Describe\"" --data '<?xml version="1.0" encoding="utf-8"?><soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><soap:Body><CheckAvailability xmlns="http://wildwestdomains.com/webservices/"><credential><Account>********</Account><Password>******</Password></credential><sCLTRID>'reseller.000000001'</sCLTRID><sDomainArray><string>example.biz</string><string>example.us</string></sDomainArray><sHostArray><string></string><string></string></sHostArray><sNSArray><string></string><string></string></sNSArray></CheckAvailability></soap:Body></soap:Envelope>' "https://api.ote.wildwestdomains.com/wswwdapi/wapi.asmx?WSDL"

在终端上执行此命令后,我得到goDaddy api的正确响应但是这个响应并不是我需要的。它有点像错误。

1 个答案:

答案 0 :(得分:1)

您通过终端发送的请求给我Login credentials failed错误,因此无法在没有凭据的情况下对此进行测试。您还没有提供确切的错误消息。这就是为什么我会就可能导致问题的原因以及如何进一步调查给出一些指示:

  1. 我在您的示例中看到,字段的顺序与WSDL中的顺序不同。这可能导致错误。按照标准,订单确实很重要,所以一定要符合WSDL。
  2. 查看WSDL请求中的任何字段都不是必需的。我不确定此API的声音设计,但这意味着如果您在请求中不需要它们,则可能无法将它们放入。<sting></string>中的空sHostArray标记并且sNSArray可能导致错误。
  3. 尝试使用以下格式的SOAP消息直接调用此操作,以确保您的数据,格式和凭据正确无误:

    <?xml version="1.0" encoding="UTF-8"?>
    <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://wildwestdomains.com/webservices/">
      <SOAP-ENV:Body>
        <ns1:CheckAvailability>
          <ns1:sCLTRID>?</ns1:sCLTRID>
          <ns1:credential>
            <ns1:Account>?</ns1:Account>
            <ns1:Password>?</ns1:Password>
          </ns1:credential>
          <ns1:sDomainArray>
            <ns1:string>?</ns1:string>
          </ns1:sDomainArray>
          <ns1:sHostArray>
            <ns1:string>?</ns1:string>
          </ns1:sHostArray>
          <ns1:sNSArray>
            <ns1:string>?</ns1:string>
          </ns1:sNSArray>
        </ns1:CheckAvailability>
      </SOAP-ENV:Body>
    </SOAP-ENV:Envelope>
    

    你很容易做到from the online SOAP client available here。然后当你设法使它工作时,用CURL做。

    希望这有帮助!