Noticed the following issue with regards to Synapse endpoints created in tenant mode in the latest unreleased API Manager 1.7.0,
If the endpoint URL is *https://www.google.com <https://www.google.com>*invoking this via curl leads to 404 Error. The wire output looks as follows, TID: [0] [AM] [2014-05-12 13:05:28,626] DEBUG {org.apache.synapse.transport.http.wire} - >> "GET /t/ wso2.com/GoogAPI/1.0.0 HTTP/1.1[\r][\n]" {org.apache.synapse.transport.http.wire} TID: [0] [AM] [2014-05-12 13:05:28,627] DEBUG {org.apache.synapse.transport.http.wire} - >> "User-Agent: curl/7.32.0[\r][\n]" {org.apache.synapse.transport.http.wire} TID: [0] [AM] [2014-05-12 13:05:28,628] DEBUG {org.apache.synapse.transport.http.wire} - >> "Host: 10.100.5.30:8280[\r][\n]" {org.apache.synapse.transport.http.wire} TID: [0] [AM] [2014-05-12 13:05:28,628] DEBUG {org.apache.synapse.transport.http.wire} - >> "Accept: */*[\r][\n]" {org.apache.synapse.transport.http.wire} TID: [0] [AM] [2014-05-12 13:05:28,628] DEBUG {org.apache.synapse.transport.http.wire} - >> "Authorization: Bearer e3f51990b78b7cae266ce6d46b62ed9[\r][\n]" {org.apache.synapse.transport.http.wire} TID: [0] [AM] [2014-05-12 13:05:28,628] DEBUG {org.apache.synapse.transport.http.wire} - >> "[\r][\n]" {org.apache.synapse.transport.http.wire} TID: [0] [AM] [2014-05-12 13:05:28,850] DEBUG {org.apache.synapse.transport.http.wire} - << "GET HTTP/1.1[\r][\n]"{org.apache.synapse.transport.http.wire} TID: [0] [AM] [2014-05-12 13:05:28,850] DEBUG {org.apache.synapse.transport.http.wire} - << "Accept: */*[\r][\n]" {org.apache.synapse.transport.http.wire} TID: [0] [AM] [2014-05-12 13:05:28,850] DEBUG {org.apache.synapse.transport.http.wire} - << "Host: www.google.com:80[\r][\n]" {org.apache.synapse.transport.http.wire} TID: [0] [AM] [2014-05-12 13:05:28,850] DEBUG {org.apache.synapse.transport.http.wire} - << "Connection: Keep-Alive[\r][\n]" {org.apache.synapse.transport.http.wire} TID: [0] [AM] [2014-05-12 13:05:28,851] DEBUG {org.apache.synapse.transport.http.wire} - << "User-Agent: Synapse-PT-HttpComponents-NIO[\r][\n]" {org.apache.synapse.transport.http.wire} TID: [0] [AM] [2014-05-12 13:05:28,851] DEBUG {org.apache.synapse.transport.http.wire} - << "[\r][\n]" {org.apache.synapse.transport.http.wire} TID: [0] [AM] [2014-05-12 13:05:28,920] DEBUG {org.apache.synapse.transport.http.wire} - >> "HTTP/1.0 404 Not Found[\r][\n]" {org.apache.synapse.transport.http.wire} TID: [0] [AM] [2014-05-12 13:05:28,921] DEBUG {org.apache.synapse.transport.http.wire} - >> "Content-Type: text/html; charset=UTF-8[\r][\n]" {org.apache.synapse.transport.http.wire} if the endpoint URL is *https://www.google.com/maps <https://www.google.com/maps>* invocation is successful. The wire output looks as follows, TID: [0] [AM] [2014-05-12 13:05:41,304] DEBUG {org.apache.synapse.transport.http.wire} - >> "GET /t/wso2.com/maps/1.0.0HTTP/1.1[\r][\n]" {org.apache.synapse.transport.http.wire} TID: [0] [AM] [2014-05-12 13:05:41,306] DEBUG {org.apache.synapse.transport.http.wire} - >> "User-Agent: curl/7.32.0[\r][\n]" {org.apache.synapse.transport.http.wire} TID: [0] [AM] [2014-05-12 13:05:41,306] DEBUG {org.apache.synapse.transport.http.wire} - >> "Host: 10.100.5.30:8280[\r][\n]" {org.apache.synapse.transport.http.wire} TID: [0] [AM] [2014-05-12 13:05:41,306] DEBUG {org.apache.synapse.transport.http.wire} - >> "Accept: */*[\r][\n]" {org.apache.synapse.transport.http.wire} TID: [0] [AM] [2014-05-12 13:05:41,307] DEBUG {org.apache.synapse.transport.http.wire} - >> "Authorization: Bearer e3f51990b78b7cae266ce6d46b62ed9[\r][\n]" {org.apache.synapse.transport.http.wire} TID: [0] [AM] [2014-05-12 13:05:41,307] DEBUG {org.apache.synapse.transport.http.wire} - >> "[\r][\n]" {org.apache.synapse.transport.http.wire} TID: [0] [AM] [2014-05-12 13:05:41,576] DEBUG {org.apache.synapse.transport.http.wire} - << "GET /maps HTTP/1.1[\r][\n]" {org.apache.synapse.transport.http.wire} TID: [0] [AM] [2014-05-12 13:05:41,576] DEBUG {org.apache.synapse.transport.http.wire} - << "Accept: */*[\r][\n]" {org.apache.synapse.transport.http.wire} TID: [0] [AM] [2014-05-12 13:05:41,577] DEBUG {org.apache.synapse.transport.http.wire} - << "Host: www.google.com:80[\r][\n]" {org.apache.synapse.transport.http.wire} TID: [0] [AM] [2014-05-12 13:05:41,577] DEBUG {org.apache.synapse.transport.http.wire} - << "Connection: Keep-Alive[\r][\n]" {org.apache.synapse.transport.http.wire} TID: [0] [AM] [2014-05-12 13:05:41,577] DEBUG {org.apache.synapse.transport.http.wire} - << "User-Agent: Synapse-PT-HttpComponents-NIO[\r][\n]" {org.apache.synapse.transport.http.wire} TID: [0] [AM] [2014-05-12 13:05:41,577] DEBUG {org.apache.synapse.transport.http.wire} - << "[\r][\n]" {org.apache.synapse.transport.http.wire} TID: [0] [AM] [2014-05-12 13:05:41,719] DEBUG {org.apache.synapse.transport.http.wire} - >> "HTTP/1.1 200 OK[\r][\n]" {org.apache.synapse.transport.http.wire} TID: [0] [AM] [2014-05-12 13:05:41,719] DEBUG {org.apache.synapse.transport.http.wire} - >> "X-Frame-Options: SAMEORIGIN[\r][\n]" {org.apache.synapse.transport.http.wire} TID: [0] [AM] [2014-05-12 13:05:41,720] DEBUG {org.apache.synapse.transport.http.wire} - >> "Date: Mon, 12 May 2014 07:35:41 GMT[\r][\n]" {org.apache.synapse.transport.http.wire} TID: [0] [AM] [2014-05-12 13:05:41,720] DEBUG {org.apache.synapse.transport.http.wire} - >> "Expires: -1[\r][\n]" {org.apache.synapse.transport.http.wire} TID: [0] [AM] [2014-05-12 13:05:41,720] DEBUG {org.apache.synapse.transport.http.wire} - >> "Cache-Control: private, max-age=0[\r][\n]" {org.apache.synapse.transport.http.wire} TID: [0] [AM] [2014-05-12 13:05:41,720] DEBUG {org.apache.synapse.transport.http.wire} - >> "Content-Type: text/html; charset=ISO-8859-1[\r][\n]" {org.apache.synapse.transport.http.wire} Note the highlighted call to the endpoints. This issue does not occur in super tenant mode for *https://www.google.com <https://www.google.com>*, wire output is as follows, TID: [0] [AM] [2014-05-12 12:40:10,621] DEBUG {org.apache.synapse.transport.http.wire} - >> "GET /GoogAPI/1.0.0 HTTP/1.1[\r][\n]" {org.apache.synapse.transport.http.wire} TID: [0] [AM] [2014-05-12 12:40:10,622] DEBUG {org.apache.synapse.transport.http.wire} - >> "User-Agent: curl/7.32.0[\r][\n]" {org.apache.synapse.transport.http.wire} TID: [0] [AM] [2014-05-12 12:40:10,622] DEBUG {org.apache.synapse.transport.http.wire} - >> "Host: 10.100.5.30:8280[\r][\n]" {org.apache.synapse.transport.http.wire} TID: [0] [AM] [2014-05-12 12:40:10,622] DEBUG {org.apache.synapse.transport.http.wire} - >> "Accept: */*[\r][\n]" {org.apache.synapse.transport.http.wire} TID: [0] [AM] [2014-05-12 12:40:10,623] DEBUG {org.apache.synapse.transport.http.wire} - >> "Authorization: Bearer 3d1db922cd65e894e3954bb5c2c18a[\r][\n]" {org.apache.synapse.transport.http.wire} TID: [0] [AM] [2014-05-12 12:40:10,623] DEBUG {org.apache.synapse.transport.http.wire} - >> "[\r][\n]" {org.apache.synapse.transport.http.wire} TID: [0] [AM] [2014-05-12 12:40:10,911] DEBUG {org.apache.synapse.transport.http.wire} - << "GET https://www.google.comHTTP/1.1[\r][\n]"{org.apache.synapse.transport.http.wire} TID: [0] [AM] [2014-05-12 12:40:10,913] DEBUG {org.apache.synapse.transport.http.wire} - << "Accept: */*[\r][\n]" {org.apache.synapse.transport.http.wire} TID: [0] [AM] [2014-05-12 12:40:10,913] DEBUG {org.apache.synapse.transport.http.wire} - << "Host: www.google.com:80[\r][\n]" {org.apache.synapse.transport.http.wire} TID: [0] [AM] [2014-05-12 12:40:10,914] DEBUG {org.apache.synapse.transport.http.wire} - << "Connection: Keep-Alive[\r][\n]" {org.apache.synapse.transport.http.wire} TID: [0] [AM] [2014-05-12 12:40:10,914] DEBUG {org.apache.synapse.transport.http.wire} - << "User-Agent: Synapse-PT-HttpComponents-NIO[\r][\n]" {org.apache.synapse.transport.http.wire} TID: [0] [AM] [2014-05-12 12:40:10,914] DEBUG {org.apache.synapse.transport.http.wire} - << "[\r][\n]" {org.apache.synapse.transport.http.wire} TID: [0] [AM] [2014-05-12 12:40:10,979] DEBUG {org.apache.synapse.transport.http.wire} - >> "HTTP/1.1 302 Found[\r][\n]" {org.apache.synapse.transport.http.wire} TID: [0] [AM] [2014-05-12 12:40:10,979] DEBUG {org.apache.synapse.transport.http.wire} - >> "Location: https://www.google.lk/?gws_rd=cr&ei=0nNwU6bjONWUuASS-YLIBg[\r][\n]" {org.apache.synapse.transport.http.wire} Seems that when the endpoint URL is the same as that the host URL in tenant mode, the GET is invalid. I have attached the respective Synapse configs FYR. Is this a know issue? Thanks. -- Regards, Uvindra Mobile: 777733962
<?xml version="1.0" encoding="UTF-8"?><api xmlns="http://ws.apache.org/ns/synapse" name="test1admin-AT-wso2.com--GoogAPI" context="/t/wso2.com/GoogAPI" version="1.0.0" version-type="url"> <resource methods="POST GET DELETE OPTIONS PUT" url-mapping="/*"> <inSequence> <property name="POST_TO_URI" value="true" scope="axis2"/> <filter source="$ctx:AM_KEY_TYPE" regex="PRODUCTION"> <then> <send> <endpoint name="test1admin-AT-wso2.com--GoogAPI_APIproductionEndpoint_0"> <http uri-template="https://www.google.com"> <timeout> <duration>30000</duration> <responseAction>fault</responseAction> </timeout> <suspendOnFailure> <errorCodes>-1</errorCodes> <initialDuration>0</initialDuration> <progressionFactor>1.0</progressionFactor> <maximumDuration>0</maximumDuration> </suspendOnFailure> <markForSuspension> <errorCodes>-1</errorCodes> </markForSuspension> </http> </endpoint> </send> </then> <else> <send> <endpoint name="test1admin-AT-wso2.com--GoogAPI_APIsandboxEndpoint_0"> <http uri-template="https://www.google.com"> <timeout> <duration>30000</duration> <responseAction>fault</responseAction> </timeout> <suspendOnFailure> <errorCodes>-1</errorCodes> <initialDuration>0</initialDuration> <progressionFactor>1.0</progressionFactor> <maximumDuration>0</maximumDuration> </suspendOnFailure> <markForSuspension> <errorCodes>-1</errorCodes> </markForSuspension> </http> </endpoint> </send> </else> </filter> </inSequence> <outSequence> <send/> </outSequence> </resource> <handlers> <handler class="org.wso2.carbon.apimgt.gateway.handlers.security.APIAuthenticationHandler"/> <handler class="org.wso2.carbon.apimgt.gateway.handlers.throttling.APIThrottleHandler"> <property name="id" value="A"/> <property name="policyKey" value="gov:/apimgt/applicationdata/tiers.xml"/> </handler> <handler class="org.wso2.carbon.apimgt.usage.publisher.APIMgtUsageHandler"/> <handler class="org.wso2.carbon.apimgt.usage.publisher.APIMgtGoogleAnalyticsTrackingHandler"> <property name="configKey" value="gov:/apimgt/statistics/ga-config.xml"/> </handler> <handler class="org.wso2.carbon.apimgt.gateway.handlers.ext.APIManagerExtensionHandler"/> </handlers> </api>
<?xml version="1.0" encoding="UTF-8"?><api xmlns="http://ws.apache.org/ns/synapse" name="test1admin-AT-wso2.com--maps" context="/t/wso2.com/maps" version="1.0.0" version-type="url"> <resource methods="POST GET DELETE OPTIONS PUT" url-mapping="/*"> <inSequence> <property name="POST_TO_URI" value="true" scope="axis2"/> <filter source="$ctx:AM_KEY_TYPE" regex="PRODUCTION"> <then> <send> <endpoint name="test1admin-AT-wso2.com--maps_APIproductionEndpoint_0"> <http uri-template="https://www.google.com/maps"> <timeout> <duration>30000</duration> <responseAction>fault</responseAction> </timeout> <suspendOnFailure> <errorCodes>-1</errorCodes> <initialDuration>0</initialDuration> <progressionFactor>1.0</progressionFactor> <maximumDuration>0</maximumDuration> </suspendOnFailure> <markForSuspension> <errorCodes>-1</errorCodes> </markForSuspension> </http> </endpoint> </send> </then> <else> <send> <endpoint name="test1admin-AT-wso2.com--maps_APIsandboxEndpoint_0"> <http uri-template="https://www.google.com/maps"> <timeout> <duration>30000</duration> <responseAction>fault</responseAction> </timeout> <suspendOnFailure> <errorCodes>-1</errorCodes> <initialDuration>0</initialDuration> <progressionFactor>1.0</progressionFactor> <maximumDuration>0</maximumDuration> </suspendOnFailure> <markForSuspension> <errorCodes>-1</errorCodes> </markForSuspension> </http> </endpoint> </send> </else> </filter> </inSequence> <outSequence> <send/> </outSequence> </resource> <handlers> <handler class="org.wso2.carbon.apimgt.gateway.handlers.security.APIAuthenticationHandler"/> <handler class="org.wso2.carbon.apimgt.gateway.handlers.throttling.APIThrottleHandler"> <property name="id" value="A"/> <property name="policyKey" value="gov:/apimgt/applicationdata/tiers.xml"/> </handler> <handler class="org.wso2.carbon.apimgt.usage.publisher.APIMgtUsageHandler"/> <handler class="org.wso2.carbon.apimgt.usage.publisher.APIMgtGoogleAnalyticsTrackingHandler"> <property name="configKey" value="gov:/apimgt/statistics/ga-config.xml"/> </handler> <handler class="org.wso2.carbon.apimgt.gateway.handlers.ext.APIManagerExtensionHandler"/> </handlers> </api>
<?xml version="1.0" encoding="UTF-8"?><api xmlns="http://ws.apache.org/ns/synapse" name="admin--GoogAPI" context="/GoogAPI" version="1.0.0" version-type="url"> <resource methods="POST GET DELETE OPTIONS PUT" url-mapping="/*"> <inSequence> <property name="POST_TO_URI" value="true" scope="axis2"/> <filter source="$ctx:AM_KEY_TYPE" regex="PRODUCTION"> <then> <send> <endpoint name="admin--GoogAPI_APIproductionEndpoint_0"> <http uri-template="https://www.google.com"> <timeout> <duration>30000</duration> <responseAction>fault</responseAction> </timeout> <suspendOnFailure> <errorCodes>-1</errorCodes> <initialDuration>0</initialDuration> <progressionFactor>1.0</progressionFactor> <maximumDuration>0</maximumDuration> </suspendOnFailure> <markForSuspension> <errorCodes>-1</errorCodes> </markForSuspension> </http> </endpoint> </send> </then> <else> <send> <endpoint name="admin--GoogAPI_APIsandboxEndpoint_0"> <http uri-template="https://www.google.com"> <timeout> <duration>30000</duration> <responseAction>fault</responseAction> </timeout> <suspendOnFailure> <errorCodes>-1</errorCodes> <initialDuration>0</initialDuration> <progressionFactor>1.0</progressionFactor> <maximumDuration>0</maximumDuration> </suspendOnFailure> <markForSuspension> <errorCodes>-1</errorCodes> </markForSuspension> </http> </endpoint> </send> </else> </filter> </inSequence> <outSequence> <send/> </outSequence> </resource> <handlers> <handler class="org.wso2.carbon.apimgt.gateway.handlers.security.APIAuthenticationHandler"/> <handler class="org.wso2.carbon.apimgt.gateway.handlers.throttling.APIThrottleHandler"> <property name="id" value="A"/> <property name="policyKey" value="gov:/apimgt/applicationdata/tiers.xml"/> </handler> <handler class="org.wso2.carbon.apimgt.usage.publisher.APIMgtUsageHandler"/> <handler class="org.wso2.carbon.apimgt.usage.publisher.APIMgtGoogleAnalyticsTrackingHandler"> <property name="configKey" value="gov:/apimgt/statistics/ga-config.xml"/> </handler> <handler class="org.wso2.carbon.apimgt.gateway.handlers.ext.APIManagerExtensionHandler"/> </handlers> </api>
_______________________________________________ Dev mailing list [email protected] http://wso2.org/cgi-bin/mailman/listinfo/dev
