added configurations

application-manager-new
ayyoob 8 years ago
parent b2d20b93e1
commit 2b31921bd5

@ -1,72 +1,72 @@
<api xmlns="http://ws.apache.org/ns/synapse" name="$!apiName" context="$!apiContext" transports="$!transport"> <api xmlns="http://ws.apache.org/ns/synapse" name="$!apiName" context="$!apiContext" transports="$!transport">
<resource methods="POST PATCH GET DELETE HEAD PUT" <resource methods="POST PATCH GET DELETE HEAD PUT"
uri-template="/*" uri-template="/*"
faultSequence="fault"> faultSequence="fault">
<inSequence> <inSequence>
<property name="isDefault" expression="$trp:WSO2_AM_API_DEFAULT_VERSION"/> <property name="isDefault" expression="$trp:WSO2_AM_API_DEFAULT_VERSION"/>
<filter source="$ctx:isDefault" regex="true"> <filter source="$ctx:isDefault" regex="true">
<then> <then>
<log level="custom"> <log level="custom">
<property name="STATUS" value="Faulty invoking through default API.Dropping message to avoid recursion.."/> <property name="STATUS" value="Faulty invoking through default API.Dropping message to avoid recursion.."/>
</log> </log>
<payloadFactory media-type="xml"> <payloadFactory media-type="xml">
<format> <format>
<am:fault xmlns:am="http://wso2.org/apimanager"> <am:fault xmlns:am="http://wso2.org/apimanager">
<am:code>500</am:code> <am:code>500</am:code>
<am:type>Status report</am:type> <am:type>Status report</am:type>
<am:message>Internal Server Error</am:message> <am:message>Internal Server Error</am:message>
<am:description>Faulty invoking through default API</am:description> <am:description>Faulty invoking through default API</am:description>
</am:fault> </am:fault>
</format> </format>
<args/> <args/>
</payloadFactory> </payloadFactory>
<property name="HTTP_SC" value="500" scope="axis2"/> <property name="HTTP_SC" value="500" scope="axis2"/>
<property name="RESPONSE" value="true"/> <property name="RESPONSE" value="true"/>
<header name="To" action="remove"/> <header name="To" action="remove"/>
<property name="NO_ENTITY_BODY" scope="axis2" action="remove"/> <property name="NO_ENTITY_BODY" scope="axis2" action="remove"/>
<property name="ContentType" scope="axis2" action="remove"/> <property name="ContentType" scope="axis2" action="remove"/>
<property name="Authorization" scope="transport" action="remove"/> <property name="Authorization" scope="transport" action="remove"/>
<property name="Host" scope="transport" action="remove"/> <property name="Host" scope="transport" action="remove"/>
<property name="Accept" scope="transport" action="remove"/> <property name="Accept" scope="transport" action="remove"/>
<send/> <send/>
</then> </then>
<else> <else>
<header name="WSO2_AM_API_DEFAULT_VERSION" scope="transport" value="true"/> <header name="WSO2_AM_API_DEFAULT_VERSION" scope="transport" value="true"/>
#if( $transport == "https" ) #if( $transport == "https" )
<property name="uri.var.portnum" expression="get-property('https.nio.port')"/> <property name="uri.var.portnum" expression="get-property('https.nio.port')"/>
#else #else
<property name="uri.var.portnum" expression="get-property('http.nio.port')"/> <property name="uri.var.portnum" expression="get-property('http.nio.port')"/>
#end #end
<send> <send>
<endpoint> <endpoint>
#if( $transport == "https" ) #if( $transport == "https" )
<http uri-template="https://localhost:{uri.var.portnum}/$!{fwdApiContext}"> <http uri-template="https://localhost:{uri.var.portnum}/$!{fwdApiContext}">
#else #else
<http uri-template="http://localhost:{uri.var.portnum}/$!{fwdApiContext}"> <http uri-template="http://localhost:{uri.var.portnum}/$!{fwdApiContext}">
#end #end
<timeout> <timeout>
<duration>60000</duration> <duration>60000</duration>
<responseAction>fault</responseAction> <responseAction>fault</responseAction>
</timeout> </timeout>
<suspendOnFailure> <suspendOnFailure>
<progressionFactor>1.0</progressionFactor> <progressionFactor>1.0</progressionFactor>
</suspendOnFailure> </suspendOnFailure>
<markForSuspension> <markForSuspension>
<retriesBeforeSuspension>0</retriesBeforeSuspension> <retriesBeforeSuspension>0</retriesBeforeSuspension>
<retryDelay>0</retryDelay> <retryDelay>0</retryDelay>
</markForSuspension> </markForSuspension>
</http> </http>
</endpoint> </endpoint>
</send> </send>
</else> </else>
</filter> </filter>
</inSequence> </inSequence>
<outSequence> <outSequence>
<send/> <send/>
</outSequence> </outSequence>
</resource> </resource>
<handlers> <handlers>
<handler class="org.wso2.carbon.apimgt.gateway.handlers.common.SynapsePropertiesHandler"/> <handler class="org.wso2.carbon.apimgt.gateway.handlers.common.SynapsePropertiesHandler"/>
</handlers> </handlers>
</api> </api>

@ -18,63 +18,63 @@
##################### Define the macros ###################### ##################### Define the macros ######################
#macro ( print_if_exist $field $default) #macro ( print_if_exist $field $default)
#if($field && "$field" !="") #if($field && "$field" !="")
$field $field
#else #else
$default $default
#end
#end #end
#end
#macro ( print_string_if_exist $field $default) #macro ( print_string_if_exist $field $default)
#if($field && "$field" !="") #if($field && "$field" !="")
"$field" "$field"
#else #else
"$default" "$default"
#end
#end #end
#end
#macro ( print_if_exist_only $tagname $field) #macro ( print_if_exist_only $tagname $field)
#if($field && "$field" !="") #if($field && "$field" !="")
<$tagname>$field</$tagname> <$tagname>$field</$tagname>
#else #else
## print nothing. ## print nothing.
#end
#end #end
#end
#macro ( print_list $tagname $list) #macro ( print_list $tagname $list)
#if($list && "$list" !="" && $list.size() > 0) #if($list && "$list" !="" && $list.size() > 0)
<$tagname> <$tagname>
#foreach($item in $list) #foreach($item in $list)
$item #if( $foreach.hasNext ), #end $item #if( $foreach.hasNext ), #end
#end #end
</$tagname> </$tagname>
#else #else
## print nothing. ## print nothing.
#end
#end #end
#end
#macro ( timeout $config) #macro ( timeout $config)
#if( $config.get("actionSelect") == "neverTimeout" ) #if( $config.get("actionSelect") == "neverTimeout" )
## print nothing. ## print nothing.
#elseif($config.get("actionDuration")|| $config.get("actionSelect")) #elseif($config.get("actionDuration")|| $config.get("actionSelect"))
<timeout> <timeout>
#print_if_exist_only("duration" $config.get("actionDuration")) #print_if_exist_only("duration" $config.get("actionDuration"))
#print_if_exist_only("responseAction" $config.get("actionSelect")) #print_if_exist_only("responseAction" $config.get("actionSelect"))
</timeout> </timeout>
#end #end
<suspendOnFailure> <suspendOnFailure>
#print_list( "errorCodes" $config.get("suspendErrorCode")) #print_list( "errorCodes" $config.get("suspendErrorCode"))
#print_if_exist_only("initialDuration" $config.get("suspendDuration")) #print_if_exist_only("initialDuration" $config.get("suspendDuration"))
#print_if_exist_only("maximumDuration" $config.get("suspendMaxDuration")) #print_if_exist_only("maximumDuration" $config.get("suspendMaxDuration"))
<progressionFactor>#print_if_exist( $config.get("factor") 1.0)</progressionFactor> <progressionFactor>#print_if_exist( $config.get("factor") 1.0)</progressionFactor>
</suspendOnFailure> </suspendOnFailure>
<markForSuspension> <markForSuspension>
#print_list("errorCodes" $config.get("retryErroCode")) #print_list("errorCodes" $config.get("retryErroCode"))
<retriesBeforeSuspension>#print_if_exist( $config.get("retryTimeOut") 0)</retriesBeforeSuspension> <retriesBeforeSuspension>#print_if_exist( $config.get("retryTimeOut") 0)</retriesBeforeSuspension>
<retryDelay>#print_if_exist( $config.get("retryDelay") 0)</retryDelay> <retryDelay>#print_if_exist( $config.get("retryDelay") 0)</retryDelay>
</markForSuspension> </markForSuspension>
#end #end
#macro ( http_endpoint $name $ep ) #macro ( http_endpoint $name $ep )
<endpoint name="$name"> <endpoint name="$name">
@ -182,62 +182,62 @@
#if($apiIsBlocked) #if($apiIsBlocked)
## if API is blocked send the API Block message ## if API is blocked send the API Block message
<resource faultSequence=#print_string_if_exist($faultSequence "fault")> <resource faultSequence=#print_string_if_exist($faultSequence "fault")>
<inSequence> <inSequence>
<payloadFactory> <payloadFactory>
<format> <format>
<am:fault xmlns:am="http://wso2.org/apimanager"> <am:fault xmlns:am="http://wso2.org/apimanager">
<am:code>700700</am:code> <am:code>700700</am:code>
<am:message>API blocked</am:message> <am:message>API blocked</am:message>
<am:description>This API has been blocked temporarily. Please try again later or contact the system administrators.</am:description> <am:description>This API has been blocked temporarily. Please try again later or contact the system administrators.</am:description>
</am:fault> </am:fault>
</format> </format>
</payloadFactory> </payloadFactory>
<property name="HTTP_SC" value="503" scope="axis2"/> <property name="HTTP_SC" value="503" scope="axis2"/>
<property name="RESPONSE" value="true"/> <property name="RESPONSE" value="true"/>
<property name="NO_ENTITY_BODY" scope="axis2" action="remove"/> <property name="NO_ENTITY_BODY" scope="axis2" action="remove"/>
<header name="To" action="remove"/> <header name="To" action="remove"/>
<send/> <send/>
</inSequence> </inSequence>
</resource> </resource>
#else #else
## api not blocked ## api not blocked
#set ($resourceNo = 0) #set ($resourceNo = 0)
#foreach($resource in $resources) #foreach($resource in $resources)
<resource xmlns="http://ws.apache.org/ns/synapse" <resource xmlns="http://ws.apache.org/ns/synapse"
#if($resource.getUriTemplate().contains("{") || #if($resource.getUriTemplate().contains("{") ||
($resource.getUriTemplate().contains("*") && !$resource.getUriTemplate().endsWith("/*"))) ($resource.getUriTemplate().contains("*") && !$resource.getUriTemplate().endsWith("/*")))
uri-template="$util.escapeXml($resource.getUriTemplate())" uri-template="$util.escapeXml($resource.getUriTemplate())"
#else #else
url-mapping="$resource.getUriTemplate()" url-mapping="$resource.getUriTemplate()"
#end #end
methods="$resource.getMethodsAsString()" faultSequence=#print_string_if_exist($faultSequence "fault")> methods="$resource.getMethodsAsString()" faultSequence=#print_string_if_exist($faultSequence "fault")>
<inSequence> <inSequence>
#if(!$resource.getMediationScript().equalsIgnoreCase("null")) #if(!$resource.getMediationScript().equalsIgnoreCase("null"))
<script language="js"> <script language="js">
<![CDATA[ <![CDATA[
$resource.getMediationScript() $resource.getMediationScript()
]]> ]]>
</script> </script>
<filter source="boolean(get-property('CONTENT_TYPE'))" regex="false"> <filter source="boolean(get-property('CONTENT_TYPE'))" regex="false">
<then> <then>
<property name="messageType" value="application/xml" scope="axis2"/> <property name="messageType" value="application/xml" scope="axis2"/>
</then> </then>
<else> <else>
<property name="messageType" expression="get-property('CONTENT_TYPE')" scope="axis2"/> <property name="messageType" expression="get-property('CONTENT_TYPE')" scope="axis2"/>
</else> </else>
</filter> </filter>
#else #else
<property name="HTTP_SC" value="501" scope="axis2"/> <property name="HTTP_SC" value="501" scope="axis2"/>
#end #end
#if($resource.getMethodsAsString().contains("GET")||$resource.getMethodsAsString().contains("DELETE")) #if($resource.getMethodsAsString().contains("GET")||$resource.getMethodsAsString().contains("DELETE"))
<property name="NO_ENTITY_BODY" scope="axis2" action="remove"/> <property name="NO_ENTITY_BODY" scope="axis2" action="remove"/>
#end #end
<respond/> <respond/>
</inSequence> </inSequence>
<outSequence> <outSequence>
<send/> <send/>
</outSequence> </outSequence>
</resource> </resource>
#set ($resourceNo = $resourceNo + 1) #set ($resourceNo = $resourceNo + 1)
#end ## end of resource iterator #end ## end of resource iterator
## print the handlers ## print the handlers
@ -254,9 +254,9 @@
</handler> </handler>
#end #end
</handlers> </handlers>
#end #end
#if($apiStatus == 'PROTOTYPED') #if($apiStatus == 'PROTOTYPED')
#end #end
#end #end
## end of apiIsBlocked check ## end of apiIsBlocked check
</api> </api>

@ -76,31 +76,31 @@
</markForSuspension> </markForSuspension>
#end #end
#macro ( http_endpoint $name $ep ) #macro ( http_endpoint $name $ep )
<endpoint name="$name"> <endpoint name="$name">
<http uri-template="$util.escapeXml($ep.get("url"))"> <http uri-template="$util.escapeXml($ep.get("url"))">
#timeout( $ep.get('config') ) #timeout( $ep.get('config') )
</http> </http>
<property name="ENDPOINT_ADDRESS" value="$util.escapeXml($ep.get("url"))"/> <property name="ENDPOINT_ADDRESS" value="$util.escapeXml($ep.get("url"))"/>
</endpoint> </endpoint>
#end #end
#macro ( address_endpoint $name $ep ) #macro ( address_endpoint $name $ep )
<endpoint xmlns="http://ws.apache.org/ns/synapse" name="$name"> <endpoint xmlns="http://ws.apache.org/ns/synapse" name="$name">
#set( $advance_ep = $ep.get("config") ) #set( $advance_ep = $ep.get("config") )
<address uri="$util.escapeXml($ep.get("url"))" <address uri="$util.escapeXml($ep.get("url"))"
#if($advance_ep.get("format") && $advance_ep.get("format") != "" && $advance_ep.get("format") != 'leave-as-is') #if($advance_ep.get("format") && $advance_ep.get("format") != "" && $advance_ep.get("format") != 'leave-as-is')
format="$advance_ep.get("format")" format="$advance_ep.get("format")"
#end #end
#if($advance_ep.get("optimize") && $advance_ep.get("optimize") != "" && $advance_ep.get("optimize") != 'leave-as-is') #if($advance_ep.get("optimize") && $advance_ep.get("optimize") != "" && $advance_ep.get("optimize") != 'leave-as-is')
optimize="$advance_ep.get("optimize")" optimize="$advance_ep.get("optimize")"
#end
>
#timeout( $ep.get('config') )
</address>
<property name="ENDPOINT_ADDRESS" value="$util.escapeXml($ep.get("url"))"/>
</endpoint>
#end #end
>
#timeout( $ep.get('config') )
</address>
<property name="ENDPOINT_ADDRESS" value="$util.escapeXml($ep.get("url"))"/>
</endpoint>
#end
#macro ( draw_endpoint $type $endpoint_config ) #macro ( draw_endpoint $type $endpoint_config )
@ -126,16 +126,16 @@ optimize="$advance_ep.get("optimize")"
<property name="MessageType" expression="get-property('axis2', 'messageType')"/> <property name="MessageType" expression="get-property('axis2', 'messageType')"/>
<enrich> <enrich>
<source type="body" clone="true"/> <source type="body" clone="true"/>
<target type="property" property="MessageBody"/> <target type="property" property="MessageBody"/>
</enrich> </enrich>
<call> <call>
<endpoint name="$ep_name"> <endpoint name="$ep_name">
<http uri-template="$util.escapeXml($endpoints.get("url"))"> <http uri-template="$util.escapeXml($endpoints.get("url"))">
</http> </http>
</endpoint> </endpoint>
</call> </call>
<class name="org.wso2.carbon.apimgt.gateway.mediators.DigestAuthMediator"/> <class name="org.wso2.carbon.apimgt.gateway.mediators.DigestAuthMediator"/>
@ -146,8 +146,8 @@ optimize="$advance_ep.get("optimize")"
<property name="POST_TO_URI" value="true" scope="axis2"/> <property name="POST_TO_URI" value="true" scope="axis2"/>
<enrich> <enrich>
<source type="property" property="MessageBody" clone="true"/> <source type="property" property="MessageBody" clone="true"/>
<target type="body"/> <target type="body"/>
</enrich> </enrich>
#else #else
@ -193,18 +193,18 @@ optimize="$advance_ep.get("optimize")"
<endpoint xmlns="http://ws.apache.org/ns/synapse" name="$ep_name"> <endpoint xmlns="http://ws.apache.org/ns/synapse" name="$ep_name">
<failover> <failover>
#if($endpoints.get("endpoint_type") == "address") #if($endpoints.get("endpoint_type") == "address")
#address_endpoint("${ep_name}_0" $endpoints) #address_endpoint("${ep_name}_0" $endpoints)
#else #else
#http_endpoint("${ep_name}_0" $endpoints) #http_endpoint("${ep_name}_0" $endpoints)
#end #end
#set( $i = 1) #set( $i = 1)
#foreach($endpoint in $failover_endpoints) #foreach($endpoint in $failover_endpoints)
#if($endpoint.get("endpoint_type") == "address") #if($endpoint.get("endpoint_type") == "address")
#address_endpoint("${ep_name}_$i" $endpoint) #address_endpoint("${ep_name}_$i" $endpoint)
#else #else
#http_endpoint("${ep_name}_$i" $endpoint) #http_endpoint("${ep_name}_$i" $endpoint)
#end #end
#set( $i = $i + 1) #set( $i = $i + 1)
#end #end
</failover> </failover>
</endpoint> </endpoint>
@ -223,19 +223,19 @@ optimize="$advance_ep.get("optimize")"
#end> #end>
#set( $i = 0) #set( $i = 0)
#foreach($endpoint in $endpoints) #foreach($endpoint in $endpoints)
#if($endpoint.get("endpoint_type") == "address") #if($endpoint.get("endpoint_type") == "address")
#address_endpoint("${ep_name}_$i" $endpoint) #address_endpoint("${ep_name}_$i" $endpoint)
#else #else
#http_endpoint("${ep_name}_$i" $endpoint) #http_endpoint("${ep_name}_$i" $endpoint)
#end #end
#set( $i = $i + 1) #set( $i = $i + 1)
#end #end
</loadbalance> </loadbalance>
</endpoint> </endpoint>
#elseif ($endpointClass == "default") #elseif ($endpointClass == "default")
<endpoint name="$ep_name"> <endpoint name="$ep_name">
<default> <default>
</default> </default>
</endpoint> </endpoint>
#end #end
</send> </send>
@ -367,9 +367,9 @@ optimize="$advance_ep.get("optimize")"
#if($apiStatus == 'PROTOTYPED') #if($apiStatus == 'PROTOTYPED')
#end #end
## end of apiIsBlocked check ## end of apiIsBlocked check
<handlers> <handlers>
<handler class="org.wso2.carbon.apimgt.gateway.handlers.security.CORSRequestHandler"> <handler class="org.wso2.carbon.apimgt.gateway.handlers.security.CORSRequestHandler">
<property name="inline" value="INLINE"/> <property name="inline" value="INLINE"/>
</handler> </handler>
</handlers> </handlers>
</api> </api>

@ -218,6 +218,8 @@
<include>**/application-authentication.xml</include> <include>**/application-authentication.xml</include>
<include>**/broker.xml</include> <include>**/broker.xml</include>
<include>**/log4j.properties</include> <include>**/log4j.properties</include>
<include>**/nhttp.properties</include>
<include>**/passthru-http.properties</include>
</includes> </includes>
</fileSet> </fileSet>
<fileSet> <fileSet>

@ -30,7 +30,7 @@
<PublishAPI>true</PublishAPI> <PublishAPI>true</PublishAPI>
<!-- If it is true, the APIs of this instance will be updated when the webapps are redeployed --> <!-- If it is true, the APIs of this instance will be updated when the webapps are redeployed -->
<EnabledUpdateApi>true</EnabledUpdateApi> <EnabledUpdateApi>false</EnabledUpdateApi>
<!--Webapp will be published only when running below profiles--> <!--Webapp will be published only when running below profiles-->
<Profiles> <Profiles>

@ -0,0 +1,46 @@
#
# Copyright (c) 2005-2010, WSO2 Inc. (http://wso2.com) All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
# This file contains the configuration parameters used by the Non-blocking HTTP transport
#http.socket.timeout=60000
#http.socket.buffer-size=8192
#http.tcp.nodelay=1
#http.connection.stalecheck=0
# Uncomment the following property for an AIX based deployment
#http.nio.interest-ops-queueing=true
# HTTP Sender thread pool parameters
#snd_t_core=20
#snd_t_max=100
#snd_alive_sec=5
#snd_qlen=-1
#snd_io_threads=2
# HTTP Listener thread pool parameters
#lst_t_core=20
#lst_t_max=100
#lst_alive_sec=5
#lst_qlen=-1
#lst_io_threads=2
nhttp.rest.dispatcher.service=__MultitenantDispatcherService
rest_uri_api_regex=\\w+://.+:\\d+/t/.*|\\w+://.+\\w+/t/.*|^(/t/).*
rest_uri_proxy_regex=\\w+://.+:\\d+/services/t/.*|\\w+://.+\\w+/services/t/.*|^(/services/t/)
# This property is crucial for automated tests
http.socket.reuseaddr=true

@ -0,0 +1,51 @@
#
# Copyright (c) 2005-2010, WSO2 Inc. (http://wso2.com) All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
## This file contains the configuration parameters used by the Pass-through HTTP transport
## Nhttp tuning parameters
#http.socket.timeout=60000
#http.connection.timeout=0
#http.socket.buffer-size=8192
#http.socket.linger=-1
#http.nio.select-interval=1000
#http.tcp.nodelay=true
#http.connection.stalecheck=false
#http.socket.reuseaddr=false
## Uncomment the following for AIX based deployments
#http.nio.interest-ops-queueing=true
## Pass-through HTTP transport specific tuning parameters
worker_pool_size_core=400
worker_pool_size_max=500
#worker_thread_keepalive_sec=60
#worker_pool_queue_length=-1
#io_threads_per_reactor=2
io_buffer_size=16384
#http.max.connection.per.host.port=32767
## Other parameters
#http.user.agent.preserve=false
#http.server.preserve=true
#http.connection.disable.keepalive=false
# URI configurations that determine if it requires custom rest dispatcher
rest_uri_api_regex=\\w+://.+:\\d+/t/.*|\\w+://.+\\w+/t/.*|^(/t/).*
rest_uri_proxy_regex=\\w+://.+:\\d+/services/t/.*|\\w+://.+\\w+/services/t/.*|^(/services/t/)
# This property is crucial for automated tests
http.socket.reuseaddr=true
Loading…
Cancel
Save