I'm not using Geronimo's jar files (I'm guessing Glen didn't either since it worked for him). Can you try using other ones?
-Doug
| Changshin Lee <[EMAIL PROTECTED]>
02/09/2006 02:02 AM
|
|
For me, it still fails at test.saaj package test with the same error message as I reported before. samples.swa.SwaTestCase also fails when the package test is excluded. I guess it's due to activation.jar and mail.jar from Geronimo.
Thanks for your work on Axis 1's buildability,
Ias
2006. 02. 09, 오전 11:26, Doug Davis 작성:
everything appears to work in the trunk now - could someone else try it to make sure I'm not getting a false positive?
thanks,
-Doug
| [EMAIL PROTECTED]
02/08/2006 09:04 PM |
|
Author: dug
Date: Wed Feb 8 18:04:10 2006
New Revision: 376147
URL: http://svn.apache.org/viewcvs?rev=376147&view=rev
Log:
Revert AxisServer back to 01/23 version for now
Modified:
webservices/axis/trunk/java/src/org/apache/axis/server/AxisServer.java
Modified: webservices/axis/trunk/java/src/org/apache/axis/server/AxisServer.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/src/org/apache/axis/server/AxisServer.java?rev=376147&r1=376146&r2=376147&view=diff
==============================================================================
--- webservices/axis/trunk/java/src/org/apache/axis/server/AxisServer.java (original)
+++ webservices/axis/trunk/java/src/org/apache/axis/server/AxisServer.java Wed Feb 8 18:04:10 2006
@@ -1,12 +1,12 @@
/*
* Copyright 2001-2004 The Apache Software Foundation.
- *
+ *
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
- *
+ *
* http://www.apache.org/licenses/LICENSE-2.0
- *
+ *
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -25,25 +25,19 @@
import org.apache.axis.Message;
import org.apache.axis.MessageContext;
import org.apache.axis.SimpleTargetedChain;
+import org.apache.axis.message.SOAPEnvelope;
import org.apache.axis.soap.SOAPConstants;
import org.apache.axis.client.AxisClient;
import org.apache.axis.components.logger.LogFactory;
import org.apache.axis.configuration.EngineConfigurationFactoryFinder;
-import org.apache.axis.message.SOAPEnvelope;
import org.apache.axis.utils.ClassUtils;
import org.apache.axis.utils.Messages;
import org.apache.commons.logging.Log;
-import org.apache.axis.message.SOAPEnvelope;
-import org.apache.axis.message.SOAPBodyElement;
-import org.apache.axis.message.SOAPHeaderElement;
-import org.apache.axis.wsa.MIHeader;
-import org.apache.axis.wsa.WSAHandler;
import java.util.Map;
-import java.lang.reflect.Method ;
-
/**
*
+ * @author Doug Davis ([EMAIL PROTECTED])
* @author Glen Daniels ([EMAIL PROTECTED])
*/
public class AxisServer extends AxisEngine
@@ -54,8 +48,7 @@
LogFactory.getLog("org.apache.axis.TIME");
private static AxisServerFactory factory = null;
- private long t0=0, t1=0, t2=0, t3=0, t4=0, t5=0;
-
+
public static AxisServer getServer(Map environment) throws AxisFault
{
if (factory == null) {
@@ -131,154 +124,13 @@
return clientEngine;
}
- public void invokeInboundTransport(MessageContext msgContext)
- throws Exception
- {
- /* Process the Transport Specific Request Chain */
- /**********************************************/
- String hName = msgContext.getTransportName();
- Handler h = null ;
- SimpleTargetedChain transportChain = null ;
-
- if (log.isDebugEnabled()) {
- log.debug(Messages.getMessage("transport01","AxisServer.invoke",hName));
- t1=System.currentTimeMillis();
- }
-
- if ( hName != null && (h = getTransport( hName )) != null ) {
- if (h instanceof SimpleTargetedChain) {
- transportChain = (SimpleTargetedChain)h;
- h = transportChain.getRequestHandler();
- if (h != null)
- h.invoke(msgContext);
- }
- }
- // Run security
- // Add call to securityCode.Verify(); // dug
- }
-
- public void invokeOutboundTransport(MessageContext msgContext)
- throws Exception
- {
- String hName = msgContext.getTransportName();
- Handler h = null ;
- SimpleTargetedChain transportChain = null ;
-
- // Run security
- // Add call to securityCode.protect(); // dug
-
- /* Process the Transport Specific Response Chain */
- /***********************************************/
- if ( hName != null && (h = getTransport( hName )) != null ) {
- if (h instanceof SimpleTargetedChain) {
- transportChain = (SimpleTargetedChain)h;
- h = transportChain.getResponseHandler();
- if (h != null) {
- // add call to RM code to add piggy-backed headers
- // RMCode.addRMHeaders(); // Dug
- h.invoke(msgContext);
- }
- }
- }
- }
-
- public void invokeService(MessageContext msgContext) throws Exception {
- Handler h = null ;
-
- if ( tlog.isDebugEnabled() )
- t2=System.currentTimeMillis();
-
- try {
- // Run WSA logic
- WSAHandler.invoke( msgContext );
-
- MIHeader mih = MIHeader.fromCurrentMessage();
-
- if ( mih != null ) {
- // See if it needs to be rerouted
- // Dug - not yet // (new WSXHandler()).invoke( msgContext );
- }
-
- /* Process the Global Request Chain */
- /**********************************/
- if ((h = getGlobalRequest()) != null ) {
- h.invoke(msgContext);
- }
-
- /**
- * At this point, the service should have been set by someone
- * (either the originator of the MessageContext, or one of the
- * transport or global Handlers). If it hasn't been set, we
- * fault.
- */
- h = msgContext.getService();
- if (h == null) {
- // It's possible that we haven't yet parsed the
- // message at this point. This is a kludge to
- // make sure we have. There probably wants to be
- // some kind of declarative "parse point" on the handler
- // chain instead....
- Message rm = msgContext.getRequestMessage();
- rm.getSOAPEnvelope().getFirstBody();
-
- h = msgContext.getService();
- if (h == null)
- throw new AxisFault("Server.NoService",
- Messages.getMessage("noService05",
- "" + msgContext.getTargetService()),
- null, null );
- }
- if ( tlog.isDebugEnabled() )
- t3=System.currentTimeMillis();
-
- SOAPEnvelope env = msgContext.getRequestMessage().getSOAPEnvelope();
-
- // Only invoke the service is there's a body - sort of a hack
- if ( env.getFirstBody() != null ) {
- initSOAPConstants(msgContext);
- h.invoke(msgContext);
- }
-
- // WSA logic is run first
- WSAHandler.invoke( msgContext );
-
- if ( tlog.isDebugEnabled() )
- t4=System.currentTimeMillis();
-
- /* Process the Global Response Chain */
- /***********************************/
- if ((h = getGlobalResponse()) != null)
- h.invoke(msgContext);
- }
- catch(Exception exp) {
- // If WSA isn't turned on then just rethrow it
- // Dug - fix this, it should not do this we need to make this
- // work even when WSA is turned on
- if ( MIHeader.fromRequest() == null ) throw exp ;
-
- if ( !(exp instanceof AxisFault) )
- exp = AxisFault.makeFault( exp );
-
- msgContext.setPastPivot( true );
- msgContext.setResponseMessage( new Message(exp) );
-
- // WSA stuff
- WSAHandler.fixAction( msgContext );
- WSAHandler.invoke( msgContext );
-
- /* Process the Global Response Chain */
- /***********************************/
- if ((h = getGlobalResponse()) != null)
- h.invoke(msgContext);
- }
- }
-
/**
* Main routine of the AXIS server. In short we locate the appropriate
* handler for the desired service and invoke() it.
*/
public void invoke(MessageContext msgContext) throws AxisFault {
- if ( tlog.isDebugEnabled() ) {
+ long t0=0, t1=0, t2=0, t3=0, t4=0, t5=0;
+ if( tlog.isDebugEnabled() ) {
t0=System.currentTimeMillis();
}
@@ -315,23 +167,16 @@
h = null ;
}
}
- if ( tlog.isDebugEnabled() ) {
+ if( tlog.isDebugEnabled() ) {
t1=System.currentTimeMillis();
}
- if ( h != null ) {
- try {
+ if ( h != null )
h.invoke(msgContext);
- }
- catch(Exception exp ) {
- exp.printStackTrace();
- throw exp ;
- }
- }
else
throw new AxisFault( "Server.error",
Messages.getMessage("noHandler00", hName),
null, null );
- if ( tlog.isDebugEnabled() ) {
+ if( tlog.isDebugEnabled() ) {
t2=System.currentTimeMillis();
tlog.debug( "AxisServer.invoke " + hName + " invoke=" +
( t2-t1 ) + " pre=" + (t1-t0 ));
@@ -375,22 +220,90 @@
*/
- invokeInboundTransport(msgContext);
-
- invokeService(msgContext);
- msgContext.setPastPivot( true );
+ /* Process the Transport Specific Request Chain */
+ /**********************************************/
+ hName = msgContext.getTransportName();
+ SimpleTargetedChain transportChain = null;
+
+ if (log.isDebugEnabled())
+ log.debug(Messages.getMessage("transport01", "AxisServer.invoke", hName));
+
+ if( tlog.isDebugEnabled() ) {
+ t1=System.currentTimeMillis();
+ }
+ if ( hName != null && (h = getTransport( hName )) != null ) {
+ if (h instanceof SimpleTargetedChain) {
+ transportChain = (SimpleTargetedChain)h;
+ h = transportChain.getRequestHandler();
+ if (h != null)
+ h.invoke(msgContext);
+ }
+ }
+
+ if( tlog.isDebugEnabled() ) {
+ t2=System.currentTimeMillis();
+ }
+ /* Process the Global Request Chain */
+ /**********************************/
+ if ((h = getGlobalRequest()) != null ) {
+ h.invoke(msgContext);
+ }
+
+ /**
+ * At this point, the service should have been set by someone
+ * (either the originator of the MessageContext, or one of the
+ * transport or global Handlers). If it hasn't been set, we
+ * fault.
+ */
+ h = msgContext.getService();
+ if (h == null) {
+ // It's possible that we haven't yet parsed the
+ // message at this point. This is a kludge to
+ // make sure we have. There probably wants to be
+ // some kind of declarative "parse point" on the handler
+ // chain instead....
+ Message rm = msgContext.getRequestMessage();
+ rm.getSOAPEnvelope().getFirstBody();
+
+ h = msgContext.getService();
+ if (h == null)
+ throw new AxisFault("Server.NoService",
+ Messages.getMessage("noService05",
+ "" + msgContext.getTargetService()),
+ null, null );
+ }
+ if( tlog.isDebugEnabled() ) {
+ t3=System.currentTimeMillis();
+ }
- /*
- if ( msgContext.getIsOneWay() )
- msgContext.setResponseMessage( null );
- */
+ initSOAPConstants(msgContext);
+ try {
+ h.invoke(msgContext);
+ } catch (AxisFault ae) {
+ if ((h = getGlobalRequest()) != null ) {
+ h.onFault(msgContext);
+ }
+ throw ae;
+ }
- // Send async response if needed
- WSAHandler.sendResponse( msgContext );
+ if( tlog.isDebugEnabled() ) {
+ t4=System.currentTimeMillis();
+ }
- invokeOutboundTransport(msgContext);
+ /* Process the Global Response Chain */
+ /***********************************/
+ if ((h = getGlobalResponse()) != null)
+ h.invoke(msgContext);
- if ( tlog.isDebugEnabled() ) {
+ /* Process the Transport Specific Response Chain */
+ /***********************************************/
+ if (transportChain != null) {
+ h = transportChain.getResponseHandler();
+ if (h != null)
+ h.invoke(msgContext);
+ }
+
+ if( tlog.isDebugEnabled() ) {
t5=System.currentTimeMillis();
tlog.debug( "AxisServer.invoke2 " +
" preTr=" +
@@ -424,7 +337,7 @@
* Extract ans store soap constants info from the envelope
* @param msgContext
* @throws AxisFault
- */
+ */
private void initSOAPConstants(MessageContext msgContext) throws AxisFault {
Message msg = msgContext.getRequestMessage();
if (msg == null)
@@ -553,9 +466,9 @@
// make sure we have. There probably wants to be
// some kind of declarative "parse point" on the handler
// chain instead....
- Message msg = msgContext.getRequestMessage();
- if (msg != null) {
- msg.getSOAPEnvelope().getFirstBody();
+ Message rm = msgContext.getRequestMessage();
+ if (rm != null) {
+ rm.getSOAPEnvelope().getFirstBody();
h = msgContext.getService();
}
if (h == null) {
