please don't use Axis 1.0. latest is Axis 1.2
-- dims
On 5/20/05, Tony Chen <[EMAIL PROTECTED]> wrote:
> Hi,
>
> I made a mistake in my last email. The line 1329 is actually within method
> invoke(Object[] params)
>
> 1329 throw new AxisFault( Messages.getMessage("errorInvoking00",
> "\n" + exp) );
>
> So, the ClassCastException was actually thrown in the try (starting at line
> 1314) block and caught by the catch block at line 1326.
>
> But can anyone tell me where is org.apache.axis.attachments.AttachmentsImpl
> used and casted in this invoke(Object[] params) method? I was debugging
> this code in WSAD, and found the params Object array always contains one
> object of Login. I can't think of anything different by the way we call
> this invoke() method. Puzzled!
>
> The full method:
>
> public Object invoke(Object[] params) throws java.rmi.RemoteException {
> long t0=0, t1=0;
> if( tlog.isDebugEnabled() ) {
> t0=System.currentTimeMillis();
> }
> /* First see if we're dealing with Messaging instead of RPC.
> */
> /* If ALL of the params are SOAPBodyElements then we're doing
> */
> /* Messaging, otherwise just fall through to normal RPC processing.
> */
>
> /********************************************************************/
> SOAPEnvelope env = null ;
> int i ;
>
> for ( i = 0 ; params != null && i < params.length ; i++ )
> if ( !(params[i] instanceof SOAPBodyElement) ) break ;
>
> if ( params != null && params.length > 0 && i == params.length ) {
> /* ok, we're doing Messaging, so build up the message */
> /******************************************************/
> isMsg = true ;
> env = new SOAPEnvelope(msgContext.getSOAPConstants());
>
> if ( !(params[0] instanceof SOAPEnvelope) )
> for ( i = 0 ; i < params.length ; i++ )
> env.addBodyElement( (SOAPBodyElement) params[i] );
>
> Message msg = new Message( env );
> setRequestMessage(msg);
>
> invoke();
>
> msg = msgContext.getResponseMessage();
> if (msg == null) {
> if (FAULT_ON_NO_RESPONSE) {
> throw new AxisFault(Messages.getMessage("nullResponse00"));
> } else {
> return null;
> }
> }
>
> env = msg.getSOAPEnvelope();
> return( env.getBodyElements() );
> }
>
>
> 1312 if ( operationName == null )
> 1313 throw new AxisFault( Messages.getMessage("noOperation00")
> );
> 1314 try {
> 1315 Object res=this.invoke(operationName.getNamespaceURI(),
> 1316 operationName.getLocalPart(), params);
> 1317 if( tlog.isDebugEnabled() ) {
> 1318 t1=System.currentTimeMillis();
> 1319 tlog.debug("axis.Call.invoke: " + (t1-t0) + " " +
> operationName);
> 1320 }
> 1321 return res;
> 1322 }
> 1323 catch( AxisFault af) {
> 1324 throw af;
> 1325 }
> 1326 catch( Exception exp ) {
> 1327 //if ( exp instanceof AxisFault ) throw (AxisFault) exp ;
> 1328 entLog.info(Messages.getMessage("toAxisFault00"), exp);
> 1329 throw new AxisFault( Messages.getMessage("errorInvoking00",
> "\n" + exp) );
> 1330 }
> 1331 }
>
> Tony Chen
>
> SUN Certified Java 2 Programmer
> IBM Certified Enterprise Developer - WebSphere V4.0 & V5.0
> Canadian Securities Course (CSC) Certification
>
> Securities Industry Services, IBM Global Services
> phone: 416-478-5852
> e-mail: [EMAIL PROTECTED]
>
>
>
>
> Tony
> Chen/Toronto/IBM@
> IBMCA To
> [email protected]
> 05/20/2005 10:32 cc
> AM
> Subject
> Axis V1.0 -
> Please respond to java.lang.ClassCastException:
> axis-user org.apache.axis.attachments.Attachm
> entsImpl
>
>
>
>
>
>
>
>
>
>
>
>
>
>
> Hi Everyone,
>
> This is my first email to axis-user. We are using axis.jar V1.0 in order to
> access a 3rd-party software. Our system is running fine in production until
> a few days later, we got the following error:
>
> java.lang.ClassCastException: org.apache.axis.attachments.AttachmentsImpl:
> AxisFault
> faultCode: {http://xml.apache.org/axis/}Server.generalException
> faultString: Error invoking operation:
> java.lang.ClassCastException: org.apache.axis.attachments.AttachmentsImpl
> faultActor: null
> faultDetail:
> stackTrace: AxisFault
> faultCode: {http://xml.apache.org/axis/}Server.generalException
> faultString: Error invoking operation:
> java.lang.ClassCastException: org.apache.axis.attachments.AttachmentsImpl
> faultActor: null
> faultDetail:
>
> Error invoking operation:
> java.lang.ClassCastException: org.apache.axis.attachments.AttachmentsImpl
> at org.apache.axis.client.Call.invoke(Call.java:1329)
> at com.actuate.schemas.ActuateSoapBindingStub.login(Unknown Source)
> at com.ibm.sis.util.ActuateHelper.getProxyForUser(Unknown Source)
> ...
>
> I downloaded the source code for Axis v1.0 and the line 1329 of Call.java
> is "return this.invoke(params);" in method "public Object invoke(QName
> operationName, Object[] params)"
>
> 1324 public Object invoke(QName operationName, Object[] params)
> 1325 throws java.rmi.RemoteException {
> 1326 QName origOpName = this.operationName;
> 1327 this.operationName = operationName;
> 1328 try {
> 1329 return this.invoke(params);
> 1330 }
> 1331 catch (java.rmi.RemoteException re) {
> 1332 this.operationName = origOpName;
> 1333 throw re;
> 1334 }
> 1335 catch (RuntimeException re) {
> 1336 this.operationName = origOpName;
> 1337 throw re;
> 1338 }
> 1339 catch (Error e) {
> 1340 this.operationName = origOpName;
> 1341 throw e;
> 1342 }
> 1343 } // invoke
>
> Can anyone please give me a hand on why this is happening? The interesting
> thing is everything runs okay in development and test systems. The
> ClassCastException only happens in production system after it has been
> running for a few day. To recover from the problem, we have to restart the
> app server.
>
> Best regards,
>
> Tony Chen
>
> SUN Certified Java 2 Programmer
> IBM Certified Enterprise Developer - WebSphere V4.0 & V5.0
> Canadian Securities Course (CSC) Certification
>
> Securities Industry Services, IBM Global Services
> phone: 416-478-5852
> e-mail: [EMAIL PROTECTED]
>
>
>
>
--
Davanum Srinivas - http://webservices.apache.org/~dims/