We are trying to identify all inbound api services exposed by our adobe campaign classic. At present we use two main api interfaces.
Is there an easy way to get a list of available api's for external users?
Solved! Go to Solution.
Views
Replies
Total Likes
Hi,
I think you have the 2 main ways to expose APIs from Adobe Campaign.
One other way to expose content from ACC is to publish webForm/webApp/report, but it seems difficult to me to use it as API.
Here a code to list all the methods of your instance schemas (but it'll always go through the soaprouter.jsp url). You can execute it in a javascript into a workflow.
var query = xtk.queryDef.create("<queryDef schema='xtk:schema' fullLoad='true' operation='select'><where><condition expr=\"data NOT LIKE '%' + 'extendedSchema="' + '%'\"/></where><orderBy> <node expr='[@namespace]||[@name]'/></orderBy></queryDef>");
var schemas = query.ExecuteQuery();
for each ( var schema in schemas.schema)
{
var schemaName = schema.@namespace + ":" + schema.@name;
var methodCollection = schema.methods.method;
for each(method in methodCollection)
logInfo( schemaName + ":" + method.@name + ' (' + (method.@static.toString() == 'true' ? 'static' : 'non static' ) + ') - ' + method.help );
}
You can remove informations from the "logInfo" if not needed. It will output the result to the workflow logs.
Cédric
Hi @Ken_Qrious you can download WSDL file for each schema in AC and import it in SoapUI and you will see the all methods within chosed schema.
You can start from schema xtk:session which has a lot of different APIs.
Regards,
Milan
Views
Replies
Total Likes
Hi,
I think you have the 2 main ways to expose APIs from Adobe Campaign.
One other way to expose content from ACC is to publish webForm/webApp/report, but it seems difficult to me to use it as API.
Here a code to list all the methods of your instance schemas (but it'll always go through the soaprouter.jsp url). You can execute it in a javascript into a workflow.
var query = xtk.queryDef.create("<queryDef schema='xtk:schema' fullLoad='true' operation='select'><where><condition expr=\"data NOT LIKE '%' + 'extendedSchema="' + '%'\"/></where><orderBy> <node expr='[@namespace]||[@name]'/></orderBy></queryDef>");
var schemas = query.ExecuteQuery();
for each ( var schema in schemas.schema)
{
var schemaName = schema.@namespace + ":" + schema.@name;
var methodCollection = schema.methods.method;
for each(method in methodCollection)
logInfo( schemaName + ":" + method.@name + ' (' + (method.@static.toString() == 'true' ? 'static' : 'non static' ) + ') - ' + method.help );
}
You can remove informations from the "logInfo" if not needed. It will output the result to the workflow logs.
Cédric
Views
Replies
Total Likes
Views
Likes
Replies