You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by gd...@apache.org on 2001/06/12 17:43:26 UTC
cvs commit: xml-axis/java/test/encoding TestDeser.java TestHrefs.java
gdaniels 01/06/12 08:43:26
Modified: java/samples/misc TestClient.java
java/samples/transport FileReader.java FileSender.java
java/src/org/apache/axis Message.java MessageContext.java
java/src/org/apache/axis/client ServiceClient.java
java/src/org/apache/axis/client/http AdminClient.java
java/src/org/apache/axis/encoding SerializationContext.java
java/src/org/apache/axis/handlers DebugHandler.java
EchoHandler.java LogHandler.java
java/src/org/apache/axis/handlers/tcp TCPActionHandler.java
java/src/org/apache/axis/message ElementRecorder.java
SOAPSAXHandler.java
java/src/org/apache/axis/providers/java JavaProvider.java
java/src/org/apache/axis/transport/http AxisServlet.java
HTTPDispatchHandler.java SimpleAxisServer.java
java/src/org/apache/axis/transport/local
LocalDispatchHandler.java
java/src/org/apache/axis/transport/tcp AxisListener.java
TCPDispatchHandler.java
java/src/org/apache/axis/utils Admin.java
java/test/RPCDispatch TestRPC.java
java/test/encoding TestDeser.java TestHrefs.java
Log:
Modify Message to get rid of the getAs() method. Everything is now type-safe
and we support six potential "forms". This may continue to change in the
future but for now this should be faster and less error prone. This change
caused a lot of files to require editing, so this is a large checkin.
Also started setting up some changes to the SAX handling/deser system.
Revision Changes Path
1.6 +3 -3 xml-axis/java/samples/misc/TestClient.java
Index: TestClient.java
===================================================================
RCS file: /home/cvs/xml-axis/java/samples/misc/TestClient.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- TestClient.java 2001/06/01 06:47:54 1.5
+++ TestClient.java 2001/06/12 15:42:54 1.6
@@ -91,7 +91,7 @@
if ( opts.isFlagSet('t') > 0 ) hMsg.doLocal = true ;
- Message inMsg = new Message( msg, "String" );
+ Message inMsg = new Message( msg );
Message outMsg = null ;
System.out.println( "Request:\n" + msg );
@@ -100,8 +100,8 @@
hMsg.invoke();
outMsg = hMsg.getMessageContext().getResponseMessage();
- System.out.println( "Response:\n" + outMsg.getAs( "String" ) );
- return (String)outMsg.getAs("String");
+ System.out.println( "Response:\n" + outMsg.getAsString() );
+ return (String)outMsg.getAsString();
}
public static void main(String args[]) {
1.7 +4 -4 xml-axis/java/samples/transport/FileReader.java
Index: FileReader.java
===================================================================
RCS file: /home/cvs/xml-axis/java/samples/transport/FileReader.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- FileReader.java 2001/06/11 12:30:40 1.6
+++ FileReader.java 2001/06/12 15:42:56 1.7
@@ -93,7 +93,7 @@
FileOutputStream fos = new FileOutputStream( "xml" + nextNum + ".res" );
nextNum++ ;
- Message msg = new Message( fis, "InputStream" );
+ Message msg = new Message( fis );
MessageContext msgContext = new MessageContext(server);
msgContext.setRequestMessage( msg );
@@ -108,12 +108,12 @@
server.invoke( msgContext );
msg = msgContext.getResponseMessage();
} catch (AxisFault af) {
- msg = new Message(af, "AxisFault");
+ msg = new Message(af);
} catch (Exception e) {
- msg = new Message(new AxisFault(e.toString()), "AxisFault");
+ msg = new Message(new AxisFault(e.toString()));
}
- buf = (byte[]) msg.getAs( "Bytes" );
+ buf = (byte[]) msg.getAsBytes();
System.out.println("msg=" + new String(buf));
fos.write( buf );
fos.close();
1.2 +3 -3 xml-axis/java/samples/transport/FileSender.java
Index: FileSender.java
===================================================================
RCS file: /home/cvs/xml-axis/java/samples/transport/FileSender.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- FileSender.java 2001/05/30 14:20:42 1.1
+++ FileSender.java 2001/06/12 15:42:57 1.2
@@ -79,7 +79,7 @@
public void invoke(MessageContext msgContext) throws AxisFault {
Message msg = msgContext.getRequestMessage();
- byte[] buf = (byte[]) msg.getAs("Bytes");
+ byte[] buf = (byte[]) msg.getAsBytes();
try {
FileOutputStream fos = new FileOutputStream( "xml" + nextNum + ".req" );
@@ -104,8 +104,8 @@
Thread.sleep( 100 ); // let the other side finish writing
FileInputStream fis = new FileInputStream( "xml" + nextNum + ".res" );
- msg = new Message( fis, "InputStream" );
- msg.getAs("Bytes"); // just flush the buffer
+ msg = new Message( fis );
+ msg.getAsBytes(); // just flush the buffer
fis.close();
Thread.sleep( 100 );
(new File("xml" + nextNum + ".res")).delete();
1.34 +77 -124 xml-axis/java/src/org/apache/axis/Message.java
Index: Message.java
===================================================================
RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/Message.java,v
retrieving revision 1.33
retrieving revision 1.34
diff -u -r1.33 -r1.34
--- Message.java 2001/06/11 12:30:44 1.33
+++ Message.java 2001/06/12 15:42:59 1.34
@@ -2,7 +2,7 @@
* The Apache Software License, Version 1.1
*
*
- * Copyright (c) 1999 The Apache Software Foundation. All rights
+ * Copyright (c) 2001 The Apache Software Foundation. All rights
* reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -77,20 +77,58 @@
*/
private Object originalMessage ;
private Object currentMessage ;
- private String currentForm ;
+
+ private static final int FORM_STRING = 1;
+ private static final int FORM_INPUTSTREAM = 2;
+ private static final int FORM_SOAPENVELOPE = 3;
+ private static final int FORM_BYTES = 4;
+ private static final int FORM_BODYINSTREAM = 5;
+ private static final int FORM_FAULT = 6;
+ private int currentForm ;
+
private String messageType ;
private MessageContext msgContext;
/**
* Just something to us working...
*/
- public Message(Object origMsg, String form) {
- Debug.Print( 2, "Enter Message ctor, form: ", form );
- originalMessage = origMsg ;
- currentMessage = origMsg ;
- currentForm = form ;
+ public Message(String stringForm) {
+ Debug.Print( 2, "Enter Message ctor (String)" );
+ originalMessage = stringForm;
+ setCurrentMessage(stringForm, FORM_STRING);
}
-
+
+ public Message(SOAPEnvelope env) {
+ Debug.Print( 2, "Enter Message ctor (SOAPEnvelope)" );
+ originalMessage = env;
+ setCurrentMessage(env, FORM_SOAPENVELOPE);
+ }
+
+ public Message(InputStream inputStream) {
+ Debug.Print( 2, "Enter Message ctor (InputStream)" );
+ originalMessage = inputStream;
+ setCurrentMessage(inputStream, FORM_INPUTSTREAM);
+ }
+
+ public Message(InputStream inputStream, boolean isBody) {
+ Debug.Print( 2, "Enter Message ctor (BodyInputStream)" );
+ originalMessage = inputStream;
+ setCurrentMessage(inputStream, isBody ? FORM_BODYINSTREAM :
+ FORM_INPUTSTREAM);
+ }
+
+ public Message(byte [] bytes) {
+ Debug.Print(2, "Enter Message ctor (byte[])" );
+ originalMessage = bytes;
+ setCurrentMessage(bytes, FORM_BYTES);
+ }
+
+ public Message(AxisFault fault) {
+ Debug.Print(2, "Enter Message ctor (AxisFault)" );
+ originalMessage = fault;
+ setCurrentMessage(fault, FORM_FAULT);
+ }
+
public Object getOriginalMessage() {
return( originalMessage );
}
@@ -99,7 +137,7 @@
return( currentMessage );
}
- public String getCurrentForm() {
+ private int getCurrentForm() {
return( currentForm );
}
@@ -117,42 +155,24 @@
this.msgContext = msgContext;
}
- public void setCurrentMessage(Object currMsg, String form) {
- Debug.Print( 2, "Setting current message form to: ", form );
+ private void setCurrentMessage(Object currMsg, int form) {
+ Debug.Print( 2, "Setting current message form to: " + form );
currentMessage = currMsg ;
currentForm = form ;
}
-
- // Really should have a pluggable way of defining these but for
- // now I need something quick...
-
- public Object getAs( String desiredType ) {
- Debug.Print( 2, "Enter: Message::getAs(", desiredType, ")" );
- Debug.Print( 2, " current form: ", currentForm );
- if ( currentForm.equals( desiredType ) ) return( currentMessage );
-
- if ( desiredType.equals( "Bytes" )) return( getAsBytes() );
- if ( desiredType.equals( "Document" )) return( getAsDocument() );
- if ( desiredType.equals( "String" )) return( getAsString() );
- if ( desiredType.equals( "SOAPEnvelope" )) return( getAsSOAPEnvelope() );
- // ??? if ( desiredType.equals( "BodyInputStream" )) return( getAsBodyInputStream() );
-
- System.err.println("Can't convert " + currentForm + " to " +desiredType);
- return( null );
- }
- private byte[] getAsBytes() {
- Debug.Print( 2, "Enter: Message::getAsByes" );
- if ( currentForm.equals("Bytes") ) {
- Debug.Print( 2, "Exit: Message::getAsByes" );
+ public byte[] getAsBytes() {
+ Debug.Print( 2, "Enter: Message::getAsBytes" );
+ if ( currentForm == FORM_BYTES ) {
+ Debug.Print( 2, "Exit: Message::getAsBytes" );
return( (byte[]) currentMessage );
}
- if ( currentForm.equals("BodyInputStream") ) {
+ if ( currentForm == FORM_BODYINSTREAM ) {
getAsSOAPEnvelope();
}
- if ( currentForm.equals("InputStream") ) {
+ if ( currentForm == FORM_INPUTSTREAM ) {
// Assumes we don't need a content length
try {
InputStream inp = (InputStream) currentMessage ;
@@ -165,7 +185,7 @@
// int len = inp.available();
// byte[] buf = new byte[ len ];
// inp.read( buf );
- setCurrentMessage( buf, "Bytes" );
+ setCurrentMessage( buf, FORM_BYTES );
Debug.Print( 2, "Exit: Message::getAsByes" );
return( (byte[]) currentMessage );
}
@@ -176,13 +196,12 @@
return( null );
}
- if ( currentForm.equals("Document") ||
- currentForm.equals("SOAPEnvelope") ||
- currentForm.equals("AxisFault") )
+ if ( currentForm == FORM_SOAPENVELOPE ||
+ currentForm == FORM_FAULT )
getAsString();
- if ( currentForm.equals("String") ) {
- setCurrentMessage( ((String)currentMessage).getBytes(), "Bytes" );
+ if ( currentForm == FORM_STRING ) {
+ setCurrentMessage( ((String)currentMessage).getBytes(), FORM_BYTES );
Debug.Print( 2, "Exit: Message::getAsBytes" );
return( (byte[]) currentMessage );
}
@@ -192,26 +211,26 @@
return( null );
}
- private String getAsString() {
+ public String getAsString() {
Debug.Print( 2, "Enter: Message::getAsString" );
- if ( currentForm.equals("String") ) {
+ if ( currentForm == FORM_STRING ) {
Debug.Print( 2, "Exit: Message::getAsString" );
return( (String) currentMessage );
}
- if ( currentForm.equals("InputStream") ||
- currentForm.equals("BodyInputStream") ) {
+ if ( currentForm == FORM_INPUTSTREAM ||
+ currentForm == FORM_BODYINSTREAM ) {
getAsBytes();
// Fall thru to "Bytes"
}
- if ( currentForm.equals("Bytes") ) {
- setCurrentMessage( new String((byte[]) currentMessage), "String" );
+ if ( currentForm == FORM_BYTES ) {
+ setCurrentMessage( new String((byte[]) currentMessage), FORM_STRING );
Debug.Print( 2, "Exit: Message::getAsString" );
return( (String) currentMessage );
}
- if ( currentForm.equals("AxisFault") ) {
+ if ( currentForm == FORM_FAULT ) {
StringWriter writer = new StringWriter();
AxisFault env = (AxisFault)currentMessage;
try {
@@ -220,11 +239,11 @@
e.printStackTrace();
return null;
}
- setCurrentMessage(writer.getBuffer().toString(), "String");
+ setCurrentMessage(writer.getBuffer().toString(), FORM_STRING);
return (String)currentMessage;
}
- if ( currentForm.equals("SOAPEnvelope") ) {
+ if ( currentForm == FORM_SOAPENVELOPE ) {
StringWriter writer = new StringWriter();
SOAPEnvelope env = (SOAPEnvelope)currentMessage;
try {
@@ -233,97 +252,31 @@
e.printStackTrace();
return null;
}
- setCurrentMessage(writer.getBuffer().toString(), "String");
+ setCurrentMessage(writer.getBuffer().toString(), FORM_STRING);
return (String)currentMessage;
}
- if ( currentForm.equals("Document") ) {
- currentForm = "String" ;
- currentMessage = XMLUtils.DocumentToString( (Document) currentMessage );
- return( (String) currentMessage );
- }
-
- System.err.println("Can't convert " + currentForm + " to String" );
+ System.err.println("Can't convert form " + currentForm + " to String" );
Debug.Print( 2, "Exit: Message::getAsString" );
return( null );
}
-
- private Document getAsDocument() {
- Debug.Print( 2, "Enter: Message::getAsDocument" );
- if ( currentForm.equals("Document") ) return( (Document) currentMessage );
-
- InputStream inp = null ;
-
- try {
- if ( currentForm.equals("InputStream") )
- inp = (InputStream) currentMessage ;
- else if ( currentForm.equals("String") ) {
- // Reader reader = new StringReader( (String) currentMessage );
- ByteArrayInputStream bais = null ;
- bais = new ByteArrayInputStream( ((String)currentMessage).getBytes() );
- setCurrentMessage( XMLUtils.newDocument( bais ), "Document" );
- Debug.Print( 2, "Exit: Message::getAsDocument" );
- return( (Document) currentMessage );
- }
- else if ( currentForm.equals("Bytes") ) {
- ByteArrayInputStream bais ;
- inp = new ByteArrayInputStream((byte[])currentMessage );
- }
- else if ( currentForm.equals("AxisFault") ) {
- AxisFault fault = (AxisFault) currentMessage ;
- SOAPEnvelope env = new SOAPEnvelope();
- //SOAPBody body = new SOAPBody( fault.getElement(null) );
-
- // !!! env.addBodyElement( body );
-
- // !!! setCurrentMessage( env.getDocument(), "Document" );
- Debug.Print( 2, "Exit: Message::getAsDocument" );
- return( (Document) currentMessage );
- }
- else if ( currentForm.equals("SOAPEnvelope") ) {
- System.err.println("Can't convert " + currentForm + " to Document" );
- Debug.Print( 2, "Exit: Message::getAsDocument" );
- return( null );
- /*
- SOAPEnvelope env = (SOAPEnvelope) currentMessage ;
- // !!! setCurrentMessage( env.getDocument(), "Document" );
- Debug.Print( 2, "Exit: Message::getAsDocument" );
- return( (Document) currentMessage );
- */
- }
- else {
- System.err.println("Can't convert " + currentForm + " to Document" );
- Debug.Print( 2, "Exit: Message::getAsDocument" );
- return( null );
- }
-
- setCurrentMessage( XMLUtils.newDocument( inp ), "Document" );
- Debug.Print( 2, "Exit: Message::getAsDocument" );
- return( (Document) currentMessage );
- }
- catch( Exception e ) {
- e.printStackTrace( System.err );
- }
- Debug.Print( 2, "Exit: Message::getAsDocument" );
- return( null );
- }
- private SOAPEnvelope getAsSOAPEnvelope() {
+ public SOAPEnvelope getAsSOAPEnvelope() {
Debug.Print( 2, "Enter: Message::getAsSOAPEnvelope" );
- if ( currentForm.equals("SOAPEnvelope") )
+ if ( currentForm == FORM_SOAPENVELOPE )
return( (SOAPEnvelope) currentMessage );
- if (currentForm.equals("BodyInputStream")) {
+ if (currentForm == FORM_BODYINSTREAM) {
InputStreamBody bodyEl = new InputStreamBody((InputStream)currentMessage);
SOAPEnvelope env = new SOAPEnvelope();
env.addBodyElement(bodyEl);
- setCurrentMessage(env, "SOAPEnvelope");
+ setCurrentMessage(env, FORM_SOAPENVELOPE);
return env;
}
InputSource is;
- if ( currentForm.equals("InputStream") ) {
+ if ( currentForm == FORM_INPUTSTREAM ) {
is = new InputSource( (InputStream) currentMessage );
} else {
is = new InputSource(new StringReader(getAsString()));
@@ -333,7 +286,7 @@
SOAPEnvelope env = parser.getEnvelope();
env.setMessageType(messageType);
- setCurrentMessage( env, "SOAPEnvelope" );
+ setCurrentMessage( env, FORM_SOAPENVELOPE );
Debug.Print( 2, "Exit: Message::getAsSOAPEnvelope" );
return( (SOAPEnvelope) currentMessage );
}
1.33 +1 -1 xml-axis/java/src/org/apache/axis/MessageContext.java
Index: MessageContext.java
===================================================================
RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/MessageContext.java,v
retrieving revision 1.32
retrieving revision 1.33
diff -u -r1.32 -r1.33
--- MessageContext.java 2001/06/11 12:30:46 1.32
+++ MessageContext.java 2001/06/12 15:43:00 1.33
@@ -264,7 +264,7 @@
// another configurable piece of code to avoid SOAP
// specifics in this class.
SOAPEnvelope env = (SOAPEnvelope)
- inMessage.getAs("SOAPEnvelope");
+ inMessage.getAsSOAPEnvelope();
Vector bodies = env.getBodyElements();
Enumeration e = bodies.elements();
while (e.hasMoreElements()) {
1.10 +9 -13 xml-axis/java/src/org/apache/axis/client/ServiceClient.java
Index: ServiceClient.java
===================================================================
RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/client/ServiceClient.java,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -r1.9 -r1.10
--- ServiceClient.java 2001/06/11 20:23:45 1.9
+++ ServiceClient.java 2001/06/12 15:43:03 1.10
@@ -218,7 +218,7 @@
Debug.Print( 1, "Enter: ServiceClient::invoke(RPCElement)" );
SOAPEnvelope reqEnv = new SOAPEnvelope();
SOAPEnvelope resEnv = null ;
- Message reqMsg = new Message( reqEnv, "SOAPEnvelope" );
+ Message reqMsg = new Message( reqEnv );
Message resMsg = null ;
Vector resBodies = null ;
Vector resArgs = null ;
@@ -273,7 +273,7 @@
*/
resMsg.setMessageType(ServiceDescription.RESPONSE);
- resEnv = (SOAPEnvelope)resMsg.getAs("SOAPEnvelope");
+ resEnv = (SOAPEnvelope)resMsg.getAsSOAPEnvelope();
SOAPBodyElement respBody = resEnv.getFirstBody();
if (respBody instanceof SOAPFaultElement) {
@@ -317,19 +317,15 @@
SOAPEnvelope reqEnv = null ;
- if ( inMsg.getCurrentForm().equals("SOAPEnvelope") )
- reqEnv = (SOAPEnvelope) inMsg.getAs("SOAPEnvelope");
- else {
- reqEnv = (SOAPEnvelope) inMsg.getAs("SOAPEnvelope");
- if ( encodingStyleURI != null )
- reqEnv.setEncodingStyleURI( encodingStyleURI );
-
- //SOAPBody body = new SOAPBody( (Document) inMsg.getAs("Document") );
- //!!!reqEnv.addBodyElement( body );
- }
+ reqEnv = (SOAPEnvelope) inMsg.getAsSOAPEnvelope();
+ if ( encodingStyleURI != null )
+ reqEnv.setEncodingStyleURI( encodingStyleURI );
+
+ //SOAPBody body = new SOAPBody( (Document) inMsg.getAs("Document") );
+ //!!!reqEnv.addBodyElement( body );
// local (if null) or pre-existing transport (if !null)
- Message reqMsg = new Message( reqEnv, "SOAPEnvelope" );
+ Message reqMsg = new Message( reqEnv );
if ( Debug.getDebugLevel() > 0 ) {
DebugHeader header = new DebugHeader(Debug.getDebugLevel());
1.2 +2 -2 xml-axis/java/src/org/apache/axis/client/http/AdminClient.java
Index: AdminClient.java
===================================================================
RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/client/http/AdminClient.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- AdminClient.java 2001/06/01 06:47:58 1.1
+++ AdminClient.java 2001/06/12 15:43:05 1.2
@@ -124,7 +124,7 @@
ServiceClient hMsg =
new ServiceClient(new HTTPTransport(opts.getURL(), "AdminService"));
- Message inMsg = new Message( input, "BodyInputStream" );
+ Message inMsg = new Message( input, true );
hMsg.setRequestMessage( inMsg );
if ( opts.isFlagSet('t') > 0 ) hMsg.doLocal = true ;
@@ -136,7 +136,7 @@
Message outMsg = hMsg.getMessageContext().getResponseMessage();
hMsg.getMessageContext().setServiceDescription(new ServiceDescription("Admin", false));
input.close();
- SOAPEnvelope envelope = (SOAPEnvelope) outMsg.getAs("SOAPEnvelope");
+ SOAPEnvelope envelope = (SOAPEnvelope) outMsg.getAsSOAPEnvelope();
SOAPBodyElement body = envelope.getFirstBody();
StringWriter writer = new StringWriter();
SerializationContext ctx = new SerializationContext(writer, hMsg.getMessageContext());
1.11 +5 -0 xml-axis/java/src/org/apache/axis/encoding/SerializationContext.java
Index: SerializationContext.java
===================================================================
RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/encoding/SerializationContext.java,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -r1.10 -r1.11
--- SerializationContext.java 2001/05/07 19:56:14 1.10
+++ SerializationContext.java 2001/06/12 15:43:08 1.11
@@ -164,6 +164,11 @@
}
}
+ public void endPrefix(String prefix)
+ {
+ // Do we need to do anything here?
+ }
+
public String qName2String(QName qName)
{
return getPrefixForURI(qName.getNamespaceURI()) +
1.15 +1 -1 xml-axis/java/src/org/apache/axis/handlers/DebugHandler.java
Index: DebugHandler.java
===================================================================
RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/handlers/DebugHandler.java,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -r1.14 -r1.15
--- DebugHandler.java 2001/06/11 16:14:18 1.14
+++ DebugHandler.java 2001/06/12 15:43:09 1.15
@@ -76,7 +76,7 @@
try {
Message msg = msgContext.getRequestMessage();
- SOAPEnvelope message = (SOAPEnvelope)msg.getAs("SOAPEnvelope");
+ SOAPEnvelope message = (SOAPEnvelope)msg.getAsSOAPEnvelope();
SOAPHeader header = message.getHeaderByName(Constants.URI_DEBUG,
"Debug");
if ((header != null) && (header instanceof DebugHeader)) {
1.15 +2 -2 xml-axis/java/src/org/apache/axis/handlers/EchoHandler.java
Index: EchoHandler.java
===================================================================
RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/handlers/EchoHandler.java,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -r1.14 -r1.15
--- EchoHandler.java 2001/04/26 23:07:04 1.14
+++ EchoHandler.java 2001/06/12 15:43:10 1.15
@@ -69,8 +69,8 @@
Debug.Print( 1, "Enter: EchoHandler::invoke" );
try {
Message msg = msgContext.getRequestMessage();
- SOAPEnvelope env = (SOAPEnvelope) msg.getAs( "SOAPEnvelope" );
- msgContext.setResponseMessage( new Message( env, "SOAPEnvelope" ) );
+ SOAPEnvelope env = (SOAPEnvelope) msg.getAsSOAPEnvelope();
+ msgContext.setResponseMessage( new Message( env ) );
}
catch( Exception e ) {
Debug.Print( 1, e );
1.11 +2 -2 xml-axis/java/src/org/apache/axis/handlers/LogHandler.java
Index: LogHandler.java
===================================================================
RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/handlers/LogHandler.java,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -r1.10 -r1.11
--- LogHandler.java 2001/02/21 01:07:21 1.10
+++ LogHandler.java 2001/06/12 15:43:10 1.11
@@ -79,9 +79,9 @@
pw.println( "=======================================================" );
pw.println( "= " + ( new Time(System.currentTimeMillis()) ).toString() );
pw.println( "= InMsg: " + inMsg );
- pw.println( "= InMsg: " + (inMsg == null ? "-" : inMsg.getAs("String")));
+ pw.println( "= InMsg: " + (inMsg == null ? "-" : inMsg.getAsString()));
pw.println( "= OutMsg: " + outMsg );
- pw.println( "= OutMsg: " + (outMsg == null ? "-" : outMsg.getAs("String")));
+ pw.println( "= OutMsg: " + (outMsg == null ? "-" : outMsg.getAsString()));
pw.println( "=======================================================" );
pw.close();
1.3 +2 -2 xml-axis/java/src/org/apache/axis/handlers/tcp/TCPActionHandler.java
Index: TCPActionHandler.java
===================================================================
RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/handlers/tcp/TCPActionHandler.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- TCPActionHandler.java 2001/06/10 19:57:23 1.2
+++ TCPActionHandler.java 2001/06/12 15:43:13 1.3
@@ -109,7 +109,7 @@
// For now, I'm trying to implement the TCP transport without
// patching *any* existing files. -- RobJ
- SOAPEnvelope env = (SOAPEnvelope) msgContext.getRequestMessage().getAs("SOAPEnvelope");
+ SOAPEnvelope env = (SOAPEnvelope) msgContext.getRequestMessage().getAsSOAPEnvelope();
Vector bodies = env.getBodyElements();
for ( int bNum = 0 ; bNum < bodies.size() ; bNum++ ) {
@@ -163,7 +163,7 @@
// YOW, THIS WORKS!
// ROBJ 911 remove this once I verify that getAs("SOAPEnvelope") twice in a row is a
// Bad Thing. (and once I figure out what else I should be doing!)
- String test = (String)msgContext.getRequestMessage().getAs("String");
+ String test = (String)msgContext.getRequestMessage().getAsString();
Debug.Print( 1, "Exit: TCPActionHandler::invoke" );
}
1.7 +12 -0 xml-axis/java/src/org/apache/axis/message/ElementRecorder.java
Index: ElementRecorder.java
===================================================================
RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/message/ElementRecorder.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- ElementRecorder.java 2001/05/04 19:24:45 1.6
+++ ElementRecorder.java 2001/06/12 15:43:14 1.7
@@ -75,6 +75,9 @@
// The recorded list of SAX events "inside" this element
protected Vector _events = new Vector();
+ // If non-null, pass events to this guy after recording.
+ private DeserializerBase nextHandler = null;
+
public ElementRecorder()
{
if (DEBUG_LOG)
@@ -91,6 +94,9 @@
}
_events.addElement(new StartElementEvent(namespace, localName, qName, attributes));
+
+ if (nextHandler != null)
+ nextHandler.startElement(namespace, localName, qName, attributes);
}
public void endElement(String namespace, String localName, String qName)
@@ -102,6 +108,9 @@
}
_events.addElement(new EndElementEvent(namespace, localName, qName));
+
+ if (nextHandler != null)
+ nextHandler.endElement(namespace, localName, qName);
}
public void characters(char [] chars, int start, int length)
@@ -113,6 +122,9 @@
}
_events.addElement(new CharactersEvent(chars, start, length));
+
+ if (nextHandler != null)
+ nextHandler.characters(chars, start, length);
}
/** Someone wants to deal with the XML inside me using SAX.
1.17 +10 -4 xml-axis/java/src/org/apache/axis/message/SOAPSAXHandler.java
Index: SOAPSAXHandler.java
===================================================================
RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/message/SOAPSAXHandler.java,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -r1.16 -r1.17
--- SOAPSAXHandler.java 2001/05/31 15:34:42 1.16
+++ SOAPSAXHandler.java 2001/06/12 15:43:14 1.17
@@ -376,11 +376,17 @@
public void startPrefixMapping(String prefix, String uri)
throws SAXException
{
- namespaces.add(uri, prefix);
+ if (prefix != null) {
+ namespaces.add(uri, prefix);
+ } else {
+ namespaces.add(uri, "");
+ }
- // System.out.println("Mapping '" + prefix +"' to '" + uri + "'");
-
- if (elementHandler != null) elementHandler.startPrefixMapping(prefix, uri);
+ if (DEBUG_LOG) {
+ System.err.println("StartPrefixMapping '" + prefix + "'->'" + uri + "'");
+ }
+
+ if (elementHandler != null) elementHandler.startPrefixMapping(prefix, uri);
}
public void endPrefixMapping(String prefix)
1.2 +3 -3 xml-axis/java/src/org/apache/axis/providers/java/JavaProvider.java
Index: JavaProvider.java
===================================================================
RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/providers/java/JavaProvider.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- JavaProvider.java 2001/05/31 09:25:07 1.1
+++ JavaProvider.java 2001/06/12 15:43:16 1.2
@@ -143,16 +143,16 @@
Object obj = getServiceObject(msgContext, clsName, methodName, jc);
Message reqMsg = msgContext.getRequestMessage();
- SOAPEnvelope reqEnv = (SOAPEnvelope) reqMsg.getAs("SOAPEnvelope");
+ SOAPEnvelope reqEnv = (SOAPEnvelope) reqMsg.getAsSOAPEnvelope();
Message resMsg = msgContext.getResponseMessage();
SOAPEnvelope resEnv = (resMsg == null) ?
new SOAPEnvelope() :
- (SOAPEnvelope)resMsg.getAs("SOAPEnvelope");
+ (SOAPEnvelope)resMsg.getAsSOAPEnvelope();
processMessage(msgContext, serviceName, methodName, reqEnv, resEnv, jc, obj);
if (resMsg == null) {
- resMsg = new Message(resEnv, "SOAPEnvelope");
+ resMsg = new Message(resEnv);
msgContext.setResponseMessage( resMsg );
}
}
1.22 +3 -3 xml-axis/java/src/org/apache/axis/transport/http/AxisServlet.java
Index: AxisServlet.java
===================================================================
RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/transport/http/AxisServlet.java,v
retrieving revision 1.21
retrieving revision 1.22
diff -u -r1.21 -r1.22
--- AxisServlet.java 2001/06/11 12:31:04 1.21
+++ AxisServlet.java 2001/06/12 15:43:17 1.22
@@ -123,7 +123,7 @@
/*******************************************************************/
MessageContext msgContext = new MessageContext(engine);
InputStream inp = req.getInputStream();
- Message msg = new Message( inp, "InputStream" );
+ Message msg = new Message( inp );
/* Set the request(incoming) message field in the context */
/**********************************************************/
@@ -187,7 +187,7 @@
res.setStatus( HttpServletResponse.SC_INTERNAL_SERVER_ERROR );
if ( !(e instanceof AxisFault) )
e = new AxisFault( e );
- msgContext.setResponseMessage( new Message(e, "AxisFault") );
+ msgContext.setResponseMessage( new Message((AxisFault)e) );
}
/* Send it back along the wire... */
@@ -198,7 +198,7 @@
if (msg == null) {
response="No data";
} else {
- response = (String)msg.getAs("String");
+ response = (String)msg.getAsString();
}
res.setContentLength( response.length() );
res.getWriter().print( response );
1.25 +5 -5 xml-axis/java/src/org/apache/axis/transport/http/HTTPDispatchHandler.java
Index: HTTPDispatchHandler.java
===================================================================
RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/transport/http/HTTPDispatchHandler.java,v
retrieving revision 1.24
retrieving revision 1.25
diff -u -r1.24 -r1.25
--- HTTPDispatchHandler.java 2001/05/05 20:50:34 1.24
+++ HTTPDispatchHandler.java 2001/06/12 15:43:17 1.25
@@ -165,7 +165,7 @@
Debug.Print( 1, "Created an insecure HTTP connection");
}
- reqEnv = (String) msgContext.getRequestMessage().getAs("String");
+ reqEnv = (String) msgContext.getRequestMessage().getAsString();
//System.out.println("Msg: " + reqEnv);
@@ -280,21 +280,21 @@
len+= inp.read(data,len,data.length-len);
String xml = new String(data);
- outMsg = new Message( data, "Bytes" );
+ outMsg = new Message( data );
Debug.Print( 1, "\nXML received:" );
Debug.Print( 1, "-----------------------------------------------");
Debug.Print( 1, xml );
}
else {
- outMsg = new Message( inp, "InputStream" );
+ outMsg = new Message( inp );
Debug.Print( 1, "\nNo Content-Length" );
Debug.Print( 1, "\nXML received:" );
Debug.Print( 1, "-----------------------------------------------");
- Debug.Print( 1, (String) outMsg.getAs("String") );
+ Debug.Print( 1, (String) outMsg.getAsString() );
}
} else {
- outMsg = new Message( inp, "InputStream" );
+ outMsg = new Message( inp );
}
msgContext.setResponseMessage( outMsg );
1.12 +9 -11 xml-axis/java/src/org/apache/axis/transport/http/SimpleAxisServer.java
Index: SimpleAxisServer.java
===================================================================
RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/transport/http/SimpleAxisServer.java,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -r1.11 -r1.12
--- SimpleAxisServer.java 2001/06/11 12:31:05 1.11
+++ SimpleAxisServer.java 2001/06/12 15:43:18 1.12
@@ -123,7 +123,7 @@
// create and initialize a message context
MessageContext msgContext = new MessageContext(engine);
- Message requestMsg = new Message("", "String");
+ Message requestMsg;
msgContext.setProperty(MessageContext.TRANS_INPUT , transportInName);
msgContext.setProperty(MessageContext.TRANS_OUTPUT, transportOutName);
@@ -135,9 +135,6 @@
StringBuffer soapAction = new StringBuffer();
StringBuffer httpRequest = new StringBuffer();
- // And, just in case it is needed...
- Message faultMsg = new Message(null, "AxisFault");
-
// Accept and process requests from the socket
while (!stopped) {
Socket socket = null;
@@ -150,9 +147,9 @@
// requestMsg = new Message("", "String");
msgContext.setServiceDescription(null);
msgContext.setTargetService(null);
- msgContext.setRequestMessage(requestMsg);
msgContext.setResponseMessage(null);
msgContext.clearProperties();
+ msgContext.setProperty("transport", "HTTPTransport");
msgContext.setProperty(MessageContext.TRANS_INPUT, transportInName);
msgContext.setProperty(MessageContext.TRANS_OUTPUT, transportOutName);
try {
@@ -188,7 +185,8 @@
String soapActionString = soapAction.toString();
- requestMsg.setCurrentMessage(is, "InputStream");
+ requestMsg = new Message(is);
+ msgContext.setRequestMessage(requestMsg);
msgContext.setTargetService(soapActionString);
msgContext.setProperty(HTTPConstants.MC_HTTP_SOAPACTION,
soapActionString);
@@ -203,19 +201,17 @@
status = UNAUTH; // SC_UNAUTHORIZED
}
- faultMsg.setCurrentMessage(af, "AxisFault");
- msgContext.setResponseMessage(faultMsg);
+ msgContext.setResponseMessage(new Message(af));
} catch( Exception e ) {
status = ISE; // SC_INTERNAL_SERVER_ERROR
- faultMsg.setCurrentMessage(new AxisFault(e), "AxisFault");
- msgContext.setResponseMessage(faultMsg);
+ msgContext.setResponseMessage(new Message(new AxisFault(e)));
}
// Retrieve the response from Axis
Message responseMsg = msgContext.getResponseMessage();
- byte[] response = (byte[]) responseMsg.getAs("Bytes");
+ byte[] response = (byte[]) responseMsg.getAsBytes();
// Send it on its way...
OutputStream out = socket.getOutputStream();
@@ -461,6 +457,8 @@
SimpleAxisServer sas = new SimpleAxisServer();
+ //Debug.setDebugLevel(6);
+
try {
int port = (args.length==0)? 8080 : Integer.parseInt(args[0]);
ServerSocket ss = new ServerSocket(port);
1.3 +2 -2 xml-axis/java/src/org/apache/axis/transport/local/LocalDispatchHandler.java
Index: LocalDispatchHandler.java
===================================================================
RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/transport/local/LocalDispatchHandler.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- LocalDispatchHandler.java 2001/06/12 11:07:35 1.2
+++ LocalDispatchHandler.java 2001/06/12 15:43:20 1.3
@@ -92,7 +92,7 @@
// copy the request, and force its format to String in order to
// exercise the serializers.
serverContext.setRequestMessage(clientContext.getRequestMessage());
- serverContext.getRequestMessage().getAs("String");
+ serverContext.getRequestMessage().getAsString();
// copy soap action if it is present
String action = clientContext.getStrProp(HTTPConstants.MC_HTTP_SOAPACTION);
@@ -107,7 +107,7 @@
// copy back the response, and force its format to String in order to
// exercise the deserializers.
clientContext.setResponseMessage(serverContext.getResponseMessage());
- clientContext.getResponseMessage().getAs("String");
+ clientContext.getResponseMessage().getAsString();
Debug.Print( 1, "Exit: LocalDispatchHandler::invoke" );
}
1.6 +3 -3 xml-axis/java/src/org/apache/axis/transport/tcp/AxisListener.java
Index: AxisListener.java
===================================================================
RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/transport/tcp/AxisListener.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- AxisListener.java 2001/06/11 12:31:10 1.5
+++ AxisListener.java 2001/06/12 15:43:20 1.6
@@ -231,7 +231,7 @@
byte[] mBytes = new byte[len];
inp.read(mBytes);
- msg = new Message(new ByteArrayInputStream(mBytes), "InputStream");
+ msg = new Message(new ByteArrayInputStream(mBytes));
} catch (IOException ex) {
System.err.println("Couldn't read from socket input stream: "+ex);
return;
@@ -255,13 +255,13 @@
catch( Exception e ) {
if ( !(e instanceof AxisFault) )
e = new AxisFault( e );
- msgContext.setResponseMessage( new Message(e, "AxisFault") );
+ msgContext.setResponseMessage( new Message((AxisFault)e) );
}
/* Send it back along the wire... */
/***********************************/
msg = msgContext.getResponseMessage();
- String response = (String) msg.getAs("String");
+ String response = (String) msg.getAsString();
if (msg == null) response="No data";
try {
OutputStream buf = new BufferedOutputStream(socket.getOutputStream());
1.2 +3 -3 xml-axis/java/src/org/apache/axis/transport/tcp/TCPDispatchHandler.java
Index: TCPDispatchHandler.java
===================================================================
RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/transport/tcp/TCPDispatchHandler.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- TCPDispatchHandler.java 2001/05/31 09:24:51 1.1
+++ TCPDispatchHandler.java 2001/06/12 15:43:21 1.2
@@ -170,7 +170,7 @@
}
*/
- reqEnv = (String) msgContext.getRequestMessage().getAs("String");
+ reqEnv = (String) msgContext.getRequestMessage().getAsString();
//System.out.println("Msg: " + reqEnv);
@@ -286,12 +286,12 @@
System.err.println("");
}
- outMsg = new Message( inp, "InputStream" );
+ outMsg = new Message( inp );
if (Debug.getDebugLevel() > 0) {
Debug.Print( 1, "\nNo Content-Length" );
Debug.Print( 1, "\nXML received:" );
Debug.Print( 1, "-----------------------------------------------");
- Debug.Print( 1, (String) outMsg.getAs("String") );
+ Debug.Print( 1, (String) outMsg.getAsString() );
}
msgContext.setResponseMessage( outMsg );
1.39 +4 -0 xml-axis/java/src/org/apache/axis/utils/Admin.java
Index: Admin.java
===================================================================
RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/utils/Admin.java,v
retrieving revision 1.38
retrieving revision 1.39
diff -u -r1.38 -r1.39
--- Admin.java 2001/06/12 12:15:05 1.38
+++ Admin.java 2001/06/12 15:43:22 1.39
@@ -503,6 +503,10 @@
System.err.println( "Where <xml-file> looks like:" );
System.err.println( "<deploy>" );
+ /*
+ System.err.println( " <transport name=a input=\"a,b,c\" sender=\"s\"");
+ System.err.println( " output=\"d,e\"/>" );
+ */
System.err.println( " <handler name=a class=className/>" );
System.err.println( " <chain name=a flow=\"a,b,c\" />" );
System.err.println( " <chain name=a input=\"a,b,c\" pivot=\"d\"" );
1.11 +2 -2 xml-axis/java/test/RPCDispatch/TestRPC.java
Index: TestRPC.java
===================================================================
RCS file: /home/cvs/xml-axis/java/test/RPCDispatch/TestRPC.java,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -r1.10 -r1.11
--- TestRPC.java 2001/06/11 12:31:15 1.10
+++ TestRPC.java 2001/06/12 15:43:24 1.11
@@ -69,7 +69,7 @@
// Create a message context with the action and message
MessageContext msgContext = new MessageContext(engine);
- msgContext.setRequestMessage(new Message(envelope, "SOAPEnvelope"));
+ msgContext.setRequestMessage(new Message(envelope));
if (setService) {
msgContext.setTargetService(SOAPAction);
}
@@ -83,7 +83,7 @@
// Extract the response Envelope
Message message = msgContext.getResponseMessage();
- envelope = (SOAPEnvelope)message.getAs("SOAPEnvelope");
+ envelope = (SOAPEnvelope)message.getAsSOAPEnvelope();
assertNotNull("envelope", envelope);
// Extract the body from the envelope
1.9 +2 -2 xml-axis/java/test/encoding/TestDeser.java
Index: TestDeser.java
===================================================================
RCS file: /home/cvs/xml-axis/java/test/encoding/TestDeser.java,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- TestDeser.java 2001/06/11 12:31:19 1.8
+++ TestDeser.java 2001/06/12 15:43:24 1.9
@@ -64,10 +64,10 @@
* Verify that a given XML deserialized produces the expected result
*/
protected void deserialize(String data, Object expected) {
- Message message = new Message(header + data + footer, "String");
+ Message message = new Message(header + data + footer);
message.setMessageContext(new MessageContext(new AxisServer()));
- SOAPEnvelope envelope = (SOAPEnvelope)message.getAs("SOAPEnvelope");
+ SOAPEnvelope envelope = (SOAPEnvelope)message.getAsSOAPEnvelope();
assertNotNull("envelope", envelope);
RPCElement body = (RPCElement)envelope.getFirstBody();
1.6 +2 -2 xml-axis/java/test/encoding/TestHrefs.java
Index: TestHrefs.java
===================================================================
RCS file: /home/cvs/xml-axis/java/test/encoding/TestHrefs.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- TestHrefs.java 2001/06/11 12:31:20 1.5
+++ TestHrefs.java 2001/06/12 15:43:25 1.6
@@ -70,10 +70,10 @@
msgString += messageParts[i];
}
- Message message = new Message(msgString, "String");
+ Message message = new Message(msgString);
message.setMessageContext(new MessageContext(new AxisServer()));
- SOAPEnvelope envelope = (SOAPEnvelope)message.getAs("SOAPEnvelope");
+ SOAPEnvelope envelope = (SOAPEnvelope)message.getAsSOAPEnvelope();
assertNotNull("envelope", envelope);
RPCElement body = (RPCElement)envelope.getFirstBody();