FFF7878 wrote:
Hello everybody,
I had two problems with Axis2 1.3:
1) commons-logging and websphere 6.1
I ran into an issue with Axis2 1.3 when deploying it under websphere 6.1
(delegation mode set to PARENT_LAST of course) because websphere 6 runtime
embedded an older version of commons logging:
When deploying Axis2 based application, websphere tries to instantiates
AxisServlet and throws following exception:
Caused by: org.apache.commons.logging.LogConfigurationException:
java.lang.ClassNotFoundException:
org.apache.commons.logging.impl.Log4jFactory
        at org.apache.commons.logging.LogFactory$2.run(LogFactory.java:609)
        at 
java.security.AccessController.doPrivileged(AccessController.java:193)
        at org.apache.commons.logging.LogFactory.newFactory(LogFactory.java:561)
        at org.apache.commons.logging.LogFactory.getFactory(LogFactory.java:352)
        at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:395)
        at
org.apache.axis2.transport.http.AxisServlet.<clinit>(AxisServlet.java:79)

The root cause is explained here :
http://wiki.apache.org/jakarta-commons/Logging/FrequentlyAskedQuestions?highlight=%28websphere%29

In order to get everything works, I had to modify axis2-kernel.jar to add a
commons-logging.properties containing:
priority=1
org.apache.commons.logging.LogFactory=org.apache.commons.logging.impl.LogFactoryImpl
org.apache.commons.logging.Log=org.apache.commons.logging.impl.Log4JLogger

I tried to first put this file in my web app classpath but it didn't work.
The only solution was to put it in Axis2 Kernel jar.

Is there a cleaner solution?
If not, it would be a good idea to put the info on the axis2 website I
think.

AFAIK, this seems to be the only way we have at the moment. And it I believe we should have much cleaner approach for doing this. Please raise a JIRA for this (and at least we should document about this in the website).

Thanks,
Sanka



2) generated code doesn't compile

Using JaxBri databinding framework, the WebServiceMessageReceiver class had
the following generated code:
 boolean wrappedParam = (boolean) fromOM(msgContext.getEnvelope()
.getBody() .getFirstElement(), boolean.class, getEnvelopeNamespaces(msgContext.getEnvelope()));

This code doesn't compile (Impossible to convert Object into boolean). I had
to change it to change Boolean class.
Here is the defined request element in the xsd:
<xs:element name="invoicesReturnAck" type="xs:boolean"/>

I saw a JIRA about the same issue but only for Axis2/C.


Thanks in advance

Pierre


--
Sanka Samaranayake
WSO2 Inc.

http://www.bloglines.com/blog/sanka
http://www.wso2.org/


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to