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サービスを初めて使用するため、理解できませんでした。すべての助けをありがとう。