Hi,

In this particular implementation for Integration Cloud, we planned to go
with an extension which uses existing information in synapse configurations
without updating synapse code base. Therefore as Maheeka mentioned in [1],
we are going to provide limited information at initial phase. But in long
run, we need to extend this to store all required API definitions in
synapse configurations.

[1] - https://gist.github.com/maheeka/ec23751f21d8d7d5abaa4f9130f233f2

Thanks.

On Thu, Sep 22, 2016 at 8:23 AM, Joseph Fonseka <jos...@wso2.com> wrote:

> Hi
>
> On Tue, Sep 20, 2016 at 4:18 PM, Maheeka Jayasuriya <mahe...@wso2.com>
> wrote:
>
>>
>> Please note these changes were done based on the level of information we
>> have on the API by referring to it's configuration. For example, we do not
>> have a way of determining the request format or uri parameter types and
>> content-types of the API. This will require further digging and analyzing
>> on the configuration.
>>
>
> Have you consider adding additional information as annotations/notes in
> the config. AFAIK we do not have a config to add annotations so currently
> we can define them as properties but going forward may be we can add some
> way to annotate synapse.
>
> In the longer run mostly synapse APIs will be generated out of swagger
> definitions thus having the ability to contain all the API definition
> information in the synapse file would be important.
>
> Thanks
> Jo
>
>
>>
>> Find the diff of these changes done to the Swagger definition at [4]
>>
>> To get the required information from the Rest API configuration we can
>> invoke RestApiAdminServices's getApiByName operation which returns the
>> following response [5] for an API created that has the PetStore resources.
>> We can identify the methods and uri-template and mappings from this
>> response.
>>
>> Please let know your thoughts.
>>
>> Thanks,
>> Maheeka
>>
>> [1] http://petstore.swagger.io/#/pet
>> [2] https://gist.github.com/maheeka/4eaedd2e2e0765959a4166865bf9adf9
>> [3] https://gist.github.com/maheeka/ec23751f21d8d7d5abaa4f9130f233f2
>> [4] https://www.diffchecker.com/xEu0NSNz
>> [5] <soapenv:Envelope xmlns:soapenv="http://schemas.
>> xmlsoap.org/soap/envelope/">
>>    <soapenv:Body>
>>       <ns:getApiByNameResponse xmlns:ns="http://org.apache.axis2/xsd";>
>>          <ns:return xsi:type="ax2476:APIData" xmlns:ax2476="
>> http://api.rest.carbon.wso2.org/xsd"; xmlns:xsi="http://www.w3.org/2
>> 001/XMLSchema-instance">
>>             <ax2476:artifactContainerName xsi:nil="true"/>
>>             <ax2476:context>/pet</ax2476:context>
>>             <ax2476:fileName>PetstoreAPI.xml</ax2476:fileName>
>>             <ax2476:host xsi:nil="true"/>
>>             <ax2476:isEdited>false</ax2476:isEdited>
>>             <ax2476:name>PetstoreAPI</ax2476:name>
>>             <ax2476:port>-1</ax2476:port>
>>             <ax2476:resources xsi:type="ax2476:ResourceData">
>>                <ax2476:contentType xsi:nil="true"/>
>>                <ax2476:faultSeqXml xsi:nil="true"/>
>>                <ax2476:faultSequenceKey xsi:nil="true"/>
>>                <ax2476:inSeqXml xsi:nil="true"/>
>>                <ax2476:inSequenceKey xsi:nil="true"/>
>>                <ax2476:methods>POST</ax2476:methods>
>>                <ax2476:methods>PUT</ax2476:methods>
>>                <ax2476:outSeqXml xsi:nil="true"/>
>>                <ax2476:outSequenceKey xsi:nil="true"/>
>>                <ax2476:protocol>0</ax2476:protocol>
>>                <ax2476:uriTemplate xsi:nil="true"/>
>>                <ax2476:urlMapping>/</ax2476:urlMapping>
>>                <ax2476:userAgent xsi:nil="true"/>
>>             </ax2476:resources>
>>             <ax2476:resources xsi:type="ax2476:ResourceData">
>>                <ax2476:contentType xsi:nil="true"/>
>>                <ax2476:faultSeqXml xsi:nil="true"/>
>>                <ax2476:faultSequenceKey xsi:nil="true"/>
>>                <ax2476:inSeqXml xsi:nil="true"/>
>>                <ax2476:inSequenceKey xsi:nil="true"/>
>>                <ax2476:methods>POST</ax2476:methods>
>>                <ax2476:methods>DELETE</ax2476:methods>
>>                <ax2476:methods>GET</ax2476:methods>
>>                <ax2476:outSeqXml xsi:nil="true"/>
>>                <ax2476:outSequenceKey xsi:nil="true"/>
>>                <ax2476:protocol>0</ax2476:protocol>
>>                <ax2476:uriTemplate>/{petId}</ax2476:uriTemplate>
>>                <ax2476:urlMapping xsi:nil="true"/>
>>                <ax2476:userAgent xsi:nil="true"/>
>>             </ax2476:resources>
>>             <ax2476:statisticsEnable>false</ax2476:statisticsEnable>
>>             <ax2476:tracingEnable>false</ax2476:tracingEnable>
>>          </ns:return>
>>       </ns:getApiByNameResponse>
>>    </soapenv:Body>
>> </soapenv:Envelope>
>>
>>
>> Thanks,
>>
>> Maheeka Jayasuriya
>> Senior Software Engineer
>> Mobile : +94777750661
>>
>
>
>
> --
>
> --
> *Joseph Fonseka*
> WSO2 Inc.; http://wso2.com
> lean.enterprise.middleware
>
> mobile: +94 772 512 430
> skype: jpfonseka
>
> * <http://lk.linkedin.com/in/rumeshbandara>*
>
>


-- 
Jagath Ariyarathne
Technical Lead
WSO2 Inc.  http://wso2.com/
Email: jaga...@wso2.com
Mob  : +94 77 386 7048
<http://wso2.com/signature>
_______________________________________________
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev

Reply via email to