first draft of the is-registry role

This commit is contained in:
Antonio Calanducci 2023-10-03 16:32:13 +02:00
parent 49f065a02a
commit 308eb152cb
8 changed files with 663 additions and 7 deletions

View File

@ -2,8 +2,8 @@ version: '3.6'
networks: networks:
is-registry-network: is-registry-network:
haproxy-public: #haproxy-public:
external: true # external: true
secrets: secrets:
ghn-config: ghn-config:
@ -14,11 +14,13 @@ secrets:
services: services:
is-registry: is-registry:
image: d4science/gcore-is-registry image: d4science/gcore-is-registry
#image: is-registry-service
ports: ports:
- "8080:8080" - "8080:8080"
- "3000:3000"
networks: networks:
- is-registry-network - is-registry-network
- haproxy-public # - haproxy-public
secrets: secrets:
- source: ghn-config - source: ghn-config
target: /home/gcube/gCore/config/GHNConfig.xml target: /home/gcube/gCore/config/GHNConfig.xml
@ -29,13 +31,13 @@ services:
deploy: deploy:
mode: replicated mode: replicated
replicas: 1 replicas: 1
endpoint_mode: dnsrr #endpoint_mode: dnsrr
placement: placement:
constraints: [node.role == worker] constraints: [node.role == manager]
restart_policy: restart_policy:
condition: on-failure condition: on-failure
delay: 5s delay: 5s
max_attempts: 5 max_attempts: 5
window: 120s window: 120s
logging: #logging:
driver: 'journald' # driver: 'journald'

View File

@ -1,2 +1,13 @@
--- ---
# defaults file for is-registry # defaults file for is-registry
start_scopes: 'devNext'
infrastructure: 'gCube'
complete_start_scope: '/gcube/devNext'
gcore_host: 'node14-d-d4s.d4science.org'
is-registry_compose_dir: '/srv/is-registry_stack'
is-registry_docker_stack_name: 'is-registry'
is-registry_docker_service_server_name: 'is-registry'
is-registry_docker_server_image: 'd4science/gcore-is-registry'
is-registry_docker_network: 'is-registry-network'
is-registry_service_port: 8080
is-registry_haproxy_public_net: 'haproxy-public'

View File

@ -1,2 +1,67 @@
--- ---
# tasks file for is-registry # tasks file for is-registry
- name: Create the directory where the compose file will be installed
ansible.builtin.file:
dest: '{{ is-registry_compose_dir }}'
state: directory
mode: 0750
owner: root
group: root
- name: Install the docker compose file
ansible.builtin.template:
src: docker-compose.yml.j2
dest: '{{ is-registry_compose_dir }}/is-registry-docker-compose.yml'
owner: root
group: root
mode: 0400
- name: Install the GHNConfig.xml
ansible.builtin.template:
src: GHNConfig.xml.j2
dest: "{{ is-registry_compose_dir }}/GHNConfig.xml"
owner: root
group: root
mode: 0400
- name: Install the jndi-config.xml
ansible.builtin.template:
src: jndi-config.xml.j2
dest: "{{ is-registry_compose_dir }}/jndi-config.xml"
owner: root
group: root
mode: 0400
- name: Install the server-config.wsdd
ansible.builtin.template:
src: server-config.wsdd.j2
dest: "{{ is-registry_compose_dir }}/server-config.wsdd"
owner: root
group: root
mode: 0400
- name: Create the secret for GHNConfig.xml
community.docker.docker_secret:
name: ghn-config
data_src: '{{ is-registry_compose_dir }}/GHNConfig.xml'
state: present
- name: Create the secret for jndi-config.xml
community.docker.docker_secret:
name: jndi-config
data_src: '{{ is-registry_compose_dir }}/jndi-config.xml'
state: present
- name: Create the secret for server-config.wsdd
community.docker.docker_secret:
name: server-config
data_src: '{{ is-registry_compose_dir }}/server-config.wsdd'
state: present
- name: Start the project stack on Docker Swarm
community.docker.docker_stack:
name: '{{ is-registry-stack }}'
state: present
compose:
- '{{ is-registry_compose_dir }}/is-registry-docker-compose.yml'

View File

@ -0,0 +1,81 @@
<?xml version="1.0" encoding="UTF-8"?>
<jndiConfig xmlns="http://wsrf.globus.org/jndi/config">
<global>
<environment
name="securityenabled"
value="false"
type="java.lang.Boolean"
override="false" />
<environment
name="accountingenabled"
value="false"
type="java.lang.Boolean"
override="false" />
<environment
name="mode"
value="ROOT"
type="java.lang.String"
override="false" />
<!-- multiple scopes must be separated by a comma (e.g "EM,testing")-->
<environment
name="startScopes"
value="devNext"
type="java.lang.String"
override="false" />
<environment
name="allowedScopes"
value=""
type="java.lang.String"
override="false" />
<environment
name="infrastructure"
value="gcube"
type="java.lang.String"
override="false" />
<environment
name="labels"
value="GHNLabels.xml"
type="java.lang.String"
override="false" />
<environment
name="GHNtype"
value="STATIC"
type="java.lang.String"
override="false" />
<environment
name="localProxy"
value="/home/globus/..."
type="java.lang.String"
override="false" />
<environment
name="coordinates"
value="43.719627,10.421626"
type="java.lang.String"
override="false" />
<environment
name="country"
value="it"
type="java.lang.String"
override="false" />
<environment
name="location"
value="Pisa"
type="java.lang.String"
override="false" />
<environment
name="updateInterval"
value="60"
type="java.lang.Long"
override="false" />
<environment
name="trustedGHNSynchInterval"
value="600"
type="java.lang.Long"
override="false" />
</global>
</jndiConfig>

View File

@ -0,0 +1,47 @@
version: '3.6'
networks:
{{ is-registry_docker_network }}:
{{ is-registry_haproxy_public_net }}:
external: true
secrets:
ghn-config:
external: true
jndi-config:
external: true
server-config:
external: true
services:
{{ is-registry_docker_service_server_name }}:
image: {{ is-registry_docker_server_image }}
ports:
- "8080:8080"
- "3000:3000"
networks:
- {{ is-registry_docker_network }}
- {{ is-registry_haproxy_public_net }}
secrets:
- source: ghn-config
target: /home/gcube/gCore/config/GHNConfig.xml
mode: 0444
- source: jndi-config
target: /home/gcube/gCore/etc/is-registry-service/jndi-config.xml
mode: 0444
- source: server-config
target: /home/gcube/gCore/etc/globus_wsrf_core/server-config.wsdd
mode: 0444
deploy:
mode: replicated
replicas: 1
#endpoint_mode: dnsrr
placement:
constraints: [node.role == manager]
restart_policy:
condition: on-failure
delay: 5s
max_attempts: 5
window: 120s
#logging:
# driver: 'journald'

View File

@ -0,0 +1,50 @@
<?xml version="1.0" encoding="UTF-8"?>
<jndiConfig xmlns="http://wsrf.globus.org/jndi/config">
<service name="gcube/informationsystem/registry">
<environment name="configDir" value="@config.dir@" type="java.lang.String"
override="false" />
<!--
<environment name="startScopes" value="" type="java.lang.String"
override="false" />
-->
</service>
<service name="gcube/informationsystem/registry/ResourceRegistration">
<environment name="name" value="ResourceRegistration" type="java.lang.String"
override="false" />
</service>
<service name="gcube/informationsystem/registry/RegistryFactory">
<environment name="name" value="RegistryFactory" type="java.lang.String"
override="false" />
<environment name="RPDName" value="RegistryFactoryResourceProperties"
type="java.lang.String" override="false" />
<resource name="home"
type="org.gcube.informationsystem.registry.impl.state.RegistryFactoryResourceHome">
<resourceParams>
<parameter>
<name>factory</name>
<value>org.globus.wsrf.jndi.BeanFactory</value>
</parameter>
<parameter>
<name>resourceClass</name>
<value>org.gcube.informationsystem.registry.impl.state.RegistryFactoryResource
</value>
</parameter>
</resourceParams>
</resource>
</service>
</jndiConfig>

View File

@ -0,0 +1,200 @@
<?xml version="1.0"?>
<deployment name="defaultServerConfig" xmlns="http://xml.apache.org/axis/wsdd/" xmlns:java="http://xml.apache.org/axis/wsdd/providers/java" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/03/addressing" xmlns:wsnt="http://docs.oasis-open.org/wsn/2004/06/wsn-WS-BaseNotification-1.2-draft-01.xsd" xmlns:wsrp="http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceProperties-1.2-draft-01.xsd" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<globalConfiguration>
<parameter name="usageStatisticsTargets" value="usage-stats.globus.org:4810"/>
<parameter name="logicalHost" value="node14-d-d4s.d4science.org"/>
<parameter name="publishHostName" value="true"/>
<parameter name="containerThreads" value="2"/>
<parameter name="containerThreadsMax" value="100"/>
<parameter name="sendXsiTypes" value="true"/>
<!-- @CONTAINER_SECURITY_DESCRIPTOR@ -->
<!-- <parameter name="defaultSecurityConfiguration" value="etc/globus_wsrf_core/security_configuration.properties"/>
<parameter name="containerSecDesc" value="etc/globus_wsrf_core/global_security_descriptor.xml"/> -->
<!-- OPERATION PROVIDERS -->
<parameter name="GCUBEProvider" value="org.gcube.common.core.porttypes.GCUBEProvider"/>
<parameter name="GCUBENotificationProvider" value="org.gcube.common.core.porttypes.GCUBENotificationProvider"/>
<parameter name="DestroyProvider" value="org.globus.wsrf.impl.lifetime.DestroyProvider"/>
<parameter name="SetTerminationTimeProvider" value="org.globus.wsrf.impl.lifetime.SetTerminationTimeProvider"/>
<parameter name="GetRPProvider" value="org.globus.wsrf.impl.properties.GetResourcePropertyProvider"/>
<parameter name="GetMRPProvider" value="org.globus.wsrf.impl.properties.GetMultipleResourcePropertiesProvider"/>
<parameter name="SetRPProvider" value="org.globus.wsrf.impl.properties.SetResourcePropertiesProvider"/>
<parameter name="QueryRPProvider" value="org.globus.wsrf.impl.properties.QueryResourcePropertiesProvider"/>
<parameter name="SubscribeProvider" value="org.globus.wsrf.impl.notification.SubscribeProvider"/>
<parameter name="GetCurrentMessageProvider" value="org.globus.wsrf.impl.notification.GetCurrentMessageProvider"/>
<parameter name="PauseSubscriptionProvider" value="org.globus.wsrf.impl.notification.PauseSubscriptionProvider"/>
<parameter name="ResumeSubscriptionProvider" value="org.globus.wsrf.impl.notification.ResumeSubscriptionProvider"/>
<parameter name="NotificationConsumerProvider" value="org.globus.wsrf.impl.notification.NotificationConsumerProvider"/>
<!-- WS Secure Conversation service -->
<parameter name="authenticationService" value="gsi/AuthenticationService"/>
<requestFlow>
<!-- The AddressingHandler must be first -->
<handler type="java:org.globus.wsrf.handlers.AddressingHandler"/>
<!-- The URLMapper must be second -->
<handler type="java:org.globus.wsrf.handlers.URLMapper"/>
<!-- @TOMCAT_SEC_HANDLER@ -->
<!-- The AuthenticationServiceHandler must be third -->
<handler type="AuthenticationServiceHandler"/>
<handler type="java:org.globus.wsrf.handlers.JAXRPCHandler">
<parameter name="className" value="org.globus.wsrf.impl.security.authentication.wssec.WSSecurityHandler"/>
</handler>
<handler type="java:org.globus.wsrf.impl.security.authentication.SecurityPolicyHandler"/>
<handler type="java:org.globus.wsrf.impl.security.authorization.AuthorizationHandler"/>
<handler type="java:org.gcube.common.handlers.GCUBEHandler"/>
<!-- The FaultHandler must be last -->
<handler type="java:org.globus.wsrf.handlers.FaultHandler"/>
</requestFlow>
<responseFlow>
<!-- The WSDLHandler must be first -->
<handler type="java:org.globus.wsrf.handlers.WSDLHandler"/>
<handler type="java:org.globus.wsrf.handlers.AddressingHandler"/>
<handler type="java:org.apache.axis.handlers.JAXRPCHandler">
<parameter name="className" value="org.globus.wsrf.impl.security.authentication.securemsg.X509EncryptHandler"/>
</handler>
<handler type="java:org.apache.axis.handlers.JAXRPCHandler">
<parameter name="className" value="org.globus.wsrf.impl.security.authentication.securemsg.X509SignHandler"/>
</handler>
<handler type="java:org.apache.axis.handlers.JAXRPCHandler">
<parameter name="className" value="org.globus.wsrf.impl.security.authentication.UsernameHandler"/>
</handler>
<handler type="java:org.apache.axis.handlers.JAXRPCHandler">
<parameter name="className" value="org.globus.wsrf.impl.security.authentication.secureconv.GSSHandler"/>
</handler>
<handler type="java:org.globus.wsrf.handlers.MessageLoggingHandler"/>
<handler type="java:org.gcube.common.handlers.GCUBEHandler"/>
</responseFlow>
</globalConfiguration>
<handler name="RPCDispatcher" type="java:org.apache.axis.providers.java.RPCProvider"/>
<handler name="URLMapper" type="java:org.apache.axis.handlers.http.URLMapper"/>
<handler name="MsgDispatcher" type="java:org.apache.axis.providers.java.MsgProvider"/>
<handler name="LocalRequester" type="java:org.globus.axis.transport.local.LocalRequester"/>
<handler name="LocalResponder" type="java:org.apache.axis.transport.local.LocalResponder"/>
<handler name="logger" type="java:org.apache.axis.handlers.LogHandler"/>
<handler name="Authenticate" type="java:org.apache.axis.handlers.SimpleAuthenticationHandler"/>
<handler name="AuthenticationServiceHandler" type="java:org.globus.wsrf.impl.security.authentication.secureconv.service.AuthenticationServiceHandler"/>
<!--<service name="AdminService" provider="java:MSG">
<namespace>http://xml.apache.org/axis/wsdd/</namespace>
<parameter name="allowedMethods" value="AdminService"/>
<parameter name="enableRemoteAdmin" value="false"/>
<parameter name="className" value="org.apache.axis.utils.Admin"/>
</service>-->
<!--<service name="Version" provider="java:RPC">
<parameter name="allowedMethods" value="getVersion"/>
<parameter name="className" value="org.apache.axis.Version"/>
</service>-->
<service name="NotificationConsumerService" provider="Handler" style="document" use="literal">
<parameter name="allowedMethods" value="*"/>
<parameter name="handlerClass" value="org.globus.axis.providers.RPCProvider"/>
<parameter name="className" value="org.globus.wsrf.impl.notification.NotificationConsumerProvider"/>
<wsdlFile>share/schema/core/notification/notification_consumer_service.wsdl</wsdlFile>
<typeMapping deserializer="org.apache.axis.encoding.ser.ElementDeserializerFactory" encodingStyle="" qname="xsd:anyType" type="java:java.lang.Object" xmlns:xsd="http://www.w3.org/2001/XMLSchema"/>
<typeMapping deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory" encodingStyle="" name="ResourcePropertyValueChangeNotificationElementType" qname="ns1:ResourcePropertyValueChangeNotificationElementType" serializer="org.apache.axis.encoding.ser.BeanSerializerFactory" type="java:org.globus.wsrf.core.notification.ResourcePropertyValueChangeNotificationElementType" xmlns:ns1="http://wsrf.globus.org/core/notification"/>
</service>
<service name="SubscriptionManagerService" provider="Handler" style="document" use="literal">
<parameter name="allowedMethods" value="*"/>
<parameter name="scope" value="Application"/>
<parameter name="providers" value="DestroyProvider SetTerminationTimeProvider GetRPProvider PauseSubscriptionProvider"/>
<parameter name="handlerClass" value="org.globus.axis.providers.RPCProvider"/>
<parameter name="className" value="org.globus.wsrf.impl.notification.ResumeSubscriptionProvider"/>
<wsdlFile>share/schema/core/notification/subscription_manager_service.wsdl</wsdlFile>
</service>
<service name="gsi/AuthenticationService" provider="Handler" style="document" use="literal">
<parameter name="handlerClass" value="org.globus.axis.providers.RPCProvider"/>
<parameter name="allowedMethods" value="*"/>
<parameter name="className" value="org.globus.wsrf.impl.security.authentication.secureconv.service.AuthenticationServiceImpl"/>
<wsdlFile>share/schema/core/security/secconv/secure_conversation_service.wsdl</wsdlFile>
</service>
<!--<service name="ShutdownService" provider="java:RPC" style="document" use="literal">
<parameter name="allowedMethods" value="*"/>
<parameter name="className" value="org.globus.wsrf.container.ShutdownService"/>
<wsdlFile>share/schema/core/management/shutdown_service.wsdl</wsdlFile>
<parameter name="securityDescriptor" value="org/globus/wsrf/impl/security/descriptor/gsi-security-config.xml"/>
</service>-->
<transport name="http">
<parameter name="qs:list" value="org.apache.axis.transport.http.QSListHandler"/>
<parameter name="qs:method" value="org.apache.axis.transport.http.QSMethodHandler"/>
<parameter name="qs:wsdl" value="org.apache.axis.transport.http.QSWSDLHandler"/>
<requestFlow>
<handler type="java:org.apache.axis.handlers.http.HTTPAuthHandler"/>
</requestFlow>
</transport>
<transport name="local">
<requestFlow>
<handler type="LocalRequester"/>
</requestFlow>
<responseFlow>
<handler type="LocalResponder"/>
</responseFlow>
</transport>
<transport name="SimpleHTTP">
<requestFlow/>
</transport>
<typeMapping deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory" encodingStyle="" name="DeleteType" qname="wsrp:DeleteType" serializer="org.apache.axis.encoding.ser.BeanSerializerFactory" type="java:org.oasis.wsrf.properties.DeleteType"/>
<typeMapping deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory" encodingStyle="" name="InsertType" qname="wsrp:InsertType" serializer="org.apache.axis.encoding.ser.BeanSerializerFactory" type="java:org.oasis.wsrf.properties.InsertType"/>
<typeMapping deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory" encodingStyle="" name="UpdateType" qname="wsrp:UpdateType" serializer="org.apache.axis.encoding.ser.BeanSerializerFactory" type="java:org.oasis.wsrf.properties.UpdateType"/>
<typeMapping deserializer="org.globus.wsrf.encoding.TopicExpressionDeserializerFactory" encodingStyle="" name="TopicExpressionType" qname="wsnt:TopicExpressionType" serializer="org.globus.wsrf.encoding.TopicExpressionSerializerFactory" type="java:org.oasis.wsn.TopicExpressionType"/>
<typeMapping deserializer="org.globus.wsrf.encoding.AnyListDeserializerFactory" encodingStyle="" name=">SetResourceProperties" qname="wsrp:>SetResourceProperties" serializer="org.globus.wsrf.encoding.AnyListSerializerFactory" type="java:org.oasis.wsrf.properties.SetResourceProperties_Element"/>
<typeMapping deserializer="org.globus.wsrf.encoding.QueryExpressionDeserializerFactory" encodingStyle="" name="QueryExpressionType" qname="wsrp:QueryExpressionType" serializer="org.globus.wsrf.encoding.QueryExpressionSerializerFactory" type="java:org.oasis.wsrf.properties.QueryExpressionType"/>
<!-- WS-Addressing Bits -->
<typeMapping deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory" encodingStyle="" qname="wsa:EndpointReferenceType" serializer="org.apache.axis.encoding.ser.BeanSerializerFactory" type="java:org.apache.axis.message.addressing.EndpointReferenceType"/>
<typeMapping deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory" encodingStyle="" qname="wsa:ReferencePropertiesType" serializer="org.apache.axis.encoding.ser.BeanSerializerFactory" type="java:org.apache.axis.message.addressing.ReferencePropertiesType"/>
<typeMapping deserializer="org.apache.axis.encoding.ser.SimpleDeserializerFactory" encodingStyle="" qname="wsa:AttributedURI" serializer="org.apache.axis.encoding.ser.SimpleSerializerFactory" type="java:org.apache.axis.message.addressing.AttributedURI"/>
<typeMapping deserializer="org.apache.axis.encoding.ser.SimpleDeserializerFactory" encodingStyle="" qname="wsa:AttributedQName" serializer="org.apache.axis.encoding.ser.SimpleSerializerFactory" type="java:org.apache.axis.message.addressing.AttributedQName"/>
<typeMapping deserializer="org.apache.axis.encoding.ser.SimpleDeserializerFactory" encodingStyle="" qname="wsa:ServiceNameType" serializer="org.apache.axis.encoding.ser.SimpleSerializerFactory" type="java:org.apache.axis.message.addressing.ServiceNameType"/>
<!-- WS Trust and WS Secure Conversation -->
<typeMapping deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory" encodingStyle="" qname="ns1:SecurityContextTokenType" serializer="org.apache.axis.encoding.ser.BeanSerializerFactory" type="java:org.globus.ws.sc.SecurityContextTokenType" xmlns:ns1="http://schemas.xmlsoap.org/ws/2004/04/sc"/>
<typeMapping deserializer="org.apache.axis.encoding.ser.SimpleDeserializerFactory" encodingStyle="" qname="ns1:BinaryExchangeType" serializer="org.apache.axis.encoding.ser.SimpleSerializerFactory" type="java:org.globus.ws.trust.BinaryExchangeType" xmlns:ns1="http://schemas.xmlsoap.org/ws/2004/04/trust"/>
<!-- GCUBE Faults -->
<typeMapping deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory" encodingStyle="" qname="ns1:GCUBEUnrecoverableFault" serializer="org.apache.axis.encoding.ser.BeanSerializerFactory" type="java:org.gcube.common.core.faults.GCUBEUnrecoverableFault" xmlns:ns1="http://gcube-system.org/namespaces/common/core/faults"/>
<typeMapping deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory" encodingStyle="" qname="ns1:GCUBERetrySameFault" serializer="org.apache.axis.encoding.ser.BeanSerializerFactory" type="java:org.gcube.common.core.faults.GCUBERetrySameFault" xmlns:ns1="http://gcube-system.org/namespaces/common/core/faults"/>
<typeMapping deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory" encodingStyle="" qname="ns1:GCUBERetryEquivalentFault" serializer="org.apache.axis.encoding.ser.BeanSerializerFactory" type="java:org.gcube.common.core.faults.GCUBERetryEquivalentFault" xmlns:ns1="http://gcube-system.org/namespaces/common/core/faults"/>
</deployment>

200
server-config.wsdd Normal file
View File

@ -0,0 +1,200 @@
<?xml version="1.0"?>
<deployment name="defaultServerConfig" xmlns="http://xml.apache.org/axis/wsdd/" xmlns:java="http://xml.apache.org/axis/wsdd/providers/java" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/03/addressing" xmlns:wsnt="http://docs.oasis-open.org/wsn/2004/06/wsn-WS-BaseNotification-1.2-draft-01.xsd" xmlns:wsrp="http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceProperties-1.2-draft-01.xsd" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<globalConfiguration>
<parameter name="usageStatisticsTargets" value="usage-stats.globus.org:4810"/>
<parameter name="logicalHost" value="node14-d-d4s.d4science.org"/>
<parameter name="publishHostName" value="true"/>
<parameter name="containerThreads" value="2"/>
<parameter name="containerThreadsMax" value="100"/>
<parameter name="sendXsiTypes" value="true"/>
<!-- @CONTAINER_SECURITY_DESCRIPTOR@ -->
<!-- <parameter name="defaultSecurityConfiguration" value="etc/globus_wsrf_core/security_configuration.properties"/>
<parameter name="containerSecDesc" value="etc/globus_wsrf_core/global_security_descriptor.xml"/> -->
<!-- OPERATION PROVIDERS -->
<parameter name="GCUBEProvider" value="org.gcube.common.core.porttypes.GCUBEProvider"/>
<parameter name="GCUBENotificationProvider" value="org.gcube.common.core.porttypes.GCUBENotificationProvider"/>
<parameter name="DestroyProvider" value="org.globus.wsrf.impl.lifetime.DestroyProvider"/>
<parameter name="SetTerminationTimeProvider" value="org.globus.wsrf.impl.lifetime.SetTerminationTimeProvider"/>
<parameter name="GetRPProvider" value="org.globus.wsrf.impl.properties.GetResourcePropertyProvider"/>
<parameter name="GetMRPProvider" value="org.globus.wsrf.impl.properties.GetMultipleResourcePropertiesProvider"/>
<parameter name="SetRPProvider" value="org.globus.wsrf.impl.properties.SetResourcePropertiesProvider"/>
<parameter name="QueryRPProvider" value="org.globus.wsrf.impl.properties.QueryResourcePropertiesProvider"/>
<parameter name="SubscribeProvider" value="org.globus.wsrf.impl.notification.SubscribeProvider"/>
<parameter name="GetCurrentMessageProvider" value="org.globus.wsrf.impl.notification.GetCurrentMessageProvider"/>
<parameter name="PauseSubscriptionProvider" value="org.globus.wsrf.impl.notification.PauseSubscriptionProvider"/>
<parameter name="ResumeSubscriptionProvider" value="org.globus.wsrf.impl.notification.ResumeSubscriptionProvider"/>
<parameter name="NotificationConsumerProvider" value="org.globus.wsrf.impl.notification.NotificationConsumerProvider"/>
<!-- WS Secure Conversation service -->
<parameter name="authenticationService" value="gsi/AuthenticationService"/>
<requestFlow>
<!-- The AddressingHandler must be first -->
<handler type="java:org.globus.wsrf.handlers.AddressingHandler"/>
<!-- The URLMapper must be second -->
<handler type="java:org.globus.wsrf.handlers.URLMapper"/>
<!-- @TOMCAT_SEC_HANDLER@ -->
<!-- The AuthenticationServiceHandler must be third -->
<handler type="AuthenticationServiceHandler"/>
<handler type="java:org.globus.wsrf.handlers.JAXRPCHandler">
<parameter name="className" value="org.globus.wsrf.impl.security.authentication.wssec.WSSecurityHandler"/>
</handler>
<handler type="java:org.globus.wsrf.impl.security.authentication.SecurityPolicyHandler"/>
<handler type="java:org.globus.wsrf.impl.security.authorization.AuthorizationHandler"/>
<handler type="java:org.gcube.common.handlers.GCUBEHandler"/>
<!-- The FaultHandler must be last -->
<handler type="java:org.globus.wsrf.handlers.FaultHandler"/>
</requestFlow>
<responseFlow>
<!-- The WSDLHandler must be first -->
<handler type="java:org.globus.wsrf.handlers.WSDLHandler"/>
<handler type="java:org.globus.wsrf.handlers.AddressingHandler"/>
<handler type="java:org.apache.axis.handlers.JAXRPCHandler">
<parameter name="className" value="org.globus.wsrf.impl.security.authentication.securemsg.X509EncryptHandler"/>
</handler>
<handler type="java:org.apache.axis.handlers.JAXRPCHandler">
<parameter name="className" value="org.globus.wsrf.impl.security.authentication.securemsg.X509SignHandler"/>
</handler>
<handler type="java:org.apache.axis.handlers.JAXRPCHandler">
<parameter name="className" value="org.globus.wsrf.impl.security.authentication.UsernameHandler"/>
</handler>
<handler type="java:org.apache.axis.handlers.JAXRPCHandler">
<parameter name="className" value="org.globus.wsrf.impl.security.authentication.secureconv.GSSHandler"/>
</handler>
<handler type="java:org.globus.wsrf.handlers.MessageLoggingHandler"/>
<handler type="java:org.gcube.common.handlers.GCUBEHandler"/>
</responseFlow>
</globalConfiguration>
<handler name="RPCDispatcher" type="java:org.apache.axis.providers.java.RPCProvider"/>
<handler name="URLMapper" type="java:org.apache.axis.handlers.http.URLMapper"/>
<handler name="MsgDispatcher" type="java:org.apache.axis.providers.java.MsgProvider"/>
<handler name="LocalRequester" type="java:org.globus.axis.transport.local.LocalRequester"/>
<handler name="LocalResponder" type="java:org.apache.axis.transport.local.LocalResponder"/>
<handler name="logger" type="java:org.apache.axis.handlers.LogHandler"/>
<handler name="Authenticate" type="java:org.apache.axis.handlers.SimpleAuthenticationHandler"/>
<handler name="AuthenticationServiceHandler" type="java:org.globus.wsrf.impl.security.authentication.secureconv.service.AuthenticationServiceHandler"/>
<!--<service name="AdminService" provider="java:MSG">
<namespace>http://xml.apache.org/axis/wsdd/</namespace>
<parameter name="allowedMethods" value="AdminService"/>
<parameter name="enableRemoteAdmin" value="false"/>
<parameter name="className" value="org.apache.axis.utils.Admin"/>
</service>-->
<!--<service name="Version" provider="java:RPC">
<parameter name="allowedMethods" value="getVersion"/>
<parameter name="className" value="org.apache.axis.Version"/>
</service>-->
<service name="NotificationConsumerService" provider="Handler" style="document" use="literal">
<parameter name="allowedMethods" value="*"/>
<parameter name="handlerClass" value="org.globus.axis.providers.RPCProvider"/>
<parameter name="className" value="org.globus.wsrf.impl.notification.NotificationConsumerProvider"/>
<wsdlFile>share/schema/core/notification/notification_consumer_service.wsdl</wsdlFile>
<typeMapping deserializer="org.apache.axis.encoding.ser.ElementDeserializerFactory" encodingStyle="" qname="xsd:anyType" type="java:java.lang.Object" xmlns:xsd="http://www.w3.org/2001/XMLSchema"/>
<typeMapping deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory" encodingStyle="" name="ResourcePropertyValueChangeNotificationElementType" qname="ns1:ResourcePropertyValueChangeNotificationElementType" serializer="org.apache.axis.encoding.ser.BeanSerializerFactory" type="java:org.globus.wsrf.core.notification.ResourcePropertyValueChangeNotificationElementType" xmlns:ns1="http://wsrf.globus.org/core/notification"/>
</service>
<service name="SubscriptionManagerService" provider="Handler" style="document" use="literal">
<parameter name="allowedMethods" value="*"/>
<parameter name="scope" value="Application"/>
<parameter name="providers" value="DestroyProvider SetTerminationTimeProvider GetRPProvider PauseSubscriptionProvider"/>
<parameter name="handlerClass" value="org.globus.axis.providers.RPCProvider"/>
<parameter name="className" value="org.globus.wsrf.impl.notification.ResumeSubscriptionProvider"/>
<wsdlFile>share/schema/core/notification/subscription_manager_service.wsdl</wsdlFile>
</service>
<service name="gsi/AuthenticationService" provider="Handler" style="document" use="literal">
<parameter name="handlerClass" value="org.globus.axis.providers.RPCProvider"/>
<parameter name="allowedMethods" value="*"/>
<parameter name="className" value="org.globus.wsrf.impl.security.authentication.secureconv.service.AuthenticationServiceImpl"/>
<wsdlFile>share/schema/core/security/secconv/secure_conversation_service.wsdl</wsdlFile>
</service>
<!--<service name="ShutdownService" provider="java:RPC" style="document" use="literal">
<parameter name="allowedMethods" value="*"/>
<parameter name="className" value="org.globus.wsrf.container.ShutdownService"/>
<wsdlFile>share/schema/core/management/shutdown_service.wsdl</wsdlFile>
<parameter name="securityDescriptor" value="org/globus/wsrf/impl/security/descriptor/gsi-security-config.xml"/>
</service>-->
<transport name="http">
<parameter name="qs:list" value="org.apache.axis.transport.http.QSListHandler"/>
<parameter name="qs:method" value="org.apache.axis.transport.http.QSMethodHandler"/>
<parameter name="qs:wsdl" value="org.apache.axis.transport.http.QSWSDLHandler"/>
<requestFlow>
<handler type="java:org.apache.axis.handlers.http.HTTPAuthHandler"/>
</requestFlow>
</transport>
<transport name="local">
<requestFlow>
<handler type="LocalRequester"/>
</requestFlow>
<responseFlow>
<handler type="LocalResponder"/>
</responseFlow>
</transport>
<transport name="SimpleHTTP">
<requestFlow/>
</transport>
<typeMapping deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory" encodingStyle="" name="DeleteType" qname="wsrp:DeleteType" serializer="org.apache.axis.encoding.ser.BeanSerializerFactory" type="java:org.oasis.wsrf.properties.DeleteType"/>
<typeMapping deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory" encodingStyle="" name="InsertType" qname="wsrp:InsertType" serializer="org.apache.axis.encoding.ser.BeanSerializerFactory" type="java:org.oasis.wsrf.properties.InsertType"/>
<typeMapping deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory" encodingStyle="" name="UpdateType" qname="wsrp:UpdateType" serializer="org.apache.axis.encoding.ser.BeanSerializerFactory" type="java:org.oasis.wsrf.properties.UpdateType"/>
<typeMapping deserializer="org.globus.wsrf.encoding.TopicExpressionDeserializerFactory" encodingStyle="" name="TopicExpressionType" qname="wsnt:TopicExpressionType" serializer="org.globus.wsrf.encoding.TopicExpressionSerializerFactory" type="java:org.oasis.wsn.TopicExpressionType"/>
<typeMapping deserializer="org.globus.wsrf.encoding.AnyListDeserializerFactory" encodingStyle="" name=">SetResourceProperties" qname="wsrp:>SetResourceProperties" serializer="org.globus.wsrf.encoding.AnyListSerializerFactory" type="java:org.oasis.wsrf.properties.SetResourceProperties_Element"/>
<typeMapping deserializer="org.globus.wsrf.encoding.QueryExpressionDeserializerFactory" encodingStyle="" name="QueryExpressionType" qname="wsrp:QueryExpressionType" serializer="org.globus.wsrf.encoding.QueryExpressionSerializerFactory" type="java:org.oasis.wsrf.properties.QueryExpressionType"/>
<!-- WS-Addressing Bits -->
<typeMapping deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory" encodingStyle="" qname="wsa:EndpointReferenceType" serializer="org.apache.axis.encoding.ser.BeanSerializerFactory" type="java:org.apache.axis.message.addressing.EndpointReferenceType"/>
<typeMapping deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory" encodingStyle="" qname="wsa:ReferencePropertiesType" serializer="org.apache.axis.encoding.ser.BeanSerializerFactory" type="java:org.apache.axis.message.addressing.ReferencePropertiesType"/>
<typeMapping deserializer="org.apache.axis.encoding.ser.SimpleDeserializerFactory" encodingStyle="" qname="wsa:AttributedURI" serializer="org.apache.axis.encoding.ser.SimpleSerializerFactory" type="java:org.apache.axis.message.addressing.AttributedURI"/>
<typeMapping deserializer="org.apache.axis.encoding.ser.SimpleDeserializerFactory" encodingStyle="" qname="wsa:AttributedQName" serializer="org.apache.axis.encoding.ser.SimpleSerializerFactory" type="java:org.apache.axis.message.addressing.AttributedQName"/>
<typeMapping deserializer="org.apache.axis.encoding.ser.SimpleDeserializerFactory" encodingStyle="" qname="wsa:ServiceNameType" serializer="org.apache.axis.encoding.ser.SimpleSerializerFactory" type="java:org.apache.axis.message.addressing.ServiceNameType"/>
<!-- WS Trust and WS Secure Conversation -->
<typeMapping deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory" encodingStyle="" qname="ns1:SecurityContextTokenType" serializer="org.apache.axis.encoding.ser.BeanSerializerFactory" type="java:org.globus.ws.sc.SecurityContextTokenType" xmlns:ns1="http://schemas.xmlsoap.org/ws/2004/04/sc"/>
<typeMapping deserializer="org.apache.axis.encoding.ser.SimpleDeserializerFactory" encodingStyle="" qname="ns1:BinaryExchangeType" serializer="org.apache.axis.encoding.ser.SimpleSerializerFactory" type="java:org.globus.ws.trust.BinaryExchangeType" xmlns:ns1="http://schemas.xmlsoap.org/ws/2004/04/trust"/>
<!-- GCUBE Faults -->
<typeMapping deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory" encodingStyle="" qname="ns1:GCUBEUnrecoverableFault" serializer="org.apache.axis.encoding.ser.BeanSerializerFactory" type="java:org.gcube.common.core.faults.GCUBEUnrecoverableFault" xmlns:ns1="http://gcube-system.org/namespaces/common/core/faults"/>
<typeMapping deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory" encodingStyle="" qname="ns1:GCUBERetrySameFault" serializer="org.apache.axis.encoding.ser.BeanSerializerFactory" type="java:org.gcube.common.core.faults.GCUBERetrySameFault" xmlns:ns1="http://gcube-system.org/namespaces/common/core/faults"/>
<typeMapping deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory" encodingStyle="" qname="ns1:GCUBERetryEquivalentFault" serializer="org.apache.axis.encoding.ser.BeanSerializerFactory" type="java:org.gcube.common.core.faults.GCUBERetryEquivalentFault" xmlns:ns1="http://gcube-system.org/namespaces/common/core/faults"/>
</deployment>