See OASIS SCA Service Component Architecture Assembly Model Specification at http://www.oasis-opencsa.org/sca-assembly For strict definitions of SCA services and references
for strict definitions of SCA services and references.
WebLogic Spring SCA supports the following elements to specify SCA references and bindings:
The <sca:reference>
element declares a Spring bean representing an SCA service external to the Spring application context. This element takes the following attributes:
Required. The name of the reference.
Required. The fully-qualified Java type of the interface or class representing the remote service. For example. if the external reference is to a Web Service, this would be the type of the client-side proxy to the Web Service.
For SCA references using a Web Service binding, the type used must be a JAX-WS compatible interface. The type used must be a JAX-WS compatible interface, generated from the external WSDL, using a JAX-WS compatible client generation tool such as the JAX-WS wsimport
tool, the WebLogic clientgen
Ant task, Oracle JDeveloper, or Oracle Enterprise Pack for Eclipse (OEPE).
Optional. The target bean for the reference if none is specified. This will improve performance by wiring to a local service, ignoring associated bindings.
The <sca:service>
element declares a Spring bean that WebLogic SCA exposes as a service. This element takes the following attributes:
Required. The name of the service.
If a name is not specified in the name
attribute of a binding.ws
subelement (see binding.ws Element Attributes), the name specified in the name
attribute of the sca:service
is published as the service name in the WSDL. However, if a binding.ws
specifies a name, that name is published in the WSDL as the service name for that binding.
Required. The fully-qualified Java type of the Java class to be exposed as an SCA service.
Required. The bean to be exposed as a service.
See WebLogic Spring SCA Schema (weblogic-sca.xsd) for the WebLogic Spring SCA schema.
sca:reference
elements and sca:service
elements contain binding subelements to specify the binding(s) for the reference or service. An sca:reference
element can have only one binding subelement. If more are specified, only the first one is used. An sca:service
element can have none, one, or more binding subelements.
WebLogic Spring SCA supports the following binding elements:
<binding.ws>
specifies that the binding is a Web Service binding.
<binding.ejb
> specifies that the binding is an EJB session bean binding.
<binding.sca
is the default. If binding.sca
is specified or if no binding is specified, WebLogic SCA Runtime defaults to binding.ws
.
See Configuring EJB Session Bean Bindings and Configuring Web Service Bindings for more information on the binding elements and the WebLogic SCA Runtime binding component implementations.
See WebLogic SCA Schemas for the binding element schemas.
The following example shows a spring application context. The context includes two Spring beans, beanX
and beanY
. The bean beanX
represents the entry point from WebLogic Spring SCA into the Spring application context and the bean beanY
includes a reference to an external SCA service.
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:sca="http://xmlns.oracle.com/weblogic/weblogic-sca" xmlns:wlsb="http://xmlns.oracle.com/weblogic/weblogic-sca-binding" xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd http://xmlns.oracle.com/weblogic/weblogic-sca http://xmlns.oracle.com/weblogic/weblogic-sca/1.0/weblogic-sca.xsd http://xmlns.oracle.com/weblogic/weblogic-sca-binding http://xmlns.oracle.com/weblogic/weblogic-sca-binding/1.0/weblogic-sca-binding.xsd"> <!-- Expose the bean "X" as an SCA service named "SCAService"--> <sca:service name="SCAService" type="org.xyz.someapp.SomeInterface" target="X"> <wlsb:binding.ws uri="/testService"/> </sca:service> <sca:reference name="SCAReference" type="org.xyz.someapp.SomeOtherInterface"> <wlsb:binding.ws location="http://localhost:7001/jscaliteapp/myrefsvcnameuri" port="http://test.oracle.com#wsdl.endpoint(SCAService2/myrefportname)"/> </sca:reference> <bean id="X" class="org.xyz.someapp.SomeClass"> <property name="foo" ref="Y"/> </bean> <bean id="Y" class="org.xyz.someapp.SomeOtherClass"> <property name="bar" ref="SCAReference"/> </bean> </beans>