wso2 / micro-integrator

The cloud-native configuration driven runtime that helps developers implement composite microservices.
https://wso2.com/integration/
Apache License 2.0
194 stars 206 forks source link

Getting error while invoking WSO2 msdynamics365 connector #1294

Open KasunAratthanage opened 4 years ago

KasunAratthanage commented 4 years ago

Description: Generating following error while creating a new entity in msdynamics365.

Suggested Labels: Microsoft Dynamics 365 connector

Affected Product Version: wso2mi-1.1.0

OS, DB, other environment details and versions:
Ubuntu

Steps to reproduce:

  1. Create API using WSO2 Devstudio.
<?xml version="1.0" encoding="UTF-8"?>
<api context="/createEntity" name="createEntity" xmlns="http://ws.apache.org/ns/synapse">
    <resource methods="POST">
        <inSequence>
            <property expression="json-eval($.apiUrl)" name="apiUrl" scope="default" type="STRING"/>
            <property expression="json-eval($.accessToken)" name="accessToken" scope="default" type="STRING"/>
            <property expression="json-eval($.entityType)" name="entityType" scope="default" type="STRING"/>
            <property expression="json-eval($.bodyContent)" name="bodyContent" scope="default" type="STRING"/>
            <property expression="json-eval($.apiVersion)" name="apiVersion" scope="default" type="STRING"/>
            <property expression="json-eval($.refreshToken)" name="refreshToken" scope="default" type="STRING"/>
            <property expression="json-eval($.clientSecret)" name="clientSecret" scope="default" type="STRING"/>
            <property expression="json-eval($.clientId)" name="clientId" scope="default" type="STRING"/>
            <property expression="json-eval($.resource)" name="resource" scope="default" type="STRING"/>
            <property expression="json-eval($.registryPath)" name="registryPath" scope="default" type="STRING"/>
            <property expression="json-eval($.intervalTime)" name="intervalTime" scope="default" type="STRING"/>
            <property expression="json-eval($.queryParam)" name="queryParam" scope="default" type="STRING"/>
            <msdynamics365.init>
                <accessToken>{$ctx:accessToken}</accessToken>
                <apiUrl>{$ctx:apiUrl}</apiUrl>
                <apiVersion>{$ctx:apiVersion}</apiVersion>
                <refreshToken>{$ctx:refreshToken}</refreshToken>
                <clientSecret>{$ctx:clientSecret}</clientSecret>
                <clientId>{$ctx:clientId}</clientId>
                <resource>{$ctx:resource}</resource>
                <registryPath>{$ctx:registryPath}</registryPath>
                <intervalTime>{$ctx:intervalTime}</intervalTime>
            </msdynamics365.init>
            <msdynamics365.createEntity>
                <entityType>{$ctx:entityType}</entityType>
                <bodyContent>{$ctx:bodyContent}</bodyContent>
                <queryParam>{$ctx:queryParam}</queryParam>
            </msdynamics365.createEntity>
            <respond/>
        </inSequence>
        <outSequence>
            <send/>
        </outSequence>
        <faultSequence/>
    </resource>
</api>
  1. Used following parameters to invoke the API. https://docs.wso2.com/display/ESBCONNECTORS/Working+with+Create+Entities

  2. While invoke the API getting following error in MI.

[2020-03-23 15:38:48,918]  INFO {API_LOGGER.createEntity} - FaultHandler executing impl: org.apache.synapse.mediators.MediatorFaultHandler
[2020-03-23 15:38:48,919]  WARN {API_LOGGER.createEntity} - Executing fault sequence mediator : org.apache.synapse.mediators.base.SequenceMediator
[2020-03-23 15:41:28,930]  INFO {org.apache.synapse.transport.passthru.SourceHandler} - Writer null when calling informWriterError
[2020-03-23 15:41:28,931]  WARN {org.apache.synapse.transport.passthru.SourceHandler} - Connection time out after request is read: http-incoming-1 Socket Timeout : 180000 Remote Address : /127.0.0.1:50496
[2020-03-23 15:47:33,671] ERROR {org.apache.axis2.description.ClientUtils} - The system cannot infer the transport information from the /api/data/v8.2/accounts URL.
[2020-03-23 15:47:33,672] ERROR {org.apache.synapse.core.axis2.Axis2Sender} - Unexpected error during sending message out org.apache.axis2.AxisFault: The system cannot infer the transport information from the /api/data/v8.2/accounts URL.
    at org.apache.axis2.description.ClientUtils.inferOutTransport(ClientUtils.java:86)
    at org.apache.synapse.core.axis2.DynamicAxisOperation$DynamicOperationClient.executeImpl(DynamicAxisOperation.java:116)
    at org.apache.axis2.client.OperationClient.execute(OperationClient.java:149)
    at org.apache.synapse.core.axis2.Axis2FlexibleMEPClient.send(Axis2FlexibleMEPClient.java:634)
    at org.apache.synapse.core.axis2.Axis2Sender.sendOn(Axis2Sender.java:85)
    at org.apache.synapse.core.axis2.Axis2SynapseEnvironment.send(Axis2SynapseEnvironment.java:569)
    at org.apache.synapse.endpoints.AbstractEndpoint.send(AbstractEndpoint.java:408)
    at org.apache.synapse.endpoints.HTTPEndpoint.send(HTTPEndpoint.java:96)
    at org.apache.synapse.mediators.builtin.CallMediator.handleNonBlockingCall(CallMediator.java:278)
    at org.apache.synapse.mediators.builtin.CallMediator.mediate(CallMediator.java:122)
    at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:109)
    at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:71)
    at org.apache.synapse.config.xml.AnonymousListMediator.mediate(AnonymousListMediator.java:37)
    at org.apache.synapse.mediators.filters.FilterMediator.mediate(FilterMediator.java:203)
    at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:109)
    at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:71)
    at org.apache.synapse.mediators.template.TemplateMediator.mediate(TemplateMediator.java:133)
    at org.apache.synapse.mediators.template.InvokeMediator.mediate(InvokeMediator.java:148)
    at org.apache.synapse.mediators.template.InvokeMediator.mediate(InvokeMediator.java:84)
    at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:109)
    at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:71)
    at org.apache.synapse.mediators.base.SequenceMediator.mediate(SequenceMediator.java:158)
    at org.apache.synapse.rest.Resource.process(Resource.java:331)
    at org.apache.synapse.rest.API.process(API.java:440)
    at org.apache.synapse.rest.RESTRequestHandler.apiProcess(RESTRequestHandler.java:135)
    at org.apache.synapse.rest.RESTRequestHandler.dispatchToAPI(RESTRequestHandler.java:113)
    at org.apache.synapse.rest.RESTRequestHandler.process(RESTRequestHandler.java:71)
    at org.apache.synapse.core.axis2.Axis2SynapseEnvironment.injectMessage(Axis2SynapseEnvironment.java:325)
    at org.apache.synapse.core.axis2.SynapseMessageReceiver.receive(SynapseMessageReceiver.java:98)
    at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:180)
    at org.apache.synapse.transport.passthru.ServerWorker.processNonEntityEnclosingRESTHandler(ServerWorker.java:367)
    at org.apache.synapse.transport.passthru.ServerWorker.processEntityEnclosingRequest(ServerWorker.java:412)
    at org.apache.synapse.transport.passthru.ServerWorker.run(ServerWorker.java:181)
    at org.apache.axis2.transport.base.threads.NativeWorkerPool$1.run(NativeWorkerPool.java:172)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)

[2020-03-23 15:47:33,755]  WARN {API_LOGGER.createEntity} - Executing fault handler due to exception encountered
[2020-03-23 15:47:33,755]  WARN {API_LOGGER.createEntity} - ERROR_CODE : 401003 ERROR_MESSAGE : The system cannot infer the transport information from the /api/data/v8.2/accounts URL.
[2020-03-23 15:47:33,756]  WARN {org.apache.synapse.endpoints.EndpointContext} - Endpoint : AnonymousEndpoint with address {uri.var.msdynamics365.apiUrl}/api/data/{uri.var.msdynamics365.apiVersion}/{uri.var.entityType} will be marked SUSPENDED as it failed
[2020-03-23 15:47:33,756]  WARN {org.apache.synapse.endpoints.EndpointContext} - Suspending endpoint : AnonymousEndpoint with address {uri.var.msdynamics365.apiUrl}/api/data/{uri.var.msdynamics365.apiVersion}/{uri.var.entityType} - last suspend duration was : 30000ms and current suspend duration is : 30000ms - Next retry after : Mon Mar 23 15:48:03 IST 2020
[2020-03-23 15:47:33,756]  INFO {API_LOGGER.createEntity} - FaultHandler executing impl: org.apache.synapse.mediators.MediatorFaultHandler
[2020-03-23 15:47:33,757]  WARN {API_LOGGER.createEntity} - Executing fault sequence mediator : org.apache.synapse.mediators.base.SequenceMediator

Related Issues: https://github.com/wso2/micro-integrator/issues/1252

AgbodjogbeYves-alain commented 4 years ago

Is there any fix or hint to resolve this issue ? I got the same when i'm using retrieveEntity mediator