我正在尝试在我的 ZF2 应用程序中创建一个 SOAP 服务器,我可以使用向导使用 Visual Studio 将它导入到 C# 应用程序中。我已经创建了服务并使用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;
}
}
有任何想法吗?