after invoking method on EJB context I get this:
[#|2010-11-03T22:44:08.847+0200|INFO|glassfish3.0.1|
javax.enterprise.system.std.com.sun.enterprise.v3.services.impl|
_ThreadID=24;_ThreadName=Thread-1;|{felix.fileinstall.poll (ms) =
5000, felix.fileinstall.dir = /opt/dev/glassfishv3/glassfish/domains/
domain1/autodeploy/bundles, felix.fileinstall.debug = 1,
felix.fileinstall.bundles.new.start = true, felix.fileinstall.tmpdir
= /tmp/fileinstall-780031507657023818, felix.fileinstall.filter =
null}|#]
[#|2010-11-03T23:36:10.528+0200|INFO|glassfish3.0.1|
org.granite.messaging.webapp.AMFMessageFilter|
_ThreadID=25;_ThreadName=Thread-1;|Using configuration:
{closeStreams=true, inputBufferSize=null, outputBufferSize=null}|#]
[#|2010-11-03T23:36:10.572+0200|FINER|glassfish3.0.1|
org.granite.messaging.webapp.AMFMessageServlet|
_ThreadID=25;_ThreadName=Thread-1;ClassName=org.granite.logging.JdkLogger;MethodName=debug;|
>> Processing AMF0 request:
org.granite.messaging.amf.AMF0Message {
version = 3
headers = []
bodies = [
org.granite.messaging.amf.AMF0Body {
target = null
serviceName = null
serviceMethodName = null
response = /3
type = ARRAY
value = [
flex.messaging.messages.RemotingMessage {
source = null
operation = invokeComponent
correlationId = null
destination = ejb
headers = {DSId=3AF11558-5ED0-403D-A9E3-700B0CC65689,
DSEndpoint=graniteamf}
messageId = 1E4139D7-1250-BC1B-A02D-13AB1ED5B4E0
timestamp = 0
clientId = 80A08807-9DD9-49D4-AEFA-E2EA1695A074
timeToLive = 0
body = [crudService, null, sayHello,
[Ljava.lang.Object;@a943af,
org.granite.tide.invocation.InvocationCall@9ac7bd]
}
]
}
]
}|#]
[#|2010-11-03T23:36:10.612+0200|INFO|glassfish3.0.1|
org.granite.tide.TideServiceInvoker|_ThreadID=25;_ThreadName=Thread-1;|
Validator class org.granite.tide.hibernate.HibernateValidator not
found: validation not enabled|#]
[#|2010-11-03T23:36:10.614+0200|WARNING|glassfish3.0.1|
org.granite.tide.ejb.EjbServiceContext|
_ThreadID=25;_ThreadName=Thread-1;|Ejb crudService was not scanned:
remove method will not be called if it is a Stateful bean. Add META-
INF/services-config.properties if needed.|#]
[#|2010-11-03T23:36:10.615+0200|SEVERE|glassfish3.0.1|
org.granite.tide.TideServiceInvoker|_ThreadID=25;_ThreadName=Thread-1;|
SECURITY CHECK: Remote call refused to a non Tide-enabled component:
crudService.null, class: [], instance:
org.jtypography.service.CrudService_19550803|#]
[#|2010-11-03T23:36:10.618+0200|FINER|glassfish3.0.1|
org.granite.messaging.webapp.AMFMessageServlet|
_ThreadID=25;_ThreadName=Thread-1;ClassName=org.granite.logging.JdkLogger;MethodName=debug;|
<< Returning AMF0 response:
org.granite.messaging.amf.AMF0Message {
version = 3
headers = []
bodies = [
org.granite.messaging.amf.AMF0Body {
target = /3/onStatus
serviceName = null
serviceMethodName = null
response =
type = AMF3_OBJECT
value = flex.messaging.messages.ErrorMessage {
faultCode = Server.Security.AccessDenied
faultDetail = null
faultString = Component not found
rootCause = null
extendedData = {}
correlationId = 1E4139D7-1250-BC1B-A02D-13AB1ED5B4E0
destination = null
headers = {org.granite.sessionId=3ab1f641d2f0cbffb2084ad54207}
messageId = 3113F24C-3E0B-45FC-B5D2-2A3C65D7F897
timestamp = 1288820170618
clientId = 22666D26-F52F-4BBA-9BD0-71132737048C
timeToLive = 0
body = null
}
}
]
}|#]
---------------------------------------------------------------------------------------------------------------------
SERVICES-CONFIG.XML
---------------------------------------------------------------------------------------------------------------------
<?xml version="1.0" encoding="UTF-8"?>
<services-config>
<services>
<service id="granite-service"
class="flex.messaging.services.RemotingService"
messageTypes="flex.messaging.messages.RemotingMessage">
<!--
! Use "tideEjbFactory" and "graniteamf" for "ejb"
destination (see below).
!-->
<destination id="ejb">
<channels>
<channel ref="graniteamf"/>
</channels>
<properties>
<factory>tideEjbFactory</factory>
<entity-manager-factory-jndi-name>java:/
DefaultEMF</entity-manager-factory-jndi-name>
</properties>
</destination>
</service>
</services>
<factories>
<factory id="tideEjbFactory"
class="org.granite.tide.ejb.EjbServiceFactory">
<properties>
<lookup>java:global/jtypography/jtypographyejb/
{
capitalized.component.name}Bean</lookup>
</properties>
</factory>
</factories>
<channels>
<channel-definition id="graniteamf"
class="mx.messaging.channels.AMFChannel">
<endpoint
uri="http://{
server.name}:{server.port}/{context.root}/
graniteamf/amf"
class="flex.messaging.endpoints.AMFEndpoint"/>
</channel-definition>
</channels>
</services-config>
---------------------------------------------------------------------------------------------------------------------
GRANITE-CONFIG.XML
---------------------------------------------------------------------------------------------------------------------
<granite-config scan="true">
<security
type="org.granite.messaging.service.security.GlassFishV3SecurityService"/
>
<tide-components>
<tide-component instance-of="org.granite.tide.ejb.EjbIdentity"/
>
<tide-component annotated-
with="org.granite.messaging.service.annotations.RemoteDestination"/>
</tide-components>
</granite-config>
---------------------------------------------------------------------------------------------------------------------
@Stateless
@Local(CrudService.class)
public class CrudServiceBean implements CrudService {
public String sayHello() {
return "Hello, Granite!";
}
}
@RemoteDestination
public interface CrudService {
public String sayHello();
}