我是整个网络服务的新手,所以我会尽可能地解释我的问题到目前为止我能理解它.
我在PHP中创建了Soap服务器:
try { $server = new SOAPServer( 'webservice.wsdl', array( 'uri' => 'http://example.com/soap/server.php' ) ); $server->setClass('soap'); $server->handle(); } catch (SOAPFault $f) { print $f->faultstring; }
然后我有一个服务器的Soap类:
class soap { public function sendOrders($sXml) { $oXml = new SimpleXMLElement($sXml); $sOrder = $oXml->children(); $sResult = ''; foreach ($sOrder as $OrderRow) { $sOrderNr = $OrderRow->ORDERNR; $sState = $OrderRow->STATE; $sTimestamp = $OrdeRow->TIMESTAMP; $oOrder = new Order; $oOrder->load($sOrderNr); if ($sState == 1) { $oOrder->checkStatusChange('Approved', $oOrder); $oOrder->{$oOrder->getCoreTableName() . '__status'} = new Field('Approved'); $sResult .= $sOrderNr . " 1 | "; } elseif ($sState == 0) { $oOrder->checkStatusChange('Declined', $oOrder); $oOrder->{$oOrder->getCoreTableName() . '__status'} = new Field('Declined'); $sResult .= $sOrderNr . " 0 | "; } $oOrder->save(); } return $sResult; } }
我有一个测试客户端,它使用以下格式发送简单的XML:
9nmf997d997701e15e30edac107b3664 1 123456789 9nmb1c3d4dfb067c04497ea51bd50d06 0 987654321
现在,我需要做的是为服务的"描述"创建简单的WSDL文件.我必须说我对整个Web服务领域有一点了解,所以我将不胜感激任何帮助.
我熟悉W3C文档http://www.w3schools.com/webservices/ws_wsdl_documents.asp
先感谢您.
更新:我试图找到一些WSDL生成器,似乎都没有工作.
解决了
一个名为PhpWsdl的简单库就行了.
https://code.google.com/p/php-wsdl-creator/