getDatabaseXML
Genel Bilgi
| Özellik |
Değer |
| Endpoint Adı |
getDatabaseXML |
| SOAPAction |
urn:WebticariService#getDatabaseXML |
| Açıklama |
Belirtilen tablonun yapısını (sütunlar, tipler, kısıtlamalar) XML formatında döner. Şema keşfi ve entegrasyon geliştirme aşamasında kullanılır. |
| Kimlik Doğrulama Gerektirir |
Hayır |
İstek Parametreleri
| Parametre |
Tip |
Zorunlu |
Açıklama |
dbName |
xsd:string |
Evet |
Veritabanı adı; yalnızca 200300 veya progdbos kabul edilir |
Yanıt Parametreleri
| Parametre |
Tip |
Açıklama |
return |
xsd:string |
Tablo şemasını açıklayan XML string |
Yanıt Örneği
<database>
<rows>
<row>CREATE TABLE `tburun` (`ur_no` int(11) NOT NULL AUTO_INCREMENT, `ur_kod` varchar(30) NOT NULL, ...)</row>
<row>INSERT INTO `tburun`(`ur_no`,`ur_kod`,...) VALUES (1,'STK001',...)</row>
<!-- Her tablo için önce CREATE TABLE, ardından tüm INSERT INTO satırları gelir -->
</rows>
<triggers>
<trigger><![CDATA[CREATE TRIGGER trg_tburun_insert BEFORE INSERT ON tburun FOR EACH ROW ...;]]></trigger>
</triggers>
</database>
Örnek SOAP İstek
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:tns="urn:WebticariService">
<soapenv:Header/>
<soapenv:Body>
<tns:getDatabaseXML>
<dbName>progdbos</dbName>
</tns:getDatabaseXML>
</soapenv:Body>
</soapenv:Envelope>
Notlar
- Token gerektirmez; ancak
dbName değeri yalnızca '200300' veya 'progdbos' olabilir. Başka bir değer gönderilirse 'This is a invalid request.' yanıtı döner.
200300 için sistem dahili olarak login('200300','admin','admin') çağrısı yapar.
- Yanıt;
CREATE TABLE ve INSERT INTO ifadelerini içeren <rows> bloğu ile CDATA formatında SQL trigger tanımlarını içeren <triggers> bloğundan oluşur.
- Bu endpoint geliştiricilere şema ve veri yapısı hakkında bilgi verir.
importDataSql ile birlikte kullanılarak dinamik SQL işlemleri yapılabilir.
- Dikkat: Bu endpoint hassas şema bilgisi döndürdüğünden yalnızca yetkili entegrasyon sistemlerine açılmalıdır.