gdaniels    02/05/10 07:10:59

  Modified:    java/src/org/apache/axis/providers/java RPCProvider.java
  Log:
  Checked in wrong version of file - oops!
  
  Revision  Changes    Path
  1.58      +69 -70    
xml-axis/java/src/org/apache/axis/providers/java/RPCProvider.java
  
  Index: RPCProvider.java
  ===================================================================
  RCS file: 
/home/cvs/xml-axis/java/src/org/apache/axis/providers/java/RPCProvider.java,v
  retrieving revision 1.57
  retrieving revision 1.58
  diff -u -r1.57 -r1.58
  --- RPCProvider.java  10 May 2002 13:22:00 -0000      1.57
  +++ RPCProvider.java  10 May 2002 14:10:58 -0000      1.58
  @@ -143,6 +143,7 @@
   
           if (body == null) {
               // throw something
  +            throw new Exception();
           }
           String methodName = body.getMethodName();
           Vector args = body.getParams();
  @@ -175,87 +176,85 @@
           // Make sure we respect parameter ordering if we know about it
           // from metadata, and handle whatever conversions are necessary
           // (values -> Holders, etc)
  -        if ( args != null && args.size() > 0 ) {
  -            for ( int i = 0 ; i < numArgs ; i++ ) {
  -                RPCParam rpcParam = (RPCParam)args.get(i);
  -                Object value = rpcParam.getValue();
  -                ParameterDesc paramDesc = rpcParam.getParamDesc();
  -                if (paramDesc != null && paramDesc.getJavaType() != null) {
  -                    value = JavaUtils.convert(value,
  -                                              paramDesc.getJavaType());
  -                    rpcParam.setValue(value);
  -                    if (paramDesc.getMode() == ParameterDesc.INOUT)
  -                        outs.add(rpcParam);
  -                }
  -                if (paramDesc == null || paramDesc.getOrder() == -1) {
  -                    argValues[i]  = value;
  -                } else {
  -                    argValues[paramDesc.getOrder()] = value;
  -                }
  +        for ( int i = 0 ; i < numArgs ; i++ ) {
  +            RPCParam rpcParam = (RPCParam)args.get(i);
  +            Object value = rpcParam.getValue();
  +            ParameterDesc paramDesc = rpcParam.getParamDesc();
  +            if (paramDesc != null && paramDesc.getJavaType() != null) {
  +                value = JavaUtils.convert(value,
  +                                          paramDesc.getJavaType());
  +                rpcParam.setValue(value);
  +                if (paramDesc.getMode() == ParameterDesc.INOUT)
  +                    outs.add(rpcParam);
  +            }
  +            if (paramDesc == null || paramDesc.getOrder() == -1) {
  +                argValues[i]  = value;
  +            } else {
  +                argValues[paramDesc.getOrder()] = value;
  +            }
   
  -                if (log.isDebugEnabled()) {
  -                    log.debug("  " + JavaUtils.getMessage("value00",
  -                                                          "" + argValues[i]) );
  -                }
  +            if (log.isDebugEnabled()) {
  +                log.debug("  " + JavaUtils.getMessage("value00",
  +                                                      "" + argValues[i]) );
               }
  +        }
   
  -            // Check if we can find a Method by this name
  -            // FIXME : Shouldn't this type of thing have already occurred?
  -            checkMethodName(msgContext, allowedMethods, operation.getName());
  -
  -            // Now create any out holders we need to pass in
  -            if (numArgs < argValues.length) {
  -                ArrayList outParams = operation.getOutParams();
  -                for (int i = 0; i < outParams.size(); i++) {
  -                    ParameterDesc param = (ParameterDesc)outParams.get(i);
  -                    Class holderClass = param.getJavaType();
  -                    if (Holder.class.isAssignableFrom(holderClass)) {
  -                        argValues[numArgs + i] = holderClass.newInstance();
  -                        // Store an RPCParam in the outs collection so we
  -                        // have an easy and consistent way to write these
  -                        // back to the client below
  -                        outs.add(new RPCParam(param.getQName(),
  -                                              argValues[numArgs + i]));
  -                    } else {
  -                        // !!! Throw a fault here?
  -                    }
  +        // Check if we can find a Method by this name
  +        // FIXME : Shouldn't this type of thing have already occurred?
  +        checkMethodName(msgContext, allowedMethods, operation.getName());
  +
  +        // Now create any out holders we need to pass in
  +        if (numArgs < argValues.length) {
  +            ArrayList outParams = operation.getOutParams();
  +            for (int i = 0; i < outParams.size(); i++) {
  +                ParameterDesc param = (ParameterDesc)outParams.get(i);
  +                Class holderClass = param.getJavaType();
  +                if (Holder.class.isAssignableFrom(holderClass)) {
  +                    argValues[numArgs + i] = holderClass.newInstance();
  +                    // Store an RPCParam in the outs collection so we
  +                    // have an easy and consistent way to write these
  +                    // back to the client below
  +                    outs.add(new RPCParam(param.getQName(),
  +                                          argValues[numArgs + i]));
  +                } else {
  +                    // !!! Throw a fault here?
                   }
               }
  +        }
   
  -            // OK!  Now we can invoke the method
  -            Object objRes = operation.getMethod().invoke(obj, argValues);
  +        // OK!  Now we can invoke the method
  +        Object objRes = operation.getMethod().invoke(obj, argValues);
   
  -            /* Now put the result in the result SOAPEnvelope */
  -            /*************************************************/
  -            RPCElement resBody = new RPCElement(methodName + "Response");
  -            resBody.setPrefix( body.getPrefix() );
  -            resBody.setNamespaceURI( body.getNamespaceURI() );
  -            resBody.setEncodingStyle(msgContext.getEncodingStyle());
  -
  -            // Return first
  -            if ( operation.getMethod().getReturnType() != Void.TYPE ) {
  -                QName returnQName = operation.getReturnQName();
  -                if (returnQName == null) {
  -                    returnQName = new QName("", methodName + "Return");
  -                }
  -                RPCParam param = new RPCParam(returnQName, objRes);
  -                param.setParamDesc(operation.getReturnParamDesc());
  -                resBody.addParam(param);
  +        /* Now put the result in the result SOAPEnvelope */
  +        /*************************************************/
  +        RPCElement resBody = new RPCElement(methodName + "Response");
  +        resBody.setPrefix( body.getPrefix() );
  +        resBody.setNamespaceURI( body.getNamespaceURI() );
  +        resBody.setEncodingStyle(msgContext.getEncodingStyle());
  +
  +        // Return first
  +        if ( operation.getMethod().getReturnType() != Void.TYPE ) {
  +            QName returnQName = operation.getReturnQName();
  +            if (returnQName == null) {
  +                returnQName = new QName("", methodName + "Return");
               }
  +            RPCParam param = new RPCParam(returnQName, objRes);
  +            param.setParamDesc(operation.getReturnParamDesc());
  +            resBody.addParam(param);
  +        }
   
  -            // Then any other out params
  -            if (!outs.isEmpty()) {
  -                for (Iterator i = outs.iterator(); i.hasNext();) {
  -                    // We know this has a holder, so just unwrap the value
  -                    RPCParam param = (RPCParam) i.next();
  -                    Holder holder = (Holder)param.getValue();
  -                    param.setValue(JavaUtils.getHolderValue(holder));
  -                    resBody.addParam(param);
  -                }
  +        // Then any other out params
  +        if (!outs.isEmpty()) {
  +            for (Iterator i = outs.iterator(); i.hasNext();) {
  +                // We know this has a holder, so just unwrap the value
  +                RPCParam param = (RPCParam) i.next();
  +                Holder holder = (Holder)param.getValue();
  +                param.setValue(JavaUtils.getHolderValue(holder));
  +                resBody.addParam(param);
               }
  -
  -            resEnv.addBodyElement(resBody);
           }
  +
  +        resEnv.addBodyElement(resBody);
       }
   
       protected Method[] getMethod(MessageContext msgContext,
  
  
  


Reply via email to