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 du...@apache.org on 2001/03/13 07:46:20 UTC
cvs commit: xml-axis/java/src/org/apache/axis/message RPCBody.java SOAPHeader.java
dug 01/03/12 22:46:20
Modified: java/src/org/apache/axis Message.java
java/src/org/apache/axis/client HTTPCall.java
java/src/org/apache/axis/handlers RPCDispatchHandler.java
SimpleAuthenticationHandler.java
SimpleAuthorizationHandler.java
java/src/org/apache/axis/message RPCBody.java
SOAPHeader.java
Log:
Misc updates to help us interop with MS Soap
Revision Changes Path
1.13 +20 -18 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.12
retrieving revision 1.13
diff -u -r1.12 -r1.13
--- Message.java 2001/03/03 01:07:04 1.12
+++ Message.java 2001/03/13 06:46:18 1.13
@@ -224,32 +224,34 @@
Debug.Print( 2, "Enter: Message::getAsDocument" );
if ( currentForm.equals("Document") ) return( (Document) currentMessage );
- SAXBuilder parser = new SAXBuilder();
- Reader reader = null ;
+ SAXBuilder parser = new SAXBuilder();
+ InputStream inp = null ;
try {
if ( currentForm.equals("InputStream") )
- reader = new InputStreamReader( (InputStream) currentMessage );
+ inp = (InputStream) currentMessage ;
else if ( currentForm.equals("ServletRequest") ) {
HttpServletRequest req = (HttpServletRequest)currentMessage;
+ inp = req.getInputStream();
- int contentLength = req.getContentLength();
- Reader requestReader = req.getReader ();
- char[] payload = new char[contentLength];
- int offset = 0;
-
- while (offset < contentLength) {
- offset += requestReader.read (payload, offset, contentLength - offset);
- }
-
- reader = new CharArrayReader(payload);
+ // int contentLength = req.getContentLength();
+ // Reader requestReader = req.getReader ();
+ // char[] payload = new char[contentLength];
+ // int offset = 0;
+ // while (offset < contentLength) {
+ // offset+=requestReader.read(payload,offset,contentLength-offset);
+ // }
+ // reader = new CharArrayReader(payload);
+ }
+ else if ( currentForm.equals("String") ) {
+ Reader reader = new StringReader( (String) currentMessage );
+ setCurrentMessage( parser.build( reader ), "Document" );
+ Debug.Print( 2, "Exit: Message::getAsDocument" );
+ return( (Document) currentMessage );
}
- else if ( currentForm.equals("String") )
- reader = new StringReader( (String) currentMessage );
else if ( currentForm.equals("Bytes") ) {
ByteArrayInputStream bais ;
- bais = new ByteArrayInputStream((byte[])currentMessage );
- reader = new InputStreamReader( bais );
+ inp = new ByteArrayInputStream((byte[])currentMessage );
}
else if ( currentForm.equals("AxisFault") ) {
AxisFault fault = (AxisFault) currentMessage ;
@@ -274,7 +276,7 @@
return( null );
}
- setCurrentMessage( parser.build( reader ), "Document" );
+ setCurrentMessage( parser.build( inp ), "Document" );
Debug.Print( 2, "Exit: Message::getAsDocument" );
return( (Document) currentMessage );
}
1.14 +5 -3 xml-axis/java/src/org/apache/axis/client/HTTPCall.java
Index: HTTPCall.java
===================================================================
RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/client/HTTPCall.java,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -r1.13 -r1.14
--- HTTPCall.java 2001/03/02 20:03:07 1.13
+++ HTTPCall.java 2001/03/13 06:46:18 1.14
@@ -143,7 +143,8 @@
MessageContext msgContext = new MessageContext( reqMsg );
Vector resBodies = null ;
Vector resArgs = null ;
- RPCArg arg ;
+ RPCArg arg = null ;
+ Object result = null ;
hMsg.setUserID( userID );
hMsg.setPassword( passwd );
@@ -168,9 +169,10 @@
Document doc = (Document) resMsg.getAs("Document");
body = new RPCBody( doc.getRootElement() );
resArgs = body.getArgs();
- arg = (RPCArg) resArgs.get(0);
+ if ( args != null && resArgs.size() > 0 )
+ result = (String) ((RPCArg) resArgs.get(0)).getValue() ;
Debug.Print( 1, "Exit: HTTPCall.invoke" );
- return( (String) arg.getValue() );
+ return( result );
}
}
1.20 +18 -11 xml-axis/java/src/org/apache/axis/handlers/RPCDispatchHandler.java
Index: RPCDispatchHandler.java
===================================================================
RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/handlers/RPCDispatchHandler.java,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -r1.19 -r1.20
--- RPCDispatchHandler.java 2001/03/09 19:25:26 1.19
+++ RPCDispatchHandler.java 2001/03/13 06:46:19 1.20
@@ -112,13 +112,18 @@
null, null ); // Should they??
Debug.Print( 2, "There are " + args.size() + " arg(s)" );
- Class[] argClasses = new Class[ args.size() ];
- Object[] argValues = new Object[ args.size()];
- for ( i = 0 ; i < args.size() ; i++ ) {
- argClasses[i] = cl.loadClass("java.lang.String") ;
- argValues[i] = ((RPCArg)args.get(i)).getValue() ; // only String 4now
- Debug.Print( 2, " class: " + argClasses[i] );
- Debug.Print( 2, " value: " + argValues[i].toString() );
+ Class[] argClasses = null ;
+ Object[] argValues = null ;
+
+ if ( args != null && args.size() > 0 ) {
+ argClasses = new Class[ args.size() ];
+ argValues = new Object[ args.size()];
+ for ( i = 0 ; i < args.size() ; i++ ) {
+ argClasses[i] = cl.loadClass("java.lang.String") ;
+ argValues[i] = ((RPCArg)args.get(i)).getValue() ; // String 4now
+ Debug.Print( 2, " class: " + argClasses[i] );
+ Debug.Print( 2, " value: " + argValues[i].toString() );
+ }
}
Method method = cls.getMethod( mName, argClasses );
@@ -130,10 +135,12 @@
resBody.setMethodName( mName + "Response" );
resBody.setPrefix( body.getPrefix() );
resBody.setNamespaceURI( body.getNamespaceURI() );
- RPCArg arg = new RPCArg();
- arg.setName( "return" );
- arg.setValue( objRes.toString() );
- resBody.addArg( arg );
+ if ( objRes != null ) {
+ RPCArg arg = new RPCArg();
+ arg.setName( "return" );
+ arg.setValue( objRes.toString() );
+ resBody.addArg( arg );
+ }
resEnv.addBody( resBody.getAsSOAPBody() );
}
1.7 +1 -1 xml-axis/java/src/org/apache/axis/handlers/SimpleAuthenticationHandler.java
Index: SimpleAuthenticationHandler.java
===================================================================
RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/handlers/SimpleAuthenticationHandler.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- SimpleAuthenticationHandler.java 2001/02/17 16:44:02 1.6
+++ SimpleAuthenticationHandler.java 2001/03/13 06:46:19 1.7
@@ -103,7 +103,7 @@
if ( passwd == null && p != null ) continue ;
if ( passwd != null && !passwd.equals(p) ) continue ;
- Debug.Print( 1, "User '" + userID + "' authenicated to server" );
+ Debug.Print( 1, "User '" + userID + "' authenticated to server" );
done = true ;
break ;
}
1.8 +5 -5 xml-axis/java/src/org/apache/axis/handlers/SimpleAuthorizationHandler.java
Index: SimpleAuthorizationHandler.java
===================================================================
RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/handlers/SimpleAuthorizationHandler.java,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- SimpleAuthorizationHandler.java 2001/02/17 16:44:02 1.7
+++ SimpleAuthorizationHandler.java 2001/03/13 06:46:19 1.8
@@ -78,10 +78,10 @@
Debug.Print( 1, "Enter: SimpleAuthenticationHandler::invoke" );
try {
String userID = (String) msgContext.getProperty( MessageContext.USERID );
- String action = (String) msgContext.getProperty( HTTPConstants.MC_HTTP_SOAPACTION );
+ String action = msgContext.getTargetService();
- Debug.Print( 1, "User: " + userID );
- Debug.Print( 1, "Action: " + action );
+ Debug.Print( 1, "User: '" + userID + "'" );
+ Debug.Print( 1, "Action: '" + action + "'" );
FileReader fr = new FileReader( "perms.lst" );
LineNumberReader lnr = new LineNumberReader( fr );
@@ -100,12 +100,12 @@
if ( st.hasMoreTokens() ) u = st.nextToken();
if ( st.hasMoreTokens() ) a = st.nextToken();
- Debug.Print( 2, "From file: " + u + ":" + a );
+ Debug.Print( 2, "From file: '" + u + "':'" + a + "'" );
if ( !userID.equals(u) ) continue ;
if ( !action.equals(a) ) continue ;
- Debug.Print( 1, "User '" + userID + "' authorized to: " +a );
+ Debug.Print( 1, "User '" + userID + "' authorized to: " + a );
done = true ;
break ;
}
1.11 +7 -1 xml-axis/java/src/org/apache/axis/message/RPCBody.java
Index: RPCBody.java
===================================================================
RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/message/RPCBody.java,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -r1.10 -r1.11
--- RPCBody.java 2001/03/02 20:03:58 1.10
+++ RPCBody.java 2001/03/13 06:46:19 1.11
@@ -92,7 +92,13 @@
setMethodName( methodName );
if ( args != null ) {
for ( int i = 0 ; i < args.length ; i++ ) {
- RPCArg arg = new RPCArg( "arg" + i, (String) args[i] );
+ Object obj = args[i] ;
+ RPCArg arg = null ;
+
+ if ( !(obj instanceof RPCArg) )
+ arg = new RPCArg( "arg" + i, (String) obj );
+ else
+ arg = (RPCArg) obj ;
addArg( arg );
}
}
1.11 +15 -5 xml-axis/java/src/org/apache/axis/message/SOAPHeader.java
Index: SOAPHeader.java
===================================================================
RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/message/SOAPHeader.java,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -r1.10 -r1.11
--- SOAPHeader.java 2001/03/02 20:04:08 1.10
+++ SOAPHeader.java 2001/03/13 06:46:19 1.11
@@ -127,11 +127,21 @@
}
public Element getAsXML() {
- Element root = new Element( name, prefix, namespaceURI );
- if ( mustUnderstand )
- root.addAttribute( Constants.ATTR_MUST_UNDERSTAND, "1" );
- if ( actor != null )
- root.addAttribute( Constants.ATTR_ACTOR, actor );
+ Element root = new Element( name, prefix, namespaceURI );
+ Namespace ns = null ;
+ Attribute attr = null ;
+ if ( mustUnderstand ) {
+ ns = Namespace.getNamespace( Constants.NSPREFIX_SOAP_ENV,
+ Constants.URI_SOAP_ENV );
+ attr = new Attribute(Constants.ATTR_MUST_UNDERSTAND, "1", ns );
+ root.addAttribute( attr );
+ }
+ if ( actor != null ) {
+ ns = Namespace.getNamespace( Constants.NSPREFIX_SOAP_ENV,
+ Constants.URI_SOAP_ENV );
+ attr = new Attribute( Constants.ATTR_ACTOR, actor, ns );
+ root.addAttribute( attr );
+ }
for ( int i = 0 ; data != null && i < data.size() ; i++ ) {
Object o = data.get(i);
if ( o instanceof String )