gpt4 book ai didi

php - 为 SOAP 服务器创建 WSDL 文件

转载 作者:可可西里 更新时间:2023-10-31 22:47:54 24 4
gpt4 key购买 nike

我是整个 Web 服务的新手,所以我会尽可能多地解释我的问题。

我用 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:

<xml>
<ORDER>
<ORDERNR>9nmf997d997701e15e30edac107b3664</ORDERNR>
<STATE>1</STATE>
<TIMESTAMP>123456789</TIMESTAMP>
</ORDER>
<ORDER>
<ORDERNR>9nmb1c3d4dfb067c04497ea51bd50d06</ORDERNR>
<STATE>0</STATE>
<TIMESTAMP>987654321</TIMESTAMP>
</ORDER>
</xml>

现在,我需要做的是为服务的“描述”创建简单的 WSDL 文件。我必须说我对整个 Web 服务领域知之甚少,因此我将不胜感激。

我熟悉W3C文档http://www.w3schools.com/webservices/ws_wsdl_documents.asp

提前谢谢你。

更新:我尝试搜索一些 WSDL 生成器,但似乎都没有用。

最佳答案

已解决

一个名为 PhpWsdl 的简单库可以解决问题。

https://code.google.com/p/php-wsdl-creator/

关于php - 为 SOAP 服务器创建 WSDL 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21475828/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com