Hi everybody!

First of all, apologies if this topic was already discussed but I couldn't
find any solution yet so I decided to post it here.

I have a webapp currently using Axis1 for client implementations. This
webapp runs under WL 9.2 without problems. The point is, I need to develop a
new webservice client that supports MTOM and I decide to migrate all of them
to Axis2. Everything went smoothly and I was able to generate the stubs
using ADB databinding through Eclipe WTP plug-in (I was unable to install
the Axis2 plugin in Ganymede but that is another story...).

Once we migrated the previous Axis1 calls to the new Axis2 we are facing the
known STAX issue that takes the weblogic 9.2 classes instead the ones from
the wstx-asl-3.2.9.jar. This provokes the following exception:

ERROR 16 sep 2011  10:08:44,081: ClickToCallManagerUCC -
wsClickToCallGeneric org.apache.axis2.AxisFault: Unable to access
unsupported property javax.xml.stream.supportDTD - [ACTIVE] ExecuteThread:
'1' for queue: 'weblogic.kernel.Default (self-tuning)'
org.apache.axis2.AxisFault: Unable to access unsupported property
javax.xml.stream.supportDTD
    at org.apache.axis2.AxisFault.makeFault(AxisFault.java:430)
    at
org.apache.axis2.transport.TransportUtils.createSOAPMessage(TransportUtils.java:123)
    at
org.apache.axis2.transport.TransportUtils.createSOAPMessage(TransportUtils.java:67)
    at
org.apache.axis2.description.OutInAxisOperationClient.handleResponse(OutInAxisOperation.java:354)
    at
org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:421)
    at
org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:229)
    at
org.apache.axis2.client.OperationClient.execute(OperationClient.java:165)
   ....
Caused by: java.lang.IllegalArgumentException: Unable to access unsupported
property javax.xml.stream.supportDTD
    at
weblogic.xml.stax.ConfigurationContextBase.check(ConfigurationContextBase.java:60)
    at
weblogic.xml.stax.ConfigurationContextBase.setProperty(ConfigurationContextBase.java:54)
    at
weblogic.xml.stax.XMLStreamInputFactory.setProperty(XMLStreamInputFactory.java:280)
    ...

It's obvious the error is just the webapp is taking its own weblogic classes
instead of the webapp. In the following links you'll find some people
experiencing a similar issue and their corresponding solutions:
https://forums.oracle.com/forums/thread.jspa?threadID=945168
https://forums.oracle.com/forums/thread.jspa?threadID=1109267

The latest link shows how to solve it for two different scenarios, one for a
WAR and other for EAR deployment. In my case I'm deploying a WAR, and I have
to remark that the environment and methodology is very rigid and I'm not
able to update/upgrade the Weblogic installation nor the deployment
strategy.
So the proposed solution for WAR deployments doesn't work well. The
deployment works but what I'm facing in this case are ClassCastException
when communicating with backends through MQ and perhaps more things I'm not
aware. Anyhow, I can't modify the classloader preference in order to take
the application's first. At this point I also realised that this problem
also happens in a similar way with other WS frameworks like CFX, JAX-WS,
etc. that supports MTOM.

Well, I'm pretty stuck here and it will be wonderful if someone can give
some light about this particular problem.

Many thanks in advance.

Best regards,

Jonatan Soto

Reply via email to