View Full Version : Axiom Exception Resolver - Fault problems
Jul 20th, 2006, 04:07 PM
I switched from SAAJSoapMessageFactory to the AxiomSOAPMessageFactory (in order to use JiBX marshalling) and when I get web service exceptions they delegate to the exception resolver - but I get the following error:
IllegalArgumentException: A fully qualified fault code (namespace, prefix, and local part) must be specific for custom fault code.
at org.springframework.ws.soap.axiom.AxiomSoapMessage $AxiomSoapBody.addFault(AxiomSoapMessage.java:423)
When this was setup for SAAJ I didn't have a problem with the exception resolver and I made no changes when flipping over to Axiom? How do I fix this? Is there a different exception resolver configuration when using Axiom as opposed to SAAJ?
any help would be great. thanks!
Jul 20th, 2006, 04:47 PM
It does not look like you're using the latest snapshots. I can tell by the classname ;). We now have nightly builds (see 27091), which you can download from http://static.springframework.org/maven2-snapshots/org/springframework/ws/. If you're using maven2, it's easy to depend on the jars you want. If you're using ant, then you must download them yourself; unfortunately there is no all-in-one zip yet. I'm working on that.
Let me know how those latest snapshots work for you.
Jul 20th, 2006, 10:06 PM
Thanks - however, moving open source libraries to my company's network is quite a process - it took me three weeks to get the 'jibx fix' snapshot moved... is the fault problem a known bug?? How can I work around it to continue on without updating my libraries each night!
Jul 21st, 2006, 04:18 AM
Well, the fault problem is only showing up because an exception is being thrown somewhere, and that is converted into a fault. So if you (temporarily) remove the exception resolver, you can see what the cause exception is, and we can fix that so that it no longer occurs.
Jul 21st, 2006, 07:48 AM
That sounds good to me... thanks!
Jul 21st, 2006, 08:29 AM
I removed the endpoint exception resolver (as suggested) and I started getting null pointer exceptions earlier in the stack (it never got to invoking my endpoint method)... once I re-instated the end point resolver it started getting back to my endpoint again?! SO, it appears the an endpoint resolver is required - if it is not set then a NullPointerException occurs?
So - any idea what resolver properties are required for the Axiom fault message?
Has anyone tested using Axiom as the context factory with JiBX as the marshaller?
Jul 21st, 2006, 08:36 AM
I will try and create a little app that uses JiBX and axiom ASAP. Right now, I'm trying to make aggregated nightly builds, i.e. one zip that contains everything.
Jul 21st, 2006, 09:08 AM
FYI - I keep tinkering - I figured out that as long as I mapped at least one exception the exception resolver didn't throw a NullPointerException - so I got past that problem (although, I would still like for the Axiom fault handling bug to be fixed?!).
That said, I got the round-trip Axiom-based JiBX object marshalling to work (one object in, different object out)... abeit without fault handling.
Let me know if the fault handling is resolved.
Jul 21st, 2006, 06:23 PM
Cool, I will investigate the fault handling then.
Jul 22nd, 2006, 08:08 PM
Well, I created a little application that used both Jibx and Axiom, and have no problems, with or without exception handlers. I am using the current code base however, so it could be that the snapshot you use has a bug. Whatever it was, it has been solved now. :-)
If you're interested, I can give you the source. Just drop me a line at arjenp at interface21 dot com.
I also did some profiling on the codebase, and increased performance quite drastically. See the other "Performance test" thread on this forum.
Powered by vBulletin® Version 4.2.1 Copyright © 2013 vBulletin Solutions, Inc. All rights reserved.