How to sending api payload content to bam - wso2-api-manager

I'm using Api Manager Version 1.7.0 and BAM Version 4.2.0: installing API_Manager_Analytics toolbox I have any field values predefined (e.g payload_api, payload_apiPublisher etc...); For the requests I see them in Cassandra DB under EVENT_KS org_wso2_apimgt_statistics_request: how do I get the field values of the requests used to invoke the apis in org_wso2_apimgt_statistics_request? how do I pass the soap body payload content to BAM? Tks Gius

you can write custom data publisher as mentioned here[1] or you can use bam mediator[2] and publish in to separate stream
1.https://nadeesha678.wordpress.com/2015/12/14/how-to-publish-custom-set-of-data-from-api-manager-to-wso2-business-activity-monitor/
2.https://docs.wso2.com/display/ESB481/BAM+Mediator

Related

Retrieve access from Request Connector in Mule Anypoint Studio

I want to store the access token value from request connector separately in variable.
can some one help on it.
using Oauth module 1.1
You can use the <oauth:retrieve-access-token> operation to get the token from the the token manager.
Example:
<oauth:retrieve-access-token tokenManager="tokenManagerConfig" target="accessToken"/>
I recommend to upgrade the module to the latest version available to get bug fixes. 1.1.0 is an old version by now.

RavenDb patch api in embedded version of the server

Is there any difference in patch api in embedded and standard version of the server?
Is there a need to configure document store in some way to enable patch api?
I'm writing a test which use embedded raven. The code works correctly on the standard version but in test it doesn't. I'm constantly receiving patch result: DocumentDoesNotExists. I`ve checked with debugger and the document exists in the store - so it is not a problem with test.
Here you can find a repro of my issue: https://gist.github.com/pblachut/c2e0e227fa3beb51f4f9403505c292bb
I`ve reached the contact in the ravendb support and I have answer for my question.
There should be no difference between embedded and normal version of the server. The problem was that I did not passed explicitly for which database I want to invoke batch command. In the result I tried to patch document in system database.
var result = await documentStore.AsyncDatabaseCommands.ForDatabase("testDb).BatchAsync(new[] {command});
I assumed that database name will be taken from the session (beacuse I get documentStore from there). But the name of database should be always passed.
var documentStore = session.Advanced.DocumentStore;

Kaa - Avro logicalType

I tried to upload an Avro schema file into Kaa. I had a field of type logicalType introduced in the log schema. But after I uploaded and created the log schema, I downloaded and checked the schema. The field logicalType was removed.
Does Kaa support logicalType as supported by Avro? If not, is there any future plans to support it?
Kaa doesn't support logicalType. There are no plans to implement one but you can create a feature request on Kaa JIRA.

AWS PDF upload through http post

I am new to AWS and I am trying to upload a pdf document to S3 trough an AWS API. I am using an HTML form with a post method. The action of the form is the URL of the deployed API. The API is integrated with a lambda function. My question is how can I extract the uploaded file to proceed within the lambda function, to perform some processing before uploading to S3. Is it even possible?
I have tried the instructions found in this post:
Passing HTTP Post from AWS API GW to Lambda
However, I return the event from the lambda function and this is what I get:
{file: file.pdf , acl:private,
success_action_redirect: http://localhost/, AWSAccessKeyId:my_aws_key}
The file I uploaded is called file.pdf.
Any guidance will be appreciated.
A pdf file is a binary format. API Gateway does not currently support binary data. We know that binary data does not work and there are no workarounds to make it work reliably. A number of customers have requested that we add binary support to API Gateway and it is prioritized on our backlog.

DataPower monitoring or validation techniques

How to improve datapower monitoring ? I want to improve our monitoring techniques say for example, want to check that all objects (FSH /MQFSHs, SSl proxy, crypto profile etc) are up and incase if it goes down , should be notified by email or something. checking number of files in file management ondisk folders.Basically validate the adapter after deployment (we use soapUi to test adapter functionality, however something else to improve or added validation).please suggest any ideas that can be implemented as a process improvement on Datapower
For example you can get the status off all your domains using this soma call. You can test this using soap UI. You can get the list of various soma calls using the datapower mgmt wsdl (available in datapower store directory).
<!-- get all the domains -->
<xsl:variable name="domainsList">
<dp:url-open target="{$XML-MGMT-URL}" response="responsecode">
<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
<env:Body>
<dp:request xmlns:dp="http://www.datapower.com/schemas/management">
<dp:get-status class="DomainStatus"/>
</dp:request>
</env:Body>
</env:Envelope>
</dp:url-open>
</xsl:variable>
Try using SOMA commands of XML management interface to check the object status.
I am not sure if this is the best approach but this is how i have implemented it. You can always create a testing service in DataPower with/without interactive java application to perform all the soap test you are performing using soapUI. You can perform SOMA/AMP calls to check the status of objects, ping external services, etc. You can schedule these test on a regular interval or manual.
Depending how you set it up, you can either generate an email with status of each object/service you are testing or create a html dashboard that records the current status of everything.

Resources