<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<body link="#355491" alink="#4262a1" vlink="#355491" style="background: #e2e2e2; margin: 0; padding: 20px;">
<div>
        <table cellpadding="0" bgcolor="#FFFFFF" border="0" cellspacing="0" style="border: 1px solid #dadada; margin-bottom: 30px; width: 100%; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
                <tbody>
                        <tr>
                                <td>
                                        <table border="0" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF" style="border: solid 2px #ccc; background: #dadada; width: 100%; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
                                                <tbody>
                                                        <tr>
                                                                <td bgcolor="#000000" valign="middle" height="58px" style="border-bottom: 1px solid #ccc; padding: 20px; -moz-border-radius-topleft: 3px; -moz-border-radius-topright: 3px; -webkit-border-top-right-radius: 5px; -webkit-border-top-left-radius: 5px;">
                                                                        <h1 style="color: #333333; font: bold 22px Arial, Helvetica, sans-serif; margin: 0; display: block !important;">
                                                                        <!-- To have a header image/logo replace the name below with your img tag -->
                                                                        <!-- Email clients will render the images when the message is read so any image -->
                                                                        <!-- must be made available on a public server, so that all recipients can load the image. -->
                                                                        <a href="http://community.jboss.org/index.jspa" style="text-decoration: none; color: #E1E1E1">JBoss Community</a></h1>
                                                                </td>
                                                        </tr>
                                                        <tr>
                                                                <td bgcolor="#FFFFFF" style="font: normal 12px Arial, Helvetica, sans-serif; color:#333333; padding: 20px; -moz-border-radius-bottomleft: 4px; -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 5px; -webkit-border-bottom-left-radius: 5px;"><h3 style="margin: 10px 0 5px; font-size: 17px; font-weight: normal;">
JBoss AS 5.1 Remote EJB calls not being intercepted
</h3>
<span style="margin-bottom: 10px;">
created by <a href="http://community.jboss.org/people/robert.m.goodwin">Robert Goodwin</a> in <i>JBoss AOP</i> - <a href="http://community.jboss.org/message/609466#609466">View the full discussion</a>
</span>
<hr style="margin: 20px 0; border: none; background-color: #dadada; height: 1px;">
<div class="jive-rendered-content"><p>I have a Stateless EJB/ WebService that I have added a  Aspect and a corresponding jboss-aop.xml to so I can get information about calls made to the public interface of the service.  It appears though that remote calls to the service are not being intercepted ( atleast the log messages that I have are not being printed).  In the public interface I do have methods that call other methods on the public interface, those methods do get intercepted.  It appears that only local calls are working.  This is simular to the problem dicussed here (<a class="jive-link-external-small" href="https://issues.jboss.org/browse/JBAS-7172">https://issues.jboss.org/browse/JBAS-7172</a>)</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>My jboss-aop.xml file</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>{code}</p><p><span style="color: #008080; font-size: 10pt; font-family: Courier New;"><?</span><span lang="en-us"></span><span lang="en-us"></span><span style="color: #3f7f7f; font-size: 10pt; font-family: Courier New;">xml</span><span lang="en-us"></span><span lang="en-us"></span><span lang="en-us"></span><span lang="en-us"></span><span lang="en-us"></span><span lang="en-us"> <span style="color: #7f007f; font-family: Courier New; font-size: 10pt;">version</span></span><span lang="en-us"></span><span lang="en-us"></span><span style="color: #000000; font-size: 10pt; font-family: Courier New;">=</span><span lang="en-us"></span><span lang="en-us"></span><span lang="en-us"><em style="color: #2a00ff; font-size: 10pt; font-family: Courier New;">"1.0"</em></span><span lang="en-us"></span><span lang="en-us"></span><span lang="en-us"></span><span lang="en-us"></span><span lang="en-us"></span><span lang="en-us"> <span style="color: #7f007f; font-family: Courier New; font-size: 10pt;">encoding</span></span><span lang="en-us"></span><span lang="en-us"></span><span style="color: #000000; font-size: 10pt; font-family: Courier New;">=</span><span lang="en-us"></span><span lang="en-us"></span><span lang="en-us"><em style="color: #2a00ff; font-size: 10pt; font-family: Courier New;">"UTF-8"</em></span><span lang="en-us"></span><span lang="en-us"></span><span style="color: #008080; font-size: 10pt; font-family: Courier New;">?></span><span lang="en-us"></span><span lang="en-us"></span><span lang="en-us"></span>  </p><p><span lang="en-us"></span><span lang="en-us"></span><span style="color: #008080; font-size: 10pt; font-family: Courier New;"><</span><span lang="en-us"></span><span lang="en-us"></span><span style="color: #3f7f7f; font-size: 10pt; font-family: Courier New;">aop</span><span lang="en-us"></span><span lang="en-us"></span><span lang="en-us"></span><span lang="en-us"></span><span lang="en-us"></span><span lang="en-us"> <span style="color: #7f007f; font-family: Courier New; font-size: 10pt;">xmlns</span></span><span lang="en-us"></span><span lang="en-us"></span><span style="color: #000000; font-size: 10pt; font-family: Courier New;">=</span><span lang="en-us"></span><span lang="en-us"></span><span lang="en-us"><em style="color: #2a00ff; font-size: 10pt; font-family: Courier New;">"urn:jboss:aop-beans:1.0"</em></span><span lang="en-us"></span><span lang="en-us"></span><span style="color: #008080; font-size: 10pt; font-family: Courier New;">></span><span lang="en-us"></span><span lang="en-us"></span><span lang="en-us"></span><span lang="en-us"></span><span lang="en-us"></span><span lang="en-us"> </span></p><p><span lang="en-us"></span><span lang="en-us"></span><span style="color: #000000; font-size: 10pt; font-family: Courier New;">  </span><span lang="en-us"></span><span lang="en-us"></span><span lang="en-us"> <span style="color: #008080; font-family: Courier New; font-size: 10pt;"><</span></span><span lang="en-us"></span><span lang="en-us"></span><span style="color: #3f7f7f; font-size: 10pt; font-family: Courier New;">aspect</span><span lang="en-us"></span><span lang="en-us"></span><span lang="en-us"></span><span lang="en-us"></span><span lang="en-us"></span><span lang="en-us"> <span style="color: #7f007f; font-family: Courier New; font-size: 10pt;">class</span></span><span lang="en-us"></span><span lang="en-us"></span><span style="color: #000000; font-size: 10pt; font-family: Courier New;">=</span><span lang="en-us"></span><span lang="en-us"></span><span lang="en-us"><em style="color: #2a00ff; font-size: 10pt; font-family: Courier New;">"mc2sa.mdr.SoiServiceAspect"</em></span><span lang="en-us"></span><span lang="en-us"></span><span style="color: #008080; font-size: 10pt; font-family: Courier New;">/></span><span lang="en-us"></span><span lang="en-us"></span><span lang="en-us"></span></p><p><span lang="en-us"></span><span lang="en-us"></span><span style="color: #000000; font-size: 10pt; font-family: Courier New;">  </span><span lang="en-us"></span><span lang="en-us"></span><span lang="en-us"> <span style="color: #008080; font-family: Courier New; font-size: 10pt;"><</span></span><span lang="en-us"></span><span lang="en-us"></span><span style="color: #3f7f7f; font-size: 10pt; font-family: Courier New;">bind</span><span lang="en-us"></span><span lang="en-us"></span><span lang="en-us"></span><span lang="en-us"></span><span lang="en-us"></span><span lang="en-us"> <span style="color: #7f007f; font-family: Courier New; font-size: 10pt;">pointcut</span></span><span lang="en-us"></span><span lang="en-us"></span><span style="color: #000000; font-size: 10pt; font-family: Courier New;">=</span><span lang="en-us"></span><span lang="en-us"></span><span lang="en-us"><em style="color: #2a00ff; font-size: 10pt; font-family: Courier New;">"execution(public * mc2sa.mdr.MetadataRegistryService->*(..))"</em></span><span lang="en-us"></span><span lang="en-us"></span><span style="color: #008080; font-size: 10pt; font-family: Courier New;">></span><span lang="en-us"></span><span lang="en-us"></span><span lang="en-us"></span></p><p><span lang="en-us"></span><span lang="en-us"></span><span style="color: #000000; font-size: 10pt; font-family: Courier New;">     </span><span lang="en-us"></span><span lang="en-us"></span><span lang="en-us"> <span style="color: #008080; font-family: Courier New; font-size: 10pt;"><</span></span><span lang="en-us"></span><span lang="en-us"></span><span style="color: #3f7f7f; font-size: 10pt; font-family: Courier New;">around</span><span lang="en-us"></span><span lang="en-us"></span><span lang="en-us"></span><span lang="en-us"></span><span lang="en-us"></span><span lang="en-us"> <span style="color: #7f007f; font-family: Courier New; font-size: 10pt;">aspect</span></span><span lang="en-us"></span><span lang="en-us"></span><span style="color: #000000; font-size: 10pt; font-family: Courier New;">=</span><span lang="en-us"></span><span lang="en-us"></span><span lang="en-us"><em style="color: #2a00ff; font-size: 10pt; font-family: Courier New;">"mc2sa.mdr.SoiServiceAspect"</em></span><span lang="en-us"></span><span lang="en-us"></span><span lang="en-us"></span><span lang="en-us"></span><span lang="en-us"></span><span lang="en-us"> <span style="color: #7f007f; font-family: Courier New; font-size: 10pt;">name</span></span><span lang="en-us"></span><span lang="en-us"></span><span style="color: #000000; font-size: 10pt; font-family: Courier New;">=</span><span lang="en-us"></span><span lang="en-us"></span><span lang="en-us"><em style="color: #2a00ff; font-size: 10pt; font-family: Courier New;">"invoke"</em></span><span lang="en-us"></span><span lang="en-us"></span><span style="color: #008080; font-size: 10pt; font-family: Courier New;">/></span><span lang="en-us"></span><span lang="en-us"></span><span lang="en-us"></span></p><p><span lang="en-us"></span><span lang="en-us"></span><span style="color: #000000; font-size: 10pt; font-family: Courier New;">  </span><span lang="en-us"></span><span lang="en-us"></span><span lang="en-us"> <span style="color: #008080; font-family: Courier New; font-size: 10pt;"></</span></span><span lang="en-us"></span><span lang="en-us"></span><span style="color: #3f7f7f; font-size: 10pt; font-family: Courier New;">bind</span><span lang="en-us"></span><span lang="en-us"></span><span style="color: #008080; font-size: 10pt; font-family: Courier New;">></span><span lang="en-us"></span><span lang="en-us"></span><span lang="en-us"></span></p><p>  <span lang="en-us"></span><span lang="en-us"></span><span style="color: #008080; font-size: 10pt; font-family: Courier New;"></</span><span lang="en-us"></span><span lang="en-us"></span><span style="color: #3f7f7f; font-size: 10pt; font-family: Courier New;">aop</span><span lang="en-us"></span><span lang="en-us"></span><span style="color: #008080; font-size: 10pt; font-family: Courier New;">></span></p><p>{code}</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>Aspect code</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>{code}</p><p><strong style="color: #7f0055; font-size: 10.0pt; font-family: 'Courier New';">import</strong><span style="font-size: 10.0pt; font-family: 'Courier New'; color: black;"> org.jboss.aop.advice.Interceptor;</span></p><p><strong style="color: #7f0055; font-size: 10.0pt; font-family: 'Courier New';">import</strong><span style="font-size: 10.0pt; font-family: 'Courier New'; color: black;"> org.jboss.aop.joinpoint.Invocation;</span></p><p><strong style="color: #7f0055; font-size: 10.0pt; font-family: 'Courier New';">import</strong><span style="font-size: 10.0pt; font-family: 'Courier New'; color: black;"> org.jboss.aop.joinpoint.MethodInvocation;</span></p><p><strong style="color: #7f0055; font-size: 10.0pt; font-family: 'Courier New';">import</strong><span style="font-size: 10.0pt; font-family: 'Courier New'; color: black;"> org.jboss.logging.Logger;</span></p><p><span style="font-size: 10.0pt; font-family: 'Courier New'; color: black;"><br/></span></p><p><strong style="color: #7f0055; font-size: 10.0pt; font-family: 'Courier New';">public</strong> <strong style="color: #7f0055; font-size: 10.0pt; font-family: 'Courier New';">class</strong><span style="font-size: 10.0pt; font-family: 'Courier New'; color: black;"> SoiServiceAspect </span><strong style="color: #7f0055; font-size: 10.0pt; font-family: 'Courier New';">implements</strong><span style="font-size: 10.0pt; font-family: 'Courier New'; color: black;"> Interceptor</span></p><p><span style="font-size: 10.0pt; font-family: 'Courier New'; color: black;">{</span></p><p>   <strong style="color: #7f0055; font-size: 10.0pt; font-family: 'Courier New';">private</strong> <strong style="color: #7f0055; font-size: 10.0pt; font-family: 'Courier New';">static</strong> <strong style="color: #7f0055; font-size: 10.0pt; font-family: 'Courier New';">final</strong><span style="font-size: 10.0pt; font-family: 'Courier New'; color: black;"> Logger </span><em style="color: #0000c0; font-size: 10.0pt; font-family: 'Courier New';">log</em><span style="font-size: 10.0pt; font-family: 'Courier New'; color: black;"> = Logger.<em>getLogger</em>(SoiServiceAspect.</span><strong style="color: #7f0055; font-size: 10.0pt; font-family: 'Courier New';">class</strong><span style="font-size: 10.0pt; font-family: 'Courier New'; color: black;">);</span></p><p>   </p><p>   <strong style="color: #7f0055; font-size: 10.0pt; font-family: 'Courier New';">public</strong><span style="font-size: 10.0pt; font-family: 'Courier New'; color: black;"> String getName()</span></p><p><span style="font-size: 10.0pt; font-family: 'Courier New'; color: black;"> {</span></p><p>     <strong style="color: #7f0055; font-size: 10.0pt; font-family: 'Courier New';">return</strong> <span style="font-size: 10.0pt; font-family: 'Courier New'; color: #2a00ff;">"SoiServiceAspect"</span>;</p><p><span style="font-size: 10.0pt; font-family: 'Courier New'; color: black;"> }</span></p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>   <strong style="color: #7f0055; font-size: 10.0pt; font-family: 'Courier New';">public</strong><span style="font-size: 10.0pt; font-family: 'Courier New'; color: black;"> Object invoke(Invocation invocation) </span><strong style="color: #7f0055; font-size: 10.0pt; font-family: 'Courier New';">throws</strong><span style="font-size: 10.0pt; font-family: 'Courier New'; color: black;"> Throwable</span></p><p><span style="font-size: 10.0pt; font-family: 'Courier New'; color: black;"> {</span></p><p><span style="font-size: 10.0pt; font-family: 'Courier New'; color: black;">      MethodInvocation mi = (MethodInvocation) invocation;</span></p><p><span style="font-size: 10.0pt; font-family: 'Courier New'; color: black;">      String methodName = mi.getMethod().toString();</span></p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>      <strong style="color: #7f0055; font-size: 10.0pt; font-family: 'Courier New';">try</strong><span style="font-size: 10.0pt; font-family: 'Courier New'; color: black;"> {</span></p><p>          <em style="color: #0000c0; font-size: 10.0pt; font-family: 'Courier New';">log</em><span style="font-size: 10.0pt; font-family: 'Courier New'; color: black;">.info(</span><span style="font-size: 10.0pt; font-family: 'Courier New'; color: #2a00ff;">"Entering: "</span><span style="font-size: 10.0pt; font-family: 'Courier New'; color: black;"> + methodName);</span></p><p>          <strong style="color: #7f0055; font-size: 10.0pt; font-family: 'Courier New';">return</strong><span style="font-size: 10.0pt; font-family: 'Courier New'; color: black;"> invocation.invokeNext();</span></p><p><span style="font-size: 10.0pt; font-family: 'Courier New'; color: black;">      } </span><strong style="color: #7f0055; font-size: 10.0pt; font-family: 'Courier New';">finally</strong><span style="font-size: 10.0pt; font-family: 'Courier New'; color: black;"> {</span></p><p>          <em style="color: #0000c0; font-size: 10.0pt; font-family: 'Courier New';">log</em><span style="font-size: 10.0pt; font-family: 'Courier New'; color: black;">.info(</span><span style="font-size: 10.0pt; font-family: 'Courier New'; color: #2a00ff;">"Leaving: "</span><span style="font-size: 10.0pt; font-family: 'Courier New'; color: black;"> + methodName);</span></p><p><span style="font-size: 10.0pt; font-family: 'Courier New'; color: black;">      }</span></p><p><span style="font-size: 10.0pt; font-family: 'Courier New'; color: black;">   }</span></p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>  <span style="font-size: 10.0pt; font-family: 'Courier New'; color: black;">}</span></p><p>{code}</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>The jboss-aop.xml file is in the root of the jar that provides the service. and the aspect is in the same package as the service.  Is this a bug, or more likely, am I missing something in the configuration that would allow my aspect to be called when being invoked remotely?</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>Thanks,</p><p>Rob</p></div>
<div style="background-color: #f4f4f4; padding: 10px; margin-top: 20px;">
<p style="margin: 0;">Reply to this message by <a href="http://community.jboss.org/message/609466#609466">going to Community</a></p>
        <p style="margin: 0;">Start a new discussion in JBoss AOP at <a href="http://community.jboss.org/choose-container!input.jspa?contentType=1&containerType=14&container=2027">Community</a></p>
</div></td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</div>
</body>
</html>