【问题标题】:Error: Fatal error: Uncaught SoapFault exception: [WSDL] SOAP-ERROR错误:致命错误:未捕获的 SoapFault 异常:[WSDL] SOAP-ERROR
【发布时间】:2015-10-15 03:46:59
【问题描述】:

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

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

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

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

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

谁能帮帮我? 我会永远感激不尽。

这是我的文件

<?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";
              }
            }
   }
    ?>

请!!有人可以帮帮我吗?

【问题讨论】:

    标签: php web-services soap wsdl


    【解决方案1】:

    在我的机器上运行良好。您是否有与上述 wsdl 的网络连接?当您将 wsdl URL 粘贴在浏览器中时会发生什么?

    【讨论】:

    • 如果我将该 URL 粘贴在浏览器中,它会显示带有值的页面。我真的不知道会发生什么!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-10
    • 2018-04-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多