com.sun.xml.internal.ws.model.JavaMethodImpl Java Examples

The following examples show how to use com.sun.xml.internal.ws.model.JavaMethodImpl. You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: WsaTubeHelper.java    From openjdk-jdk8u with GNU General Public License v2.0 6 votes vote down vote up
public String getOutputAction(Packet packet) {
    //String action = AddressingVersion.UNSET_OUTPUT_ACTION;
    String action = null;
    WSDLOperationMapping wsdlOp = packet.getWSDLOperationMapping();
    if (wsdlOp != null) {
        JavaMethod javaMethod = wsdlOp.getJavaMethod();
        if (javaMethod != null) {
            JavaMethodImpl jm = (JavaMethodImpl) javaMethod;
            if (jm != null && jm.getOutputAction() != null && !jm.getOutputAction().equals("")) {
                return jm.getOutputAction();
            }
        }
        WSDLBoundOperation wbo = wsdlOp.getWSDLBoundOperation();
        if (wbo != null) return getOutputAction(wbo);
    }
    return action;
}
 
Example #2
Source File: WSDLGenerator.java    From TencentKona-8 with GNU General Public License v2.0 6 votes vote down vote up
/**
 * Generates the parameterOrder for a PortType operation
 * @param operation the operation to generate the parameterOrder for
 * @param method the {@link JavaMethod} to generate the parameterOrder from
 */
protected void generateRpcParameterOrder(Operation operation, JavaMethodImpl method) {
    String partName;
    StringBuilder paramOrder = new StringBuilder();
    Set<String> partNames = new HashSet<String>();
    List<ParameterImpl> sortedParams = sortMethodParameters(method);
    int i = 0;
    for (ParameterImpl parameter : sortedParams) {
        if (parameter.getIndex() >= 0) {
            partName = parameter.getPartName();
            if (!partNames.contains(partName)) {
                if (i++ > 0)
                    paramOrder.append(' ');
                paramOrder.append(partName);
                partNames.add(partName);
            }
        }
    }
    if (i > 1) {
        operation.parameterOrder(paramOrder.toString());
    }
}
 
Example #3
Source File: WsaTubeHelper.java    From openjdk-jdk8u-backup with GNU General Public License v2.0 6 votes vote down vote up
public String getOutputAction(Packet packet) {
    //String action = AddressingVersion.UNSET_OUTPUT_ACTION;
    String action = null;
    WSDLOperationMapping wsdlOp = packet.getWSDLOperationMapping();
    if (wsdlOp != null) {
        JavaMethod javaMethod = wsdlOp.getJavaMethod();
        if (javaMethod != null) {
            JavaMethodImpl jm = (JavaMethodImpl) javaMethod;
            if (jm != null && jm.getOutputAction() != null && !jm.getOutputAction().equals("")) {
                return jm.getOutputAction();
            }
        }
        WSDLBoundOperation wbo = wsdlOp.getWSDLBoundOperation();
        if (wbo != null) return getOutputAction(wbo);
    }
    return action;
}
 
Example #4
Source File: WSDLGenerator.java    From openjdk-8-source with GNU General Public License v2.0 6 votes vote down vote up
/**
 * Generates the parameterOrder for a PortType operation
 * @param operation the operation to generate the parameterOrder for
 * @param method the {@link JavaMethod} to generate the parameterOrder from
 */
protected void generateRpcParameterOrder(Operation operation, JavaMethodImpl method) {
    String partName;
    StringBuilder paramOrder = new StringBuilder();
    Set<String> partNames = new HashSet<String>();
    List<ParameterImpl> sortedParams = sortMethodParameters(method);
    int i = 0;
    for (ParameterImpl parameter : sortedParams) {
        if (parameter.getIndex() >= 0) {
            partName = parameter.getPartName();
            if (!partNames.contains(partName)) {
                if (i++ > 0)
                    paramOrder.append(' ');
                paramOrder.append(partName);
                partNames.add(partName);
            }
        }
    }
    if (i > 1) {
        operation.parameterOrder(paramOrder.toString());
    }
}
 
Example #5
Source File: WSDLGenerator.java    From openjdk-jdk8u with GNU General Public License v2.0 6 votes vote down vote up
/**
 * Generates the parameterOrder for a PortType operation
 * @param operation the operation to generate the parameterOrder for
 * @param method the {@link JavaMethod} to generate the parameterOrder from
 */
protected void generateRpcParameterOrder(Operation operation, JavaMethodImpl method) {
    String partName;
    StringBuilder paramOrder = new StringBuilder();
    Set<String> partNames = new HashSet<String>();
    List<ParameterImpl> sortedParams = sortMethodParameters(method);
    int i = 0;
    for (ParameterImpl parameter : sortedParams) {
        if (parameter.getIndex() >= 0) {
            partName = parameter.getPartName();
            if (!partNames.contains(partName)) {
                if (i++ > 0)
                    paramOrder.append(' ');
                paramOrder.append(partName);
                partNames.add(partName);
            }
        }
    }
    if (i > 1) {
        operation.parameterOrder(paramOrder.toString());
    }
}
 
Example #6
Source File: WSDLGenerator.java    From openjdk-jdk8u-backup with GNU General Public License v2.0 6 votes vote down vote up
/**
 * Generates the parameterOrder for a PortType operation
 * @param operation the operation to generate the parameterOrder for
 * @param method the {@link JavaMethod} to generate the parameterOrder from
 */
protected void generateRpcParameterOrder(Operation operation, JavaMethodImpl method) {
    String partName;
    StringBuilder paramOrder = new StringBuilder();
    Set<String> partNames = new HashSet<String>();
    List<ParameterImpl> sortedParams = sortMethodParameters(method);
    int i = 0;
    for (ParameterImpl parameter : sortedParams) {
        if (parameter.getIndex() >= 0) {
            partName = parameter.getPartName();
            if (!partNames.contains(partName)) {
                if (i++ > 0)
                    paramOrder.append(' ');
                paramOrder.append(partName);
                partNames.add(partName);
            }
        }
    }
    if (i > 1) {
        operation.parameterOrder(paramOrder.toString());
    }
}
 
Example #7
Source File: WsaTubeHelper.java    From jdk8u60 with GNU General Public License v2.0 6 votes vote down vote up
public String getOutputAction(Packet packet) {
    //String action = AddressingVersion.UNSET_OUTPUT_ACTION;
    String action = null;
    WSDLOperationMapping wsdlOp = packet.getWSDLOperationMapping();
    if (wsdlOp != null) {
        JavaMethod javaMethod = wsdlOp.getJavaMethod();
        if (javaMethod != null) {
            JavaMethodImpl jm = (JavaMethodImpl) javaMethod;
            if (jm != null && jm.getOutputAction() != null && !jm.getOutputAction().equals("")) {
                return jm.getOutputAction();
            }
        }
        WSDLBoundOperation wbo = wsdlOp.getWSDLBoundOperation();
        if (wbo != null) return getOutputAction(wbo);
    }
    return action;
}
 
Example #8
Source File: WsaTubeHelper.java    From openjdk-8 with GNU General Public License v2.0 6 votes vote down vote up
public String getOutputAction(Packet packet) {
    //String action = AddressingVersion.UNSET_OUTPUT_ACTION;
    String action = null;
    WSDLOperationMapping wsdlOp = packet.getWSDLOperationMapping();
    if (wsdlOp != null) {
        JavaMethod javaMethod = wsdlOp.getJavaMethod();
        if (javaMethod != null) {
            JavaMethodImpl jm = (JavaMethodImpl) javaMethod;
            if (jm != null && jm.getOutputAction() != null && !jm.getOutputAction().equals("")) {
                return jm.getOutputAction();
            }
        }
        WSDLBoundOperation wbo = wsdlOp.getWSDLBoundOperation();
        if (wbo != null) return getOutputAction(wbo);
    }
    return action;
}
 
Example #9
Source File: WsaTubeHelper.java    From openjdk-jdk9 with GNU General Public License v2.0 6 votes vote down vote up
public String getOutputAction(Packet packet) {
    //String action = AddressingVersion.UNSET_OUTPUT_ACTION;
    String action = null;
    WSDLOperationMapping wsdlOp = packet.getWSDLOperationMapping();
    if (wsdlOp != null) {
        JavaMethod javaMethod = wsdlOp.getJavaMethod();
        if (javaMethod != null) {
            JavaMethodImpl jm = (JavaMethodImpl) javaMethod;
            if (jm != null && jm.getOutputAction() != null && !jm.getOutputAction().equals("")) {
                return jm.getOutputAction();
            }
        }
        WSDLBoundOperation wbo = wsdlOp.getWSDLBoundOperation();
        if (wbo != null) return getOutputAction(wbo);
    }
    return action;
}
 
Example #10
Source File: DatabindingImpl.java    From openjdk-jdk9 with GNU General Public License v2.0 5 votes vote down vote up
JavaMethodImpl resolveJavaMethod(Packet req) throws DispatchException {
    WSDLOperationMapping m = req.getWSDLOperationMapping();
    if (m == null) {
        synchronized (this) {
            m = (operationDispatcher != null)
                    ? operationDispatcher.getWSDLOperationMapping(req)
                    : operationDispatcherNoWsdl.getWSDLOperationMapping(req);
        }
    }
    return (JavaMethodImpl) m.getJavaMethod();
}
 
Example #11
Source File: DatabindingImpl.java    From openjdk-8-source with GNU General Public License v2.0 5 votes vote down vote up
public DatabindingImpl(DatabindingProviderImpl p, DatabindingConfig config) {
        RuntimeModeler modeler = new RuntimeModeler(config);
        modeler.setClassLoader(config.getClassLoader());
        seiModel = modeler.buildRuntimeModel();
        WSDLPort wsdlport = config.getWsdlPort();
        packetFactory = new MessageContextFactory(seiModel.getWSBinding().getFeatures());
        clientConfig = isClientConfig(config);
        if (clientConfig) {
            initStubHandlers();
        }
        seiModel.setDatabinding(this);
        if (wsdlport != null) {
            freeze(wsdlport);
        }
        if (operationDispatcher == null) {
            operationDispatcherNoWsdl = new OperationDispatcher(null, seiModel.getWSBinding(), seiModel);
        }
//    if(!clientConfig) {
        for (JavaMethodImpl jm : seiModel.getJavaMethods()) {
            if (!jm.isAsync()) {
                TieHandler th = new TieHandler(jm, seiModel.getWSBinding(), packetFactory);
                wsdlOpMap.put(jm, th);
                tieHandlers.put(th.getMethod(), th);
            }
        }
//    }
    }
 
Example #12
Source File: WSDLGenerator.java    From openjdk-jdk9 with GNU General Public License v2.0 5 votes vote down vote up
/**
 * Generates the parameterOrder for a PortType operation
 * @param operation The operation to generate the parameterOrder for
 * @param method The {@link JavaMethod} to generate the parameterOrder from
 */
protected void generateParameterOrder(Operation operation, JavaMethodImpl method) {
    if (method.getMEP() == MEP.ONE_WAY)
        return;
    if (isRpcLit(method))
        generateRpcParameterOrder(operation, method);
    else
        generateDocumentParameterOrder(operation, method);
}
 
Example #13
Source File: DatabindingImpl.java    From openjdk-8 with GNU General Public License v2.0 5 votes vote down vote up
public JavaCallInfo deserializeRequest(Packet req) {
    com.sun.xml.internal.ws.api.databinding.JavaCallInfo call = new com.sun.xml.internal.ws.api.databinding.JavaCallInfo();
    try {
        JavaMethodImpl wsdlOp = resolveJavaMethod(req);
        TieHandler tie = wsdlOpMap.get(wsdlOp);
        call.setMethod(tie.getMethod());
        Object[] args = tie.readRequest(req.getMessage());
        call.setParameters(args);
    } catch (DispatchException e) {
        call.setException(e);
    }
    return call;
}
 
Example #14
Source File: TieHandler.java    From openjdk-8 with GNU General Public License v2.0 5 votes vote down vote up
public TieHandler(JavaMethodImpl method, WSBinding binding, MessageContextFactory mcf) {
    this.soapVersion = binding.getSOAPVersion();
    this.method = method.getMethod();
    this.javaMethodModel = method;
    argumentsBuilder = createArgumentsBuilder();
    List<MessageFiller> fillers = new ArrayList<MessageFiller>();
    bodyBuilder = createResponseMessageBuilder(fillers);
    this.outFillers = fillers.toArray(new MessageFiller[fillers.size()]);
    this.isOneWay = method.getMEP().isOneWay();
    this.noOfArgs = this.method.getParameterTypes().length;
    packetFactory = mcf;
}
 
Example #15
Source File: WSDLGenerator.java    From openjdk-8-source with GNU General Public License v2.0 5 votes vote down vote up
/**
 * Determines if the <CODE>method</CODE> is wrapper style
 * @param method The {@link JavaMethod} to check if it is wrapper style
 * @return true if the method is wrapper style, otherwise, false.
 */
protected boolean isWrapperStyle(JavaMethodImpl method) {
    if (method.getRequestParameters().size() > 0) {
        ParameterImpl param = method.getRequestParameters().iterator().next();
        return param.isWrapperStyle();
    }
    return false;
}
 
Example #16
Source File: DatabindingImpl.java    From openjdk-jdk8u-backup with GNU General Public License v2.0 5 votes vote down vote up
public DatabindingImpl(DatabindingProviderImpl p, DatabindingConfig config) {
        RuntimeModeler modeler = new RuntimeModeler(config);
        modeler.setClassLoader(config.getClassLoader());
        seiModel = modeler.buildRuntimeModel();
        WSDLPort wsdlport = config.getWsdlPort();
        packetFactory = new MessageContextFactory(seiModel.getWSBinding().getFeatures());
        clientConfig = isClientConfig(config);
        if (clientConfig) {
            initStubHandlers();
        }
        seiModel.setDatabinding(this);
        if (wsdlport != null) {
            freeze(wsdlport);
        }
        if (operationDispatcher == null) {
            operationDispatcherNoWsdl = new OperationDispatcher(null, seiModel.getWSBinding(), seiModel);
        }
//    if(!clientConfig) {
        for (JavaMethodImpl jm : seiModel.getJavaMethods()) {
            if (!jm.isAsync()) {
                TieHandler th = new TieHandler(jm, seiModel.getWSBinding(), packetFactory);
                wsdlOpMap.put(jm, th);
                tieHandlers.put(th.getMethod(), th);
            }
        }
//    }
    }
 
Example #17
Source File: WSDLGenerator.java    From openjdk-jdk8u with GNU General Public License v2.0 5 votes vote down vote up
/**
 * Generates the parameterOrder for a PortType operation
 * @param operation The operation to generate the parameterOrder for
 * @param method The {@link JavaMethod} to generate the parameterOrder from
 */
protected void generateParameterOrder(Operation operation, JavaMethodImpl method) {
    if (method.getMEP() == MEP.ONE_WAY)
        return;
    if (isRpcLit(method))
        generateRpcParameterOrder(operation, method);
    else
        generateDocumentParameterOrder(operation, method);
}
 
Example #18
Source File: WSDLGenerator.java    From TencentKona-8 with GNU General Public License v2.0 5 votes vote down vote up
/**
 * Generates the WSDL portType
 */
protected void generatePortType() {

    PortType portType = portDefinitions.portType().name(model.getPortTypeName().getLocalPart());
    extension.addPortTypeExtension(portType);
    for (JavaMethodImpl method : model.getJavaMethods()) {
        Operation operation = portType.operation().name(method.getOperationName());
        generateParameterOrder(operation, method);
        extension.addOperationExtension(operation, method);
        switch (method.getMEP()) {
            case REQUEST_RESPONSE:
                // input message
                generateInputMessage(operation, method);
                // output message
                generateOutputMessage(operation, method);
                break;
            case ONE_WAY:
                generateInputMessage(operation, method);
                break;
            default:
                break;
        }
        // faults
        for (CheckedExceptionImpl exception : method.getCheckedExceptions()) {
            QName messageName = new QName(model.getTargetNamespace(), exception.getMessageName());
            FaultType paramType = operation.fault().message(messageName).name(exception.getMessageName());
            extension.addOperationFaultExtension(paramType, method, exception);
        }
    }
}
 
Example #19
Source File: WSDLGenerator.java    From openjdk-jdk8u with GNU General Public License v2.0 5 votes vote down vote up
/**
 * Generates the WSDL portType
 */
protected void generatePortType() {

    PortType portType = portDefinitions.portType().name(model.getPortTypeName().getLocalPart());
    extension.addPortTypeExtension(portType);
    for (JavaMethodImpl method : model.getJavaMethods()) {
        Operation operation = portType.operation().name(method.getOperationName());
        generateParameterOrder(operation, method);
        extension.addOperationExtension(operation, method);
        switch (method.getMEP()) {
            case REQUEST_RESPONSE:
                // input message
                generateInputMessage(operation, method);
                // output message
                generateOutputMessage(operation, method);
                break;
            case ONE_WAY:
                generateInputMessage(operation, method);
                break;
            default:
                break;
        }
        // faults
        for (CheckedExceptionImpl exception : method.getCheckedExceptions()) {
            QName messageName = new QName(model.getTargetNamespace(), exception.getMessageName());
            FaultType paramType = operation.fault().message(messageName).name(exception.getMessageName());
            extension.addOperationFaultExtension(paramType, method, exception);
        }
    }
}
 
Example #20
Source File: DatabindingImpl.java    From jdk8u60 with GNU General Public License v2.0 5 votes vote down vote up
JavaMethodImpl resolveJavaMethod(Packet req) throws DispatchException {
    WSDLOperationMapping m = req.getWSDLOperationMapping();
    if (m == null) {
        synchronized (this) {
            m = (operationDispatcher != null)
                    ? operationDispatcher.getWSDLOperationMapping(req)
                    : operationDispatcherNoWsdl.getWSDLOperationMapping(req);
        }
    }
    return (JavaMethodImpl) m.getJavaMethod();
}
 
Example #21
Source File: DatabindingImpl.java    From openjdk-8-source with GNU General Public License v2.0 5 votes vote down vote up
JavaMethodImpl resolveJavaMethod(Packet req) throws DispatchException {
    WSDLOperationMapping m = req.getWSDLOperationMapping();
    if (m == null) {
        synchronized (this) {
            m = (operationDispatcher != null)
                    ? operationDispatcher.getWSDLOperationMapping(req)
                    : operationDispatcherNoWsdl.getWSDLOperationMapping(req);
        }
    }
    return (JavaMethodImpl) m.getJavaMethod();
}
 
Example #22
Source File: TieHandler.java    From openjdk-jdk9 with GNU General Public License v2.0 5 votes vote down vote up
public TieHandler(JavaMethodImpl method, WSBinding binding, MessageContextFactory mcf) {
    this.soapVersion = binding.getSOAPVersion();
    this.method = method.getMethod();
    this.javaMethodModel = method;
    argumentsBuilder = createArgumentsBuilder();
    List<MessageFiller> fillers = new ArrayList<MessageFiller>();
    bodyBuilder = createResponseMessageBuilder(fillers);
    this.outFillers = fillers.toArray(new MessageFiller[fillers.size()]);
    this.isOneWay = method.getMEP().isOneWay();
    this.noOfArgs = this.method.getParameterTypes().length;
    packetFactory = mcf;
}
 
Example #23
Source File: DatabindingImpl.java    From openjdk-jdk8u with GNU General Public License v2.0 5 votes vote down vote up
JavaMethodImpl resolveJavaMethod(Packet req) throws DispatchException {
    WSDLOperationMapping m = req.getWSDLOperationMapping();
    if (m == null) {
        synchronized (this) {
            m = (operationDispatcher != null)
                    ? operationDispatcher.getWSDLOperationMapping(req)
                    : operationDispatcherNoWsdl.getWSDLOperationMapping(req);
        }
    }
    return (JavaMethodImpl) m.getJavaMethod();
}
 
Example #24
Source File: DatabindingImpl.java    From hottub with GNU General Public License v2.0 5 votes vote down vote up
JavaMethodImpl resolveJavaMethod(Packet req) throws DispatchException {
    WSDLOperationMapping m = req.getWSDLOperationMapping();
    if (m == null) {
        synchronized (this) {
            m = (operationDispatcher != null)
                    ? operationDispatcher.getWSDLOperationMapping(req)
                    : operationDispatcherNoWsdl.getWSDLOperationMapping(req);
        }
    }
    return (JavaMethodImpl) m.getJavaMethod();
}
 
Example #25
Source File: WSDLGenerator.java    From openjdk-jdk8u-backup with GNU General Public License v2.0 5 votes vote down vote up
/**
 * Generates the WSDL portType
 */
protected void generatePortType() {

    PortType portType = portDefinitions.portType().name(model.getPortTypeName().getLocalPart());
    extension.addPortTypeExtension(portType);
    for (JavaMethodImpl method : model.getJavaMethods()) {
        Operation operation = portType.operation().name(method.getOperationName());
        generateParameterOrder(operation, method);
        extension.addOperationExtension(operation, method);
        switch (method.getMEP()) {
            case REQUEST_RESPONSE:
                // input message
                generateInputMessage(operation, method);
                // output message
                generateOutputMessage(operation, method);
                break;
            case ONE_WAY:
                generateInputMessage(operation, method);
                break;
            default:
                break;
        }
        // faults
        for (CheckedExceptionImpl exception : method.getCheckedExceptions()) {
            QName messageName = new QName(model.getTargetNamespace(), exception.getMessageName());
            FaultType paramType = operation.fault().message(messageName).name(exception.getMessageName());
            extension.addOperationFaultExtension(paramType, method, exception);
        }
    }
}
 
Example #26
Source File: WSDLGenerator.java    From hottub with GNU General Public License v2.0 5 votes vote down vote up
/**
 * Generates the WSDL portType
 */
protected void generatePortType() {

    PortType portType = portDefinitions.portType().name(model.getPortTypeName().getLocalPart());
    extension.addPortTypeExtension(portType);
    for (JavaMethodImpl method : model.getJavaMethods()) {
        Operation operation = portType.operation().name(method.getOperationName());
        generateParameterOrder(operation, method);
        extension.addOperationExtension(operation, method);
        switch (method.getMEP()) {
            case REQUEST_RESPONSE:
                // input message
                generateInputMessage(operation, method);
                // output message
                generateOutputMessage(operation, method);
                break;
            case ONE_WAY:
                generateInputMessage(operation, method);
                break;
            default:
                break;
        }
        // faults
        for (CheckedExceptionImpl exception : method.getCheckedExceptions()) {
            QName messageName = new QName(model.getTargetNamespace(), exception.getMessageName());
            FaultType paramType = operation.fault().message(messageName).name(exception.getMessageName());
            extension.addOperationFaultExtension(paramType, method, exception);
        }
    }
}
 
Example #27
Source File: DatabindingImpl.java    From openjdk-8 with GNU General Public License v2.0 5 votes vote down vote up
JavaMethodImpl resolveJavaMethod(Packet req) throws DispatchException {
    WSDLOperationMapping m = req.getWSDLOperationMapping();
    if (m == null) {
        synchronized (this) {
            m = (operationDispatcher != null)
                    ? operationDispatcher.getWSDLOperationMapping(req)
                    : operationDispatcherNoWsdl.getWSDLOperationMapping(req);
        }
    }
    return (JavaMethodImpl) m.getJavaMethod();
}
 
Example #28
Source File: W3CAddressingMetadataWSDLGeneratorExtension.java    From jdk8u60 with GNU General Public License v2.0 5 votes vote down vote up
private static final String getInputAction(JavaMethod method) {
    String inputaction = ((JavaMethodImpl)method).getInputAction();
    if (inputaction.equals("")) {
        // Calculate default action
        inputaction = getDefaultInputAction(method);
    }
    return inputaction;
}
 
Example #29
Source File: WSDLGenerator.java    From openjdk-8 with GNU General Public License v2.0 5 votes vote down vote up
/**
 * Determines if the <CODE>method</CODE> is wrapper style
 * @param method The {@link JavaMethod} to check if it is wrapper style
 * @return true if the method is wrapper style, otherwise, false.
 */
protected boolean isWrapperStyle(JavaMethodImpl method) {
    if (method.getRequestParameters().size() > 0) {
        ParameterImpl param = method.getRequestParameters().iterator().next();
        return param.isWrapperStyle();
    }
    return false;
}
 
Example #30
Source File: DatabindingImpl.java    From hottub with GNU General Public License v2.0 5 votes vote down vote up
public JavaCallInfo deserializeRequest(Packet req) {
    com.sun.xml.internal.ws.api.databinding.JavaCallInfo call = new com.sun.xml.internal.ws.api.databinding.JavaCallInfo();
    try {
        JavaMethodImpl wsdlOp = resolveJavaMethod(req);
        TieHandler tie = wsdlOpMap.get(wsdlOp);
        call.setMethod(tie.getMethod());
        Object[] args = tie.readRequest(req.getMessage());
        call.setParameters(args);
    } catch (DispatchException e) {
        call.setException(e);
    }
    return call;
}