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

Reply via email to