0

PHPでInfoPathフォームを使用しようとしています。そのため、zendフレームワークsoapライブラリを使用したチュートリアルを使用してWebサービスを作成しました。

require("Zend/Soap/Server.php");
require("Zend/Soap/Wsdl.php");
require("Zend/Soap/Wsdl/Strategy/ArrayOfTypeComplex.php");
require("Zend/Soap/AutoDiscover.php");


$serviceURL = 'http://localhost/zendwebservice/';

class MyService {

    function GetCoupons($UserID) {
        // do some work here

    }
}

// Generate WSDL relevant to code
if (isset($_GET['wsdl']) || isset($_GET['WSDL'])){
    $autodiscover = new Zend_Soap_AutoDiscover('Zend_Soap_Wsdl_Strategy_ArrayOfTypeComplex');
    $autodiscover->setClass('MyService');
    $autodiscover->handle();
} else {
    $server = new Zend_Soap_Server($serviceURL . "?WSDL");
    $server->setClass('MyService');
    $server->setObject(new MyService());
    $server->handle();
}

次に、infopathデータ接続ウィザードを使用してWebサービスを実行しようとしましたが、これらのエラーが発生します

InfoPath cannot find and cannot access the specified Web service description.

Details:
SoapMapper:The SoapMapper for element Array could not be created.
 - WSDLOperation:Initialization of a SoapMapper for operation GetCoupons failed. 
 - WSDLOperation:Initializing of the output message failed for operation GetCoupons. 
 - WSDLPort:An operation for port MyServicePort could not be initialized.
 - WSDLPort:Analyzing the binding information for port MyServicePort failed. 
 - WSDLService:Initialization of the port for service MyServiceService failed. 
 - WSDLReader:Analyzing the WSDL file failed. 

私はWebサービスを初めて使用するため、理解できませんでした。すべての助けをありがとう。

4

0 に答える 0