Hello Tharindu Following the instructions in the I've generated this : <api xmlns="http://ws.apache.org/ns/synapse" name="API_Name" context="/APIBasePath" version="1.0.0" version-type="context"> <resource methods="GET" uri-template="/all"> <inSequence> <log level="full"/> <payloadFactory media-type="xml" description="createSOAPBody"> <format> <soap:Envelope xmlns:soap=" http://www.w3.org/2003/05/soap-envelope" xmlns:ser=" http://services.mgt.tenant.carbon.wso2.org"> <soap:Header/> <soap:Body> <ser:retrieveTenants/> </soap:Body> </soap:Envelope> </format> <args/> </payloadFactory> <header name="Action" scope="default" value="urn:retrieveTenants"/> <property name="username" value="admin" scope="default" type="STRING"/> <property name="password" value="admin" scope="default" type="STRING"/> <property name="credentials" expression="fn:concat($ctx:username,':',$ctx:password)" scope="default" type="STRING"/> <property xmlns:ns="http://org.apache.synapse/xsd" name="Authorization" expression="fn:concat('Basic ', base64Encode($ctx:credentials))" scope="transport" type="STRING"/> <header name="Access-Control-Allow-Origin" scope="transport" value="localhost:3000"/> <header name="Access-Control-Allow-Methods" scope="transport" value="GET,PUT,POST,DELETE,PATCH,OPTIONS"/> <header name="Access-Control-Allow-Headers" scope="transport" value="Access-Control-Allow-Origin,Access-Control-Allow-Methods"/> <call> <endpoint> <address uri=" https://localhost:9443/services/TenantMgtAdminService.TenantMgtAdminServiceHttpsSoap12Endpoint" format="soap11"/> </endpoint> </call> <property name="messageType" value="application/json" scope="axis2" type="STRING" description="Set to JSON media type"/> <respond/> </inSequence> <outSequence> <header name="Access-Control-Allow-Origin" scope="transport" value="localhost:3000"/> <header name="Access-Control-Allow-Methods" scope="transport" value="GET,PUT,POST,DELETE,PATCH,OPTIONS"/> <header name="Access-Control-Allow-Headers" scope="transport" value="Access-Control-Allow-Origin,Access-Control-Allow-Methods"/> </outSequence> </resource> </api> <outSequence> <header name="Access-Control-Allow-Origin" value="localhost:3000" scope="transport" type="STRING"/> <header name="Access-Control-Allow-Methods" value="GET,PUT,POST,DELETE,PATCH,OPTIONS" scope="transport" type="STRING"/> <header name="Access-Control-Allow-Headers" value="Access-Control-Allow-Origin,Access-Control-Allow-Methods" scope="transport" type="STRING"/> </outSequence> </resource>
It didn't get too much different form my original code I am able to test the generated API with tryiy But I still get the same error in my angular client app Em qui., 19 de mar. de 2020 às 01:19, Tharindu Dharmarathna < [email protected]> escreveu: > Hi Erico, > > According to your API definition, You had define POST only as a Resource > in API. Therefore OPTIONS request which pre-flight request didn't get the > headers set on API. Could you please try following documentation an see if > your issue could get resolves. > [1] - https://docs.wso2.com/display/EI660/Generating+an+API+using+Swagger > > On Thu, Mar 19, 2020 at 8:45 AM Érico <[email protected]> wrote: > >> Hello >> Please, I am facing an issue with CORS >> My client is an angular 8 app calling an API with the following code: >> >> <api xmlns="http://ws.apache.org/ns/synapse" name="tenantsApi" >> context="/tenants"> >> <resource methods="GET" uri-template="/tenants"> >> <inSequence> >> <log level="full"/> >> <payloadFactory media-type="xml" description="createSOAPBody"> >> <format> >> <soap:Envelope xmlns:soap=" >> http://www.w3.org/2003/05/soap-envelope" xmlns:ser=" >> http://services.mgt.tenant.carbon.wso2.org"> >> <soap:Header/> >> <soap:Body> >> <ser:retrieveTenants/> >> </soap:Body> >> </soap:Envelope> >> </format> >> <args/> >> </payloadFactory> >> <header name="Action" scope="default" >> value="urn:retrieveTenants"/> >> <property name="username" value="admin" scope="default" >> type="STRING"/> >> <property name="password" value="admin" scope="default" >> type="STRING"/> >> <property name="credentials" >> expression="fn:concat($ctx:username,':',$ctx:password)" scope="default" >> type="STRING"/> >> <property xmlns:ns="http://org.apache.synapse/xsd" >> name="Authorization" expression="fn:concat('Basic ', >> base64Encode($ctx:credentials))" scope="transport" type="STRING"/> >> <property name="Access-Control-Allow-Origin" value="*" >> scope="transport" type="STRING"/> >> <property name="Access-Control-Allow-Credentials" value="true" >> scope="transport" type="STRING"/> >> <property name="Access-Control-Allow-Methods" >> value="GET,PUT,POST,DELETE,PATCH,OPTIONS" scope="transport" type="STRING"/> >> <property name="Access-Control-Allow-Headers" >> value="Authorization,Origin,X-Requested-With,Accept,Content-Type" >> scope="transport" type="STRING"/> >> <call> >> <endpoint> >> <address uri=" >> https://localhost:9443/services/TenantMgtAdminService.TenantMgtAdminServiceHttpsSoap12Endpoint" >> format="soap11"/> >> </endpoint> >> </call> >> <property name="messageType" value="application/json" >> scope="axis2" type="STRING" description="Set to JSON media type"/> >> <respond/> >> </inSequence> >> <property name="Access-Control-Allow-Origin" value="*" >> scope="transport" type="STRING"/> >> <property name="Access-Control-Allow-Credentials" value="true" >> scope="transport" type="STRING"/> >> <property name="Access-Control-Allow-Methods" >> value="GET,PUT,POST,DELETE,PATCH,OPTIONS" scope="transport" type="STRING"/> >> <property name="Access-Control-Allow-Headers" >> value="Authorization,Origin,X-Requested-With,Accept,Content-Type" >> scope="transport" type="STRING"/> >> <outSequence/> >> </resource> >> </api> >> >> In can successfully test the API in Postman >> >> But in my angular app I'm getting the error: >> >> Access to XMLHttpRequest at 'http://localhost:8280/tenants/all' from >> origin 'http://localhost:3000' has been blocked by CORS policy: Response >> to preflight request doesn't pass access control check: No >> 'Access-Control-Allow-Origin' header is present on the requested resource. >> >> >> >> >> >> _______________________________________________ >> Dev mailing list >> [email protected] >> http://wso2.org/cgi-bin/mailman/listinfo/dev >> > > > -- > > *Tharindu Dharmarathna*Technical Lead > WSO2 Inc.; http://wso2.com > lean.enterprise.middleware > > mobile: *+94779109091* >
_______________________________________________ Dev mailing list [email protected] http://wso2.org/cgi-bin/mailman/listinfo/dev
