ウィザードを使用してVisualStudioでC#アプリケーションにインポートできるSOAPサーバーをZF2アプリケーションで作成しようとしています。私はすでにサービスを作成し、soapUIを使用してテストしました。私はsoapUIでWS-Iコンプライアンステストを実行し、サービスはそれに合格しました。ただし、Visual C#Express 2008を使用してサービスをC#アプリケーションに追加しようとすると、HTMLドキュメントにWebサービス検出情報が含まれていないと表示されます。
ZF2コントローラーで使用しているコードは次のとおりです。
public function exampleAction() {
if (isset($_GET['wsdl'])) {
$soapAutoDiscover = new AutoDiscover();
$soapAutoDiscover->setBindingStyle(array('style' => 'document'));
$soapAutoDiscover->setOperationBodyStyle(array('use' => 'literal'));
$soapAutoDiscover->setClass('SoapClass');
$soapAutoDiscover->setUri($serverUrl);
echo $soapAutoDiscover->generate()->toXml();
} else {
$soap = new Server($serverUrl . '?wsdl');
$soap->setClass('SoapClass');
$soap->handle();
}
}
これはSoapClassクラスです。
class SoapClass{
/**
* returns the sum of two parameters
* @param int $a
* @param int $b
* @return int
*/
public function sum ($a, $b){
return $a + $b;
}
/**
* twice function doc
* @param int $a
* @return int
*/
public function twice($a){
return $a * 2;
}
}
何か案は?