Seasar DI Container with AOP

S2Axis Quick Reference

This is a document for S2Axis-V1.0.1. Documents for older versions of S2Axis are included in their respective distribution archive file.

Table of Content

dicon file

s2-axis.dicon

dicon file used by S2Axis. It is included in s2axis-1.0.1.jar file so it can be included without specifying the location.
It is required at the server side.
At the client side, it is only necessary if handler or WSDD is to be deployed.

<meta> Element

Content of <components> element

Name C S Content Description
axis-deploy yes yes String Deploy WSDD file, which has a content specified path string, to Axis. Path name of WSDD file is specified as a relatvie path from the class path.
Instance management of service and handler that have been specified in WSDD file are done by Axis. S2 and S2 do not management them.
Service and handler, which have been deployed by S2Axis, may be referenced from within WSDD file.
axis-engine yes yes String Specify method to get Axis engine that will deploy services, handlers, and WSDD.
Refer to "Method to Get Axis Engine" for details.

Content of <component> Element

Property C S Content Description
axis-handler yes yes Empty Deploy as a handler a component written as a new element.
axis-service no yes empty Deploy component, which was written in a parent element, as a Axis service.
When component implements an interface defined in a method, that method will be released. If an interface is not implemented, public methods that have not been defined as java.lang.Object is released.
ServiceDef type component Deploy components that has been written in a parent element as Axis service.
Refer to ServiceDef for detailds.
String Deploy components that has been written in a parent element as Axis service.
Details of a service is as specified in <service> element in the WSDD file, which has been specified by the string path of the content. WSDD file path is specified by relative path from the class path.

Component

org.seasar.remoting.axis.ServiceDef

Components that are used on the server is set in the <meta> element.
It is used to specified which components are to be released as a service.

Properties

Property Type Description
serviceType String Specify type of service that are to be released. Unnecessary method may be avoided from being released by specifying an interface type.
Defaults to component type. However, if a component has only one method definition that has an implemented interface, type of that interface is used.
allowMethods boolean Name of method to release. To release several methods, separate method names with a space.
If omitted, defaults as follows:
1.When serviceType is specied.
All public methods with specified type will be release. However, method with java.lang.Object type will not be released.
2.When service has a method with an implemented interface
All methods defined in the interface will be released.
3.When a service does not have an implemented interface
All public will be released. However, method with java.lang.Object type will not be released.
provider String Type of service provider.
Currently, only RPC and Msg are supported. Defaults to RPC when omitted.

Method

Method Description
addTypeMapping(TypeMapping) Register type mapping. Refer to the next section for detail on TypeMapping.

org.seasar.remoting.axis.TypeMappingDef

Components used at the server, set to ServiceDef component.
Used to specify detailed type mapping of components to be released as a service.

Property Type Description
type Class Java type class. It propery is required.
namespaceURI String XML type namespace URI. Defaults to URI from Java type package.
namespacePrefix String XML type namespace prefix. Defaults to default namespace.
localPart String XML type local name. Defaults to Java type class name.
serializer Class Serializer. Defaults to Axis BeanSerialzierFactory.
deserializer String Deserializer. Defaults to Axis BeanDeserialzierFactory.
encodingStyle String Encoding style. Defaults to encoded.

org.seasar.remoting.axis.connector.AxisConnector

Used to dynamically connect to a web service from a component used at a client.

Properties

Property Type Description
baseURL String Base URI of service to connect.
This URI concatenated with proxy component name (value of name attribute in <component> element), which is an aspect of S2Remoting's RemotingInterceptor, is actually used to connect to a service.

org.seasar.remoting.common.interceptor.RemotingInterceptor

Component offering S2Remoting.
To use a component as a web service at the client, this component is used as an aspect.

org.apache.axis.client.Service

Component offered by Axis.
Required when dynamic call is used at a client.

Miscellaneous

Service name released

When WSDD is specified
Value of name attribute in <service> element specified in WSDD is used.
context-path/services/name
When namespace is not specified in a dicon file
Value of のname attribute in <component> element in dicon file is used.
context-path/services/name
When namespace of dicon file is specified
Value of namespace attribute in <components> element and value of name attribute in <component> element in dicon file is used.
context-path/services/namespace/name

service-engine Settings

Content Description
(Unspecified) Same as setting "default"
"default" If S2 container is set javax.servlet.ServletContext then same as "default-server", if not then same as setting "default-client".
"default-client" Retrieve component implemenation set by javax.xml.rpc.Service from S2 container and use that engine.
"default-server" To try find engine from searching servlet:AxisServlet. If it could not find one, try to find an engine by searching servlet:AxisEngine.
"s2:name" Use component as Axis engine retrieved from S2 container name.
"servlet:name" Use attribute as Axis engine retrieved from ServletContext's name.
(Other) Use component retrieved by string specified from S2 container string as Axis engine.