Jul 24th, 2006, 11:54 AM
ProxyFactoryBean with MessageEndpoint
Before I updated to the 6-30-2006 snapshot build (I was using pre-M1) - I had a proxy in place to dump out the raw SOAP messages in XML for debugging. So - I had defined a bean for 'org.springframework.aop.framework.ProxyFactoryBea n' and was setting the 'proxyInterfaces' property to 'org.springframework.ws.endpoint.MessageEndpoint' .. and had the other properties set to map to my proxy class which implements 'MethodBeforeAdvice' - and overrode the 'before' method. This all worked well until I upgraded to the 6-30-2006 snapshot (for JiBX/Axiom fixes). After that upgrade the proxy bean fails to deploy so I can no longer get my low-level trace of the SOAP message. The meat of the error I get during deployment is:
... FatalBeanException: could not instantiate class [org.springframework.aop.framework.ProxyFactoryBean]; constructor threw exception; nested exception is java.lang.NoSuchMethodError: org.objectweb.asm.ClassVistitor.visit(IILjava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String ...
Any ideas? Do I need to update my base Spring Framework classes or something? Anyone else have a proxy in place with the latest code snapshots? Any other way to easily dump the raw incoming/outgoing SOAP messages as XML to the system.out or log files??
Jul 24th, 2006, 01:49 PM
That seems to be a asm problem. Maybe you have multiple versions of asm on your classpath?
For the logging of the message, you can also use the either the PayloadLoggingInterceptor (for logging just the contents) or the SoapEnvelopeLoggingInterceptor (which logs the entire SOAP message, without attachments). Unfortunately, you don't have the SoapEnvelopeLoggingInterceptor in your version, beacuse it was added on 7/10. You can use the latest nightly builds though: a zip which contains the latest jars.
Since I understood that it is not easy for you to download the latest stuff to your company network, you can also decide to wait until 1.0 m2, which will be released on August 18th.