错误:致命错误:未捕获的SoapFault异常:[WSDL] SOAP-ERROR

时间:2015-07-24 12:53:15

标签: php web-services soap wsdl

我尝试将pdf文件转换为图片。

我检查了这个website,并按照所有步骤说明进行操作。

1.obtain an api license key
2.download the API Class
3.Deploy the php file
4.create my pdf file

但是当我运行我的文件时发生了这个错误:

  • ERROR

    致命错误:未捕获的SoapFault异常:[WSDL] SOAP-ERROR:解析WSDL:无法从' http://apis.pdfaid.com/pdfaidservices/Service1.svc?wsdl'加载:未能加载外部实体" http://apis.pdfaid.com/pdfaidservices/Service1.svc?wsdl"在C:\ xampp \ htdocs \ Web_V2 \ PdfaidServices.php:128堆栈跟踪:#0 C:\ xampp \ htdocs \ Web_V2 \ PdfaidServices.php(128):SoapClient-> SoapClient(' {{3} } ...',Array)#1 C:\ xampp \ htdocs \ Web_V2 \ teste_1.php(32):Pdf2Jpg-> Pdf2Jpg()#2 {main}抛出C:\ xampp \ htdocs \第128行的Web_V2 \ PdfaidServices.php

粗体代码的一部分是引发错误

的地方

有人可以帮我吗? 我会永远感激不尽。

这是我的档案

<?php 
include 'PdfaidServices.php';
$myPdf2Jpg = new Pdf2Jpg();
$myPdf2Jpg->apiKey = "xxxxxxxxxx";
$myPdf2Jpg->inputPdfLocation = "pdf_file.pdf";
$myPdf2Jpg->outputZipLocation = "UploadedPdf/pdf2jpg.zip";
$myPdf2Jpg->outputImageFormat = ".jpg";
$myPdf2Jpg->imageQuality = 50;
$result = $myPdf2Jpg->Pdf2Jpg();

?>

这是错误发生的API类PdfaidServices.php

 <?php
   class Xps2PdfConverter
   {
        public $apiKey = "";
        public $inputXpsLocation = "";
        public $outputPdfLocation = "";
        public $pdfAuthor = "";
        public $pdfTitle = "";
        public $pdfSubject = "";
        public $pdfKeywords = "";

            function Xps2PdfConvert()
            { 
              if($this->apiKey == "")
              return "Please specify ApiKey";
              if($this->outputPdfLocation == "")
              return "Please specify location to save output Pdf";
              if($this->inputXpsLocation == "")
              return "Please specify input XPS file Location";
              else
              {
                $fileStream = file_get_contents($this->inputXpsLocation);
              }

              $parameters = array("FileByteStream" => $fileStream);
              $wsdl = "http://apis.pdfaid.com/pdfaidservices/Service1.svc?wsdl";
              $endpoint = "http://apis.pdfaid.com/pdfaidservices/Service1.svc";
              $option=array('trace'=>1);
              $client = new SoapClient($wsdl, $option);

              $headers[] = new SoapHeader('http://tempuri.org/', 'apikey', $this->apiKey);
              $headers[] = new SoapHeader('http://tempuri.org/', 'pdfTitle', $this->pdfTitle);
              $headers[] = new SoapHeader('http://tempuri.org/', 'pdfAuthor', $this->pdfAuthor);
              $headers[] = new SoapHeader('http://tempuri.org/', 'pdfSubject', $this->pdfSubject);
              $headers[] = new SoapHeader('http://tempuri.org/', 'pdfKeywords', $this->pdfKeywords);
              $headers[] = new SoapHeader('http://tempuri.org/', 'responseResult', "test");   
              $client->__setSoapHeaders($headers);

              $result = $client->Xps2Pdf($parameters);
              $clientResponse = $client->__getLastResponse();

              if($clientResponse == "APINOK")
              return "API is not Valid";
              if($clientResponse == "NOK")
              return "Error Occured";
              else
              {
                $fp = fopen($this->outputPdfLocation, 'wb');
                fwrite($fp, $result->FileByteStream);
                fclose($fp);
                return "OK";
              }
            }
   }

   class Pdf2Jpg
   {
        public $apiKey = "";
        public $outputImageFormat = "";
        public $inputPdfLocation = "";
        public $outputZipLocation = "";
        public $imageQuality = 50;

            function Pdf2Jpg()
            { 
              if($this->apiKey == "")
              return "Please specify ApiKey";
              if($this->outputImageFormat == "")
              return "Please specify Output Image Format";
              if($this->outputZipLocation == "")
              return "Please specify Output Zip File Location";
              if($this->inputPdfLocation == "")
              return "Please specify input Pdf file Location";
              else
              {
                $fileStream = file_get_contents($this->inputPdfLocation);
              }
              $parameters = array("FileByteStream" => $fileStream);
              $wsdl = "http://apis.pdfaid.com/pdfaidservices/Service1.svc?wsdl";
              $endpoint = "http://apis.pdfaid.com/pdfaidservices/Service1.svc";
              $option=array('trace'=>1);

$ client = new SoapClient($ wsdl,$ option);

              $headers[] = new SoapHeader('http://tempuri.org/', 'apikey', $this->apiKey);
              $headers[] = new SoapHeader('http://tempuri.org/', 'outputFormat', $this->outputImageFormat);
              $headers[] = new SoapHeader('http://tempuri.org/', 'imageQuality', $this->imageQuality);
              $headers[] = new SoapHeader('http://tempuri.org/', 'responseResult', "test");
              $client->__setSoapHeaders($headers);

              $result = $client->Pdf2Jpg($parameters);
              $clientResponse = $client->__getLastResponse();

              if($clientResponse == "APINOK")
              return "API is not Valid";
              if($clientResponse == "NOK")
              return "Error Occured";
              else
              {
                $fp = fopen($this->outputZipLocation, 'wb');
                fwrite($fp, $result->FileByteStream);
                fclose($fp);
                return "OK";
              }
            }
   }
    ?>

请!!有人可以帮我吗?

1 个答案:

答案 0 :(得分:0)

从我的机器上正常工作。你有与所述wsdl的网络连接吗?将wsdl URL粘贴到浏览器中会发生什么?