Examples of ParameterInfo


Examples of org.apache.axis.wsdl.wsdl2ws.info.ParameterInfo

     * @param minfo
     * @param type
     */
    private void addInputAttributesToMethodInfo(MethodInfo minfo, Type type)
    {
        ParameterInfo pinfo;
        ArrayList attributeList = new ArrayList();
        Iterator attributeNames = type.getAttributeNames();
        while (attributeNames.hasNext())
        {
            attributeList.add(attributeNames.next());
        }

        for (int i = 0; i < attributeList.size(); i++)
        {
            String attributeName = (String) attributeList.get(i);
            Type innerType = type.getTypForAttribName(attributeName);
            pinfo = new ParameterInfo(innerType, attributeName);
            pinfo.setElementName(
                type.getTypForAttribName(attributeName).getName());
            pinfo.setAttribute(true);
            minfo.addInputParameter(pinfo);
        }
    }
View Full Code Here

Examples of org.apache.axis.wsdl.wsdl2ws.info.ParameterInfo

     * @param minfo
     * @param type
     */
    private void addInputElementsToMethodInfo(MethodInfo minfo, Type type)
    {
        ParameterInfo pinfo;
        ElementInfo eleinfo;
        Iterator elementNames = type.getElementnames();
        ArrayList elementlist = new ArrayList();
        while (elementNames.hasNext())
        {
            elementlist.add(elementNames.next());
        }

        for (int i = 0; i < elementlist.size(); i++)
        {
            String elementname = (String) elementlist.get(i);
            eleinfo = type.getElementForElementName(elementname);
            Type innerType = eleinfo.getType();
            pinfo = new ParameterInfo(innerType, elementname);
            if (eleinfo.getMaxOccurs() > 1)
            {
                pinfo.setArray(true);
            }
            pinfo.setElementName(
                type.getElementForElementName(elementname).getName());
            if (innerType.getName().equals(CUtils.anyTypeQname))
                pinfo.setAnyType(true);
            minfo.addInputParameter(pinfo);
        }
    }
View Full Code Here

Examples of org.apache.axis.wsdl.wsdl2ws.info.ParameterInfo

        }

        Type type = this.typeMap.getType(qname);
        if (type == null)
            throw new WrapperFault("unregisterd type " + qname + " refered");
        ParameterInfo parainfo = new ParameterInfo(type, part.getName());
        parainfo.setElementName(part.getElementName());
        return parainfo;
    }
View Full Code Here

Examples of org.apache.axis.wsdl.wsdl2ws.info.ParameterInfo

    public void writeMethodInWrapper(MethodInfo minfo)
        throws WrapperFault, IOException
    {
        boolean isAllTreatedAsOutParams = false;
        ParameterInfo returntype = null;
        int noOfOutParams = minfo.getOutputParameterTypes().size();
        if (0 == noOfOutParams)
        {
            returntype = null;
        }
        else
            if (1 == noOfOutParams)
            {
                returntype =
                    (ParameterInfo) minfo
                        .getOutputParameterTypes()
                        .iterator()
                        .next();
            }
            else
            {
                isAllTreatedAsOutParams = true;
            }
        Collection params = minfo.getInputParameterTypes();
        String methodName = minfo.getMethodname();
        Type retType = null;
        boolean returntypeissimple = false;
        boolean returntypeisarray = false;
        boolean aretherearrayparams = false;
        String outparamTypeName = null;
        if (returntype != null)
        {
            outparamTypeName =
                WrapperUtils.getClassNameFromParamInfoConsideringArrays(
                    returntype,
                    wscontext);
            retType =
                wscontext.getTypemap().getType(returntype.getSchemaName());
            if (retType != null)
            {
                returntypeisarray = retType.isArray();
                if (CUtils.isSimpleType(retType.getLanguageSpecificName()))
                {
                    returntypeissimple = true;
                }
            }
        }
        writer.write("\n/*\n");
        writer.write(
            " * This method wrap the service method" + methodName + "\n");
        writer.write(" */\n");
        //method signature
        String paramTypeName;
        boolean typeisarray = false;
        boolean typeissimple = false;
        Type type;
        if (returntype == null)
        {
            writer.write("void");
        }
        else
        {
            writer.write(outparamTypeName);
        }
        writer.write(" " + methodName + "(void* pStub");
        ArrayList paramsB = (ArrayList) params;
        for (int i = 0; i < paramsB.size(); i++)
        {
            paramTypeName =
                WrapperUtils.getClassNameFromParamInfoConsideringArrays(
                    (ParameterInfo) paramsB.get(i),
                    wscontext);
            writer.write(", " + paramTypeName + " Value" + i);
            if ((type =
                wscontext.getTypemap().getType(
                    ((ParameterInfo) paramsB.get(i)).getSchemaName()))
                != null
                && type.isArray())
            {
                aretherearrayparams = true;
            }
        }
        // Multiples parameters so fill the methods prototype
        ArrayList paramsC = (ArrayList) minfo.getOutputParameterTypes();
        if (isAllTreatedAsOutParams)
        {
            for (int i = 0; i < paramsC.size(); i++)
            {
                type =
                    wscontext.getTypemap().getType(
                        ((ParameterInfo) paramsC.get(i)).getSchemaName());
                writer.write(
                    ", AXIS_OUT_PARAM  "
                        + WrapperUtils
                            .getClassNameFromParamInfoConsideringArrays(
                            (ParameterInfo) paramsC.get(i),
                            wscontext)
                        + " *OutValue"
                        + i);
                if ((type =
                    wscontext.getTypemap().getType(
                        ((ParameterInfo) paramsC.get(i)).getSchemaName()))
                    != null
                    && type.isArray())
                {
                    aretherearrayparams = true;
                }
            }
        }
        writer.write(")\n{\n");
        writer.write("\tCall* pCall = (Call*)pStub;\n");
        if (returntype != null)
        {
            writer.write("\t");
            if (returntypeisarray)
            {
                //for arrays
                writer.write(outparamTypeName + " RetArray = {NULL, 0};\n");
            }
            else
                if (!returntypeissimple)
                {
                    writer.write(outparamTypeName + " pReturn = NULL;\n");
                    //for complex types
                }
                else
                {
                    //for simple types
                    writer.write(outparamTypeName + " Ret;\n");
                    //TODO initialize return parameter appropriately.
                }
        }
        if (aretherearrayparams || returntypeisarray)
        {
            writer.write("\tAxis_Array array;\n");
        }
        String provider =
            minfo.getInputUse().equals("literal")
                ? "C_RPC_LITERAL_PROVIDER"
                : "C_RPC_PROVIDER";
        writer.write(
            "\t/* Following will establish the connections with the server too */\n");
        writer.write(
            "\tif (AXIS_SUCCESS != pCall->_functions->initialize(pCall->_object,"
                + provider
                + ")) return ");
        if (returntype != null)
        {
            writer.write(
                (returntypeisarray
                    ? "RetArray"
                    : returntypeissimple
                    ? "Ret"
                    : "pReturn")
                    + ";\n");
        }
        else
        {
            writer.write(";\n");
        }
        writer.write(
            "\tpCall->_functions->setTransportProperty(pCall->_object,SOAPACTION_HEADER , \""
                + minfo.getSoapAction()
                + "\");\n");
        writer.write(
            "\tpCall->_functions->setSOAPVersion(pCall->_object, SOAP_VER_1_1);\n");
        //TODO check which version is it really.
        writer.write(
            "\tpCall->_functions->setOperation(pCall->_object, \""
                + methodName
                + "\", \""
                + wscontext.getWrapInfo().getTargetNameSpaceOfWSDL()
                + "\");\n");
        for (int i = 0; i < paramsB.size(); i++)
        {
            type =
                wscontext.getTypemap().getType(
                    ((ParameterInfo) paramsB.get(i)).getSchemaName());
            if (type != null)
            {
                paramTypeName = type.getLanguageSpecificName();
                typeisarray = type.isArray();
            }
            else
            {
                paramTypeName = ((ParameterInfo) paramsB.get(i)).getLangName();
                typeisarray = false;
            }
            typeissimple = CUtils.isSimpleType(paramTypeName);
            if (typeisarray)
            {
                //arrays
                QName qname = WrapperUtils.getArrayType(type).getName();
                String containedType = null;
                if (CUtils.isSimpleType(qname))
                {
                    containedType = CUtils.getclass4qname(qname);
                    writer.write(
                        "\tpCall->_functions->addBasicArrayParameter(pCall->_object, ");
                    writer.write(
                        "(Axis_Array*)(&Value"
                            + i
                            + "), "
                            + CUtils.getXSDTypeForBasicType(containedType)
                            + ", \""
                            + ((ParameterInfo) paramsB.get(i)).getParamName()
                            + "\"");
                }
                else
                {
                    containedType = qname.getLocalPart();
                    writer.write(
                        "\tpCall->_functions->addCmplxArrayParameter(pCall->_object, ");
                    writer.write(
                        "(Axis_Array*)(&Value"
                            + i
                            + "), (void*)Axis_Serialize_"
                            + containedType
                            + ", (void*)Axis_Delete_"
                            + containedType
                            + ", (void*) Axis_GetSize_"
                            + containedType
                            + ", Axis_TypeName_"
                            + containedType
                            + ", Axis_URI_"
                            + containedType);
                }
            }
            else
                if (typeissimple)
                {
                    //for simple types 
                    writer.write(
                        "\tpCall->_functions->addParameter(pCall->_object, ");
                    writer.write(
                        "(void*)&Value"
                            + i
                            + ", \""
                            + ((ParameterInfo) paramsB.get(i)).getParamName()
                            + "\", "
                            + CUtils.getXSDTypeForBasicType(paramTypeName));
                }
                else
                {
                    //for complex types
                    writer.write(
                        "\tpCall->_functions->addCmplxParameter(pCall->_object, ");
                    writer.write(
                        "Value"
                            + i
                            + ", (void*)Axis_Serialize_"
                            + paramTypeName
                            + ", (void*)Axis_Delete_"
                            + paramTypeName
                            + ", \""
                            + ((ParameterInfo) paramsB.get(i)).getParamName()
                            + "\", 0");
                }
            writer.write(");\n");
        }
        writer.write(
            "\tif (AXIS_SUCCESS == pCall->_functions->invoke(pCall->_object))\n\t{\n");
        writer.write(
            "\t\tif(AXIS_SUCCESS == pCall->_functions->checkMessage(pCall->_object, \""
                + methodName
                + "Response\", \"\"))\n\t\t{\n");
        if (isAllTreatedAsOutParams)
        {
            String currentParamName;
            String currentParaType;
            for (int i = 0; i < paramsC.size(); i++)
            {
                ParameterInfo currentType = (ParameterInfo) paramsC.get(i);
                type =
                    wscontext.getTypemap().getType(currentType.getSchemaName());
                if (type != null)
                {
                    currentParaType = type.getLanguageSpecificName();
                    typeisarray = type.isArray();
                }
                else
                {
                    currentParaType =
                        ((ParameterInfo) paramsC.get(i)).getLangName();
                    typeisarray = false;
                }
                typeissimple = CUtils.isSimpleType(currentParaType);

                currentParamName = "*OutValue" + i;
                // Some code need to be merged as we have some duplicated in coding here.
                if (typeisarray)
                {
                    QName qname = WrapperUtils.getArrayType(type).getName();
                    String containedType = null;
                    if (CUtils.isSimpleType(qname))
                    {
                        containedType = CUtils.getclass4qname(qname);
                        writer.write(
                            "\t\t\tarray = pCall->_functions->getBasicArray(pCall->_object, "
                                + CUtils.getXSDTypeForBasicType(containedType)
                                + ", \""
                                + currentType.getParamName()
                                + "\", 0);\n");
                        writer.write(
                            "\t\t\tmemcpy(OutValue"
                                + i
                                + ", &array, sizeof(Axis_Array));\n");

                    }
                    else
                    {
                        containedType = qname.getLocalPart();
                        writer.write(
                            "\t\t\tarray = pCall->_functions->getCmplxArray(pCall->_object, (void*) Axis_DeSerialize_"
                                + containedType);
                        writer.write(
                            ", (void*) Axis_Create_"
                                + containedType
                                + ", (void*) Axis_Delete_"
                                + containedType
                                + ", (void*) Axis_GetSize_"
                                + containedType
                                + ", \""
                                + currentType.getParamName()
                                + "\", Axis_URI_"
                                + containedType
                                + ");\n");
                        writer.write(
                            "\t\t\tmemcpy(OutValue"
                                + i
                                + ", &array, sizeof(Axis_Array));\n");
                    }
                }
                else
                    if (typeissimple)
                    {
                        writer.write(
                            "\t\t\t"
                                + currentParamName
                                + " = pCall->_functions->"
                                + CUtils.getParameterGetValueMethodName(
                                    currentParaType,
                                    false)
                                + "(pCall->_object, \""
                                + currentType.getParamName()
                                + "\", 0);\n");
                    }
                    else
                    {
                        writer.write(
                            "\t\t\t"
                                + currentParamName
                                + " = ("
                                + currentParaType
                                + "*)pCall->_functions->getCmplxObject(pCall->_object, (void*) Axis_DeSerialize_"
                                + currentParaType
                                + ", (void*) Axis_Create_"
                                + currentParaType
                                + ", (void*) Axis_Delete_"
                                + currentParaType
                                + ",\""
                                + currentType.getParamName()
                                + "\", 0);\n");
                    }
            }
            writer.write("\t\t}\n");
            writer.write(
View Full Code Here

Examples of org.apache.axis.wsdl.wsdl2ws.info.ParameterInfo

    public void writeMethodInWrapper(MethodInfo minfo)
        throws WrapperFault, IOException
    {
        boolean isAllTreatedAsOutParams = false;
        ParameterInfo returntype = null;
        int noOfOutParams = minfo.getOutputParameterTypes().size();
        if (0 == noOfOutParams)
        {
            returntype = null;
        }
        else
            if (1 == noOfOutParams)
            {
                returntype =
                    (ParameterInfo) minfo
                        .getOutputParameterTypes()
                        .iterator()
                        .next();
            }
            else
            {
                isAllTreatedAsOutParams = true;
            }
        Collection params = minfo.getInputParameterTypes();
        String methodName = minfo.getMethodname();
        Type retType = null;
        boolean returntypeissimple = false;
        boolean returntypeisarray = false;
        boolean aretherearrayparams = false;
        String outparamType = null;
        if (returntype != null)
            retType =
                wscontext.getTypemap().getType(returntype.getSchemaName());
        if (retType != null)
        {
            outparamType = retType.getLanguageSpecificName();
            returntypeisarray = retType.isArray();
        }
        else
            if (returntype != null)
            {
                outparamType = returntype.getLangName();
            }
        if (returntype != null)
            returntypeissimple = CUtils.isSimpleType(outparamType);
        writer.write("\n/*\n");
        writer.write(
            " * This method wrap the service method " + methodName + "\n");
        writer.write(" */\n");
        //method signature
        String paramTypeName;
        boolean typeisarray = false;
        boolean typeissimple = false;
        Type type;
        if (returntype == null)
        {
            writer.write("void");
        }
        else
            if (returntypeissimple || returntypeisarray)
            {
                writer.write(outparamType);
            }
            else
            {
                writer.write(outparamType + "*");
            }
        writer.write(" " + methodName + "(AXISCHANDLE stub");
        ArrayList paramsB = (ArrayList) params;
        for (int i = 0; i < paramsB.size(); i++)
        {
            paramTypeName =
                WrapperUtils.getClassNameFromParamInfoConsideringArrays(
                    (ParameterInfo) paramsB.get(i),
                    wscontext);
            writer.write(", " + paramTypeName + " Value" + i);
            if ((type =
                wscontext.getTypemap().getType(
                    ((ParameterInfo) paramsB.get(i)).getSchemaName()))
                != null
                && type.isArray())
            {
                aretherearrayparams = true;
            }
        }
        // Multiples parameters so fill the methods prototype
        ArrayList paramsC = (ArrayList) minfo.getOutputParameterTypes();
        if (isAllTreatedAsOutParams)
        {
            for (int i = 0; i < paramsC.size(); i++)
            {
                type =
                    wscontext.getTypemap().getType(
                        ((ParameterInfo) paramsC.get(i)).getSchemaName());
                writer.write(
                    ", AXIS_OUT_PARAM  "
                        + WrapperUtils
                            .getClassNameFromParamInfoConsideringArrays(
                            (ParameterInfo) paramsC.get(i),
                            wscontext)
                        + "* OutValue"
                        + i);
                if ((type =
                    wscontext.getTypemap().getType(
                        ((ParameterInfo) paramsC.get(i)).getSchemaName()))
                    != null
                    && type.isArray())
                {
                    aretherearrayparams = true;
                }
            }
        }
        writer.write(")\n{\n");
        if (aretherearrayparams || returntypeisarray)
        {
            writer.write("\tAxisc_Array array;\n");
        }
        writer.write("\tAXISCHANDLE call = axiscGetCall(stub);\n");
        if (returntype != null)
        {
            writer.write("\t");
            if (returntypeisarray)
            {
                //for arrays
                writer.write(outparamType + " RetArray = {NULL, 0};\n");
            }
            else
                if (!returntypeissimple)
                {
                    writer.write(outparamType + "* pReturn = NULL;\n");
                    //for complex types
                }
                else
                {
                    //for simple types
                    writer.write(outparamType + " Ret;\n");
                    //TODO initialize return parameter appropriately.
                }
        }
        writer.write(
            "\t/* Following will establish the connections with the server too */\n");
        writer.write(
            "\tif (AXISC_SUCCESS != axiscInitializeCall(call, C_DOC_PROVIDER "
                + ")) return ");
        if (returntype != null)
        {
            writer.write(
                (returntypeisarray
                    ? "RetArray"
                    : returntypeissimple
                    ? "Ret"
                    : "pReturn")
                    + ";\n");
        }
        else
        {
            writer.write(";\n");
        }
        writer.write(
            "\taxiscSetTransportPropertyCall(call,AXISC_SOAPACTION_HEADER , \""
                + minfo.getSoapAction()
                + "\");\n");
        writer.write(
            "\taxiscSetSOAPVersionCall(call, SOAP_VER_1_1);\n");
        //TODO check which version is it really.
        writer.write(
            "\taxiscSetOperationCall(call, \""
                + minfo.getInputMessage().getLocalPart()
                + "\", \""
                + minfo.getInputMessage().getNamespaceURI()
                + "\");\n");
        for (int i = 0; i < paramsB.size(); i++)
        {
            ParameterInfo param = (ParameterInfo) paramsB.get(i);
            type = wscontext.getTypemap().getType(param.getSchemaName());
            if (type != null)
            {
                if (type.isSimpleType())
                { //schema defined simpleType possibly with restrictions
                    paramTypeName = CUtils.getclass4qname(type.getBaseType());
                }
                else
                {
                    paramTypeName = type.getLanguageSpecificName();
                }
                typeisarray = type.isArray();
            }
            else
            {
                paramTypeName = param.getLangName();
                typeisarray = false;
            }
            typeissimple = CUtils.isSimpleType(paramTypeName);
            if (typeisarray)
            {
                //arrays
                QName qname = WrapperUtils.getArrayType(type).getName();
                String containedType = null;
                if (CUtils.isSimpleType(qname))
                {
                    containedType = CUtils.getclass4qname(qname);
                    writer.write(
                        "\taxiscAddBasicArrayParameterCall(call, ");
                    writer.write(
                        "(Axisc_Array*)(&Value"
                            + i
                            + "), "
                            + CUtils.getXSDTypeForBasicType(containedType)
                            + ", \""
                            + param.getElementNameAsString()
                            + "\"");
                }
                else
                {
                    containedType = qname.getLocalPart();
                    writer.write(
                        "\taxiscAddCmplxArrayParameterCall(call, ");
                    writer.write(
                        "(Axisc_Array*)(&Value"
                            + i
                            + "), (void*)Axis_Serialize_"
                            + containedType
                            + ", (void*)Axis_Delete_"
                            + containedType
                            + ", (void*) Axis_GetSize_"
                            + containedType
                            + ", \""
                            + param.getElementNameAsString()
                            + "\", Axis_URI_"
                            + containedType);
                }
            }
            else
                if (typeissimple)
                {
                    //for simple types 
                    writer.write(
                        "\taxiscAddParameterCall(call, ");
                    writer.write(
                        "(void*)&Value"
                            + i
                            + ", \""
                            + param.getElementNameAsString()
                            + "\", "
                            + CUtils.getXSDTypeForBasicType(paramTypeName));
                }
                else
                    if (param.isAnyType())
                    {
                        //for anyTtype
                        writer.write(
                            "\taxiscAddAnyObjectCall(call, Value"
                                + i);
                    }
                    else
                    {
                        //for complex types
                        writer.write(
                            "\taxiscAddCmplxParameterCall(call, ");
                        writer.write(
                            "Value"
                                + i
                                + ", (void*)Axis_Serialize_"
                                + paramTypeName
                                + ", (void*)Axis_Delete_"
                                + paramTypeName
                                + ", \""
                                + param.getElementNameAsString()
                                + "\", Axis_URI_"
                                + paramTypeName);
                    }
            writer.write(");\n");
        }
        writer.write(
            "\tif (AXISC_SUCCESS == axiscInvokeCall(call))\n\t{\n");
        writer.write(
            "\t\tif(AXISC_SUCCESS == axiscCheckMessageCall(call, \""
                + minfo.getOutputMessage().getLocalPart()
                + "\", \""
                + minfo.getOutputMessage().getNamespaceURI()
                + "\"))\n\t\t{\n");
        if (isAllTreatedAsOutParams)
        {
            String currentParamName;
            String currentParaType;
            for (int i = 0; i < paramsC.size(); i++)
            {
                ParameterInfo currentType = (ParameterInfo) paramsC.get(i);
                type =
                    wscontext.getTypemap().getType(currentType.getSchemaName());
                if (type != null)
                {
                    if (type.isSimpleType())
                    {
                        currentParaType =
                            CUtils.getclass4qname(type.getBaseType());
                    }
                    else
                    {
                        currentParaType = type.getLanguageSpecificName();
                    }
                    typeisarray = type.isArray();
                }
                else
                {
                    currentParaType =
                        ((ParameterInfo) paramsC.get(i)).getLangName();
                    typeisarray = false;
                }
                typeissimple = CUtils.isSimpleType(currentParaType);

                currentParamName = "*OutValue" + i;
                // Some code need to be merged as we have some duplicated in coding here.
                if (typeisarray)
                {
                    QName qname = WrapperUtils.getArrayType(type).getName();
                    String containedType = null;
                    if (CUtils.isSimpleType(qname))
                    {
                        containedType = CUtils.getclass4qname(qname);
                        writer.write(
                            "\t\t\tarray = axiscGetBasicArrayCall(call, "
                                + CUtils.getXSDTypeForBasicType(containedType)
                                + ", \""
                                + currentType.getElementNameAsString()
                                + "\", 0);\n");
                        writer.write(
                            "\t\t\tmemcpy(OutValue"
                                + i
                                + ", &array, sizeof(Axisc_Array));\n");

                    }
                    else
                    {
                        containedType = qname.getLocalPart();
                        writer.write(
                            "\t\t\tarray = axiscGetCmplxArrayCall(call, (void*) Axis_DeSerialize_"
                                + containedType);
                        writer.write(
                            ", (void*) Axis_Create_"
                                + containedType
                                + ", (void*) Axis_Delete_"
                                + containedType
                                + ", (void*) Axis_GetSize_"
                                + containedType
                                + ", \""
                                + currentType.getElementNameAsString()
                                + "\", Axis_URI_"
                                + containedType
                                + ");\n");
                        writer.write(
                            "\t\t\tmemcpy(OutValue"
                                + i
                                + ", &array, sizeof(Axisc_Array));\n");
                    }
                }
                else
                    if (typeissimple)
                    {
                        writer.write(
                            "\t\t\t"
                                + currentParamName
                                + " = "
                                + CUtils.getParameterGetValueMethodName(
                                    currentParaType,
                                    false)
                                + "(call, \""
                                + currentType.getElementNameAsString()
                                + "\", 0);\n");
                    }
                    else
                        if (currentType.isAnyType())
                        {
                            //for anyTtype
                            writer.write(
                                "\t\t\t"
                                    + currentParamName
                                    + " = ("
                                    + currentParaType
                                    + "*)axiscGetAnyObjectCall(call);\n");
                        }
                        else
                        {
                            writer.write(
                                "\t\t\t"
                                    + currentParamName
                                    + " = ("
                                    + currentParaType
                                    + "*)axiscGetCmplxObjectCall(call, (void*) Axis_DeSerialize_"
                                    + currentParaType
                                    + ", (void*) Axis_Create_"
                                    + currentParaType
                                    + ", (void*) Axis_Delete_"
                                    + currentParaType
                                    + ",\""
                                    + currentType.getElementNameAsString()
                                    + "\", 0);\n");
                        }
            }
            writer.write("\t\t}\n");
            writer.write(
View Full Code Here

Examples of org.apache.axis.wsdl.wsdl2ws.info.ParameterInfo

                {
                    FaultInfo info = (FaultInfo) paramsFault.next();
                    ArrayList paramInfo = info.getParams();
                    for (int j = 0; j < paramInfo.size(); j++)
                    {
                        ParameterInfo par = (ParameterInfo) paramInfo.get(j);
                        langName = par.getLangName();
                        writer.write(
                            "#include \""
                                + langName
                                + CUtils.CPP_HEADER_SUFFIX
                                + "\"\n\n");
View Full Code Here

Examples of org.apache.axis.wsdl.wsdl2ws.info.ParameterInfo

            for (int i = 0; i < methods.size(); i++)
            {
                minfo = (MethodInfo) this.methods.get(i);
                boolean isAllTreatedAsOutParams = false;
                ParameterInfo returntype = null;
                int noOfOutParams = minfo.getOutputParameterTypes().size();
                if (0 == noOfOutParams)
                {
                    returntype = null;
                    writer.write("extern void ");
                }
                else
                    if (1 == noOfOutParams)
                    {
                        returntype =
                            (ParameterInfo) minfo
                                .getOutputParameterTypes()
                                .iterator()
                                .next();
                        writer.write(
                            "extern "
                                + WrapperUtils
                                    .getClassNameFromParamInfoConsideringArrays(
                                    returntype,
                                    wscontext)
                                + " ");
                    }
                    else
                    {
                        isAllTreatedAsOutParams = true;
                        writer.write("extern void ");
                    }
                writer.write(minfo.getMethodname() + "(void* pStub");

                //write parameter names
                Iterator params = minfo.getInputParameterTypes().iterator();
                if (params.hasNext())
                {
                    ParameterInfo fparam = (ParameterInfo) params.next();
                    writer.write(
                        ", "
                            + WrapperUtils
                                .getClassNameFromParamInfoConsideringArrays(
                                fparam,
                                wscontext)
                            + " Value"
                            + 0);
                }
                for (int j = 1; params.hasNext(); j++)
                {
                    ParameterInfo nparam = (ParameterInfo) params.next();
                    writer.write(
                        ", "
                            + WrapperUtils
                                .getClassNameFromParamInfoConsideringArrays(
                                nparam,
                                wscontext)
                            + " Value"
                            + j);
                }
                if (isAllTreatedAsOutParams)
                {
                    params = minfo.getOutputParameterTypes().iterator();
                    for (int j = 0; params.hasNext(); j++)
                    {
                        ParameterInfo nparam = (ParameterInfo) params.next();
                        writer.write(
                            ", AXIS_OUT_PARAM "
                                + WrapperUtils
                                    .getClassNameFromParamInfoConsideringArrays(
                                    nparam,
View Full Code Here

Examples of org.apache.axis.wsdl.wsdl2ws.info.ParameterInfo

    public void writeMethodInWrapper(MethodInfo minfo)
        throws WrapperFault, IOException
    {
        Type type;
        boolean isAllTreatedAsOutParams = false;
        ParameterInfo returntype = null;
        int noOfOutParams = minfo.getOutputParameterTypes().size();
        if (0 == noOfOutParams)
        {
            returntype = null;
        }
        else
        {
            if (1 == noOfOutParams)
            {
                returntype =
                    (ParameterInfo) minfo
                        .getOutputParameterTypes()
                        .iterator()
                        .next();
            }
            else
            {
                isAllTreatedAsOutParams = true;
            }
        }
        Collection params = minfo.getInputParameterTypes();
        String methodName = minfo.getMethodname();
        Type retType = null;
        String outparamType = null;
        String outparamTypeName = null;
        boolean returntypeissimple = false;
        boolean returntypeisarray = false;
        if (returntype != null)
        {
            outparamTypeName =
                WrapperUtils.getClassNameFromParamInfoConsideringArrays(
                    returntype,
                    wscontext);
            retType =
                wscontext.getTypemap().getType(returntype.getSchemaName());
            if (retType != null)
            {
                returntypeisarray = retType.isArray();
                if (CUtils.isSimpleType(retType.getLanguageSpecificName()))
                {
                    returntypeissimple = true;
                }
            }
        }
        writer.write("\n/*\n");
        writer.write(" * This method wrap the service method \n");
        writer.write(" */\n");
        //method signature
        writer.write(
            "int " + classname + "::" + methodName + "(void* pMsg)\n{\n");
        writer.write("\tIMessageData* mc = (IMessageData*)pMsg;\n");
        writer.write("\tint nStatus;\n");
        writer.write("\tIWrapperSoapSerializer* pIWSSZ = NULL;\n");
        writer.write("\tmc->getSoapSerializer(&pIWSSZ);\n");
        writer.write("\tif (!pIWSSZ) return AXIS_FAIL;\n");
        writer.write("\tIWrapperSoapDeSerializer* pIWSDZ = NULL;\n");
        writer.write("\tmc->getSoapDeSerializer(&pIWSDZ);\n");
        writer.write("\tif (!pIWSDZ) return AXIS_FAIL;\n");
        writer.write("\t/* check whether we have got correct message */\n");
        writer.write(
            "\tif (AXIS_SUCCESS != pIWSDZ->checkMessageBody(\""
                + minfo.getMethodname()
                + "\", \""
                + wscontext.getWrapInfo().getTargetNameSpaceOfWSDL()
                + "\")) return AXIS_FAIL;\n");
        writer.write(
            "\tpIWSSZ->createSoapMethod(\""
                + minfo.getMethodname()
                + "Response\", \""
                + wscontext.getWrapInfo().getTargetNameSpaceOfWSDL()
                + "\");\n");
        //create and populate variables for each parameter
        String paraTypeName;
        String parameterName;
        String returnParamName;
        String paramType;
        ArrayList paramsB = new ArrayList(params);
        for (int i = 0; i < paramsB.size(); i++)
        {
            paraTypeName = ((ParameterInfo) paramsB.get(i)).getLangName();
            paramType =
                WrapperUtils.getClassNameFromParamInfoConsideringArrays(
                    (ParameterInfo) paramsB.get(i),
                    wscontext);
            parameterName = ((ParameterInfo) paramsB.get(i)).getParamName();
            if ((CUtils
                .isSimpleType(((ParameterInfo) paramsB.get(i)).getLangName())))
            {
                //for simple types 
                writer.write(
                    "\t"
                        + paraTypeName
                        + " v"
                        + i
                        + " = pIWSDZ->"
                        + CUtils.getParameterGetValueMethodName(
                            paraTypeName,
                            false)
                        + "(\""
                        + parameterName
                        + "\",0);\n");
            }
            else
                if ((type =
                    this.wscontext.getTypemap().getType(
                        ((ParameterInfo) paramsB.get(i)).getSchemaName()))
                    != null
                    && type.isArray())
                {
                    QName qname = WrapperUtils.getArrayType(type).getName();
                    String containedType = null;
                    if (CUtils.isSimpleType(qname))
                    {
                        containedType = CUtils.getclass4qname(qname);
                        writer.write(
                            "\t"
                                + paramType
                                + " v"
                                + i
                                + " = ("
                                + CUtils.getBasicArrayNameforType(containedType)
                                + "&)pIWSDZ->getBasicArray("
                                + CUtils.getXSDTypeForBasicType(containedType)
                                + ", \""
                                + parameterName
                                + "\",0);\n");
                    }
                    else
                    {
                        containedType = qname.getLocalPart();
                        writer.write(
                            "\t"
                                + paramType
                                + " v"
                                + i
                                + " = ("
                                + paramType
                                + "&)pIWSDZ->getCmplxArray((void*)Axis_DeSerialize_"
                                + containedType
                                + "\n\t\t, (void*)Axis_Create_"
                                + containedType
                                + ", (void*)Axis_Delete_"
                                + containedType
                                + "\n\t\t, (void*)Axis_GetSize_"
                                + containedType
                                + ", \""
                                + parameterName
                                + "\", Axis_URI_"
                                + containedType
                                + ");\n");
                    }
                }
                else
                {
                    //for complex types
                    writer.write(
                        "\t"
                            + paraTypeName
                            + " *v"
                            + i
                            + " = ("
                            + paraTypeName
                            + "*)pIWSDZ->getCmplxObject((void*)Axis_DeSerialize_"
                            + paraTypeName
                            + "\n\t\t, (void*)Axis_Create_"
                            + paraTypeName
                            + ", (void*)Axis_Delete_"
                            + paraTypeName
                            + "\n\t\t, \""
                            + parameterName
                            + "\", Axis_URI_"
                            + paraTypeName
                            + ");\n");
                }
        }
        writer.write(
            "\tif (AXIS_SUCCESS != (nStatus = pIWSDZ->getStatus())) return nStatus;\n");
        // Multiples parameters so fill the methods prototype
        if (isAllTreatedAsOutParams)
        {
            ArrayList paramsC = (ArrayList) minfo.getOutputParameterTypes();
            for (int i = 0; i < paramsC.size(); i++)
            {
                type =
                    wscontext.getTypemap().getType(
                        ((ParameterInfo) paramsC.get(i)).getSchemaName());
                writer.write(
                    "\t"
                        + WrapperUtils
                            .getClassNameFromParamInfoConsideringArrays(
                            (ParameterInfo) paramsC.get(i),
                            wscontext)
                        + " out"
                        + i
                        + ";\n");
            }
        }
        writer.write("\ttry\n\t{\n");
        if (returntype != null)
        {
            /* Invoke the service when return type not void */
            writer.write(
                "\t\t"
                    + outparamTypeName
                    + " ret = "
                    + "pWs->"
                    + methodName
                    + "(");
            if (0 < paramsB.size())
            {
                for (int i = 0; i < paramsB.size() - 1; i++)
                {
                    writer.write("v" + i + ",");
                }
                writer.write("v" + (paramsB.size() - 1));
            }
            writer.write(");\n");
            /* set the result */
            if (returntypeissimple)
            {
                writer.write(
                    "\t\treturn pIWSSZ->addOutputParam(\""
                        + methodName
                        + "Return\", (void*)&ret, "
                        + CUtils.getXSDTypeForBasicType(outparamTypeName)
                        + ");\n");
            }
            else
                if (returntypeisarray)
                {
                    QName qname = WrapperUtils.getArrayType(retType).getName();
                    String containedType = null;
                    if (CUtils.isSimpleType(qname))
                    {
                        containedType = CUtils.getclass4qname(qname);
                        writer.write(
                            "\t\treturn pIWSSZ->addOutputBasicArrayParam((Axis_Array*)(&ret),"
                                + CUtils.getXSDTypeForBasicType(containedType)
                                + ", \""
                                + methodName
                                + "Return\");\n");
                    }
                    else
                    {
                        containedType = qname.getLocalPart();
                        writer.write(
                            "\t\treturn pIWSSZ->addOutputCmplxArrayParam((Axis_Array*)(&ret),"
                                + "(void*) Axis_Serialize_"
                                + containedType
                                + ", (void*) Axis_Delete_"
                                + containedType
                                + ", (void*) Axis_GetSize_"
                                + containedType
                                + ", \""
                                + methodName
                                + "Return\", Axis_URI_"
                                + containedType
                                + ");\n");
                    }
                }
                else
                {
                    //complex type
                    outparamTypeName = returntype.getLangName();
                    //need to have complex type name without *
                    writer.write(
                        "\t\treturn pIWSSZ->addOutputCmplxParam(ret, (void*)Axis_Serialize_"
                            + outparamTypeName
                            + ", (void*)Axis_Delete_"
                            + outparamTypeName
                            + ", \""
                            + methodName
                            + "Return\", Axis_URI_"
                            + outparamTypeName
                            + ");\n");
                }
        }
        else
            if (isAllTreatedAsOutParams)
            {
                writer.write("\t\tpWs->" + methodName + "(");
                if (0 < paramsB.size())
                {
                    for (int i = 0; i < paramsB.size(); i++)
                    {
                        writer.write("v" + i + ",");
                    }
                }
                ArrayList paramsC = (ArrayList) minfo.getOutputParameterTypes();
                for (int i = 0; i < paramsC.size() - 1; i++)
                {
                    writer.write("&out" + i + ",");
                }
                writer.write("&out" + (paramsC.size() - 1));

                writer.write(");\n");
                paramsC = (ArrayList) minfo.getOutputParameterTypes();
                for (int i = 0; i < paramsC.size(); i++)
                {
                    retType =
                        wscontext.getTypemap().getType(
                            ((ParameterInfo) paramsC.get(i)).getSchemaName());
                    if (retType != null)
                    {
                        outparamType = retType.getLanguageSpecificName();
                        returntypeisarray = retType.isArray();
                    }
                    else
                    {
                        outparamType = returntype.getLangName();
                    }
                    returntypeissimple = CUtils.isSimpleType(outparamType);
                    returnParamName =
                        ((ParameterInfo) paramsC.get(i)).getParamName();
                    if (returntypeissimple)
                    {
                        writer.write(
                            "\t\tpIWSSZ->addOutputParam(\""
                                + returnParamName
                                + "\", (void*)&out"
                                + i
                                + ", "
                                + CUtils.getXSDTypeForBasicType(outparamType)
                                + ");\n");
                    }
                    else
                        if (returntypeisarray)
                        {
                            QName qname =
                                WrapperUtils.getArrayType(retType).getName();
                            String containedType = null;
                            if (CUtils.isSimpleType(qname))
                            {
                                containedType = CUtils.getclass4qname(qname);
                                writer.write(
                                    "\t\tpIWSSZ->addOutputBasicArrayParam((Axis_Array*)(&out"
                                        + i
                                        + "),"
                                        + CUtils.getXSDTypeForBasicType(
                                            containedType)
                                        + ", \""
                                        + returnParamName
                                        + "\");\n");
                            }
                            else
                            {
                                containedType = qname.getLocalPart();
                                writer.write(
                                    "\t\tpIWSSZ->addOutputCmplxArrayParam((Axis_Array*)(&out"
                                        + i
                                        + "),"
                                        + "(void*) Axis_Serialize_"
                                        + containedType
                                        + ", (void*) Axis_Delete_"
                                        + containedType
                                        + ", (void*) Axis_GetSize_"
                                        + containedType
                                        + ", \""
                                        + returnParamName
                                        + "\", Axis_URI_"
                                        + containedType
                                        + ");\n");
                            }
                        }
                        else
                        {
                            //complex type
                            writer.write(
                                "\t\tpIWSSZ->addOutputCmplxParam(out"
                                    + i
                                    + ", (void*)Axis_Serialize_"
                                    + outparamType
                                    + ", (void*)Axis_Delete_"
                                    + outparamType
                                    + ", \""
                                    + returnParamName
                                    + "\", Axis_URI_"
                                    + outparamType
                                    + ");\n");
                        }
                }
                writer.write("\treturn AXIS_SUCCESS;\n");
            }
            else
            { //method does not return anything
                /* Invoke the service when return type is void */
                writer.write("\t\tpWs->" + methodName + "(");
                if (0 < paramsB.size())
                {
                    for (int i = 0; i < paramsB.size() - 1; i++)
                    {
                        writer.write("v" + i + ",");
                    }
                    writer.write("v" + (paramsB.size() - 1));
                }
                writer.write(");\n");
                writer.write("\treturn AXIS_SUCCESS;\n");

            }
        writer.write("\t}\n"); //nithya         
        Iterator paramsFault = minfo.getFaultType().iterator();
        String faultInfoName = null;
        String faultType = null;
        String langName = null;
        String paramName = null;
        while (paramsFault.hasNext())
        {
            FaultInfo info = (FaultInfo) paramsFault.next();
            faultInfoName = info.getFaultInfo();
            ArrayList paramInfo = info.getParams();
            for (int i = 0; i < paramInfo.size(); i++)
            {
                ParameterInfo par = (ParameterInfo) paramInfo.get(i);
                paramName = par.getParamName();
                langName = par.getLangName();
                faultType =
                    WrapperUtils.getClassNameFromParamInfoConsideringArrays(
                        par,
                        wscontext);
                writeExceptions(faultType, faultInfoName, paramName, langName);
View Full Code Here

Examples of org.apache.axis.wsdl.wsdl2ws.info.ParameterInfo

                }
                else
                {
                    if (1 == noOfOutParams)
                    {
                        ParameterInfo returnParam =
                            (ParameterInfo) minfo
                                .getOutputParameterTypes()
                                .iterator()
                                .next();
                        writer.write(
                            "\tSTORAGE_CLASS_INFO "
                                + WrapperUtils
                                    .getClassNameFromParamInfoConsideringArrays(
                                    returnParam,
                                    wscontext)
                                + " ");
                    }
                    else
                    {
                        isAllTreatedAsOutParams = true;
                        writer.write("\tSTORAGE_CLASS_INFO void ");
                    }
                }
                //write return type
                writer.write(minfo.getMethodname() + "(");

                //write parameter names
                Iterator params = minfo.getInputParameterTypes().iterator();
                if (params.hasNext())
                {
                    ParameterInfo fparam = (ParameterInfo) params.next();
                    writer.write(
                        WrapperUtils
                            .getClassNameFromParamInfoConsideringArrays(
                            fparam,
                            wscontext)
                            + " Value"
                            + 0);
                }
                for (int j = 1; params.hasNext(); j++)
                {
                    ParameterInfo nparam = (ParameterInfo) params.next();
                    writer.write(
                        ","
                            + WrapperUtils
                                .getClassNameFromParamInfoConsideringArrays(
                                nparam,
                                wscontext)
                            + " Value"
                            + j);
                }
                if (isAllTreatedAsOutParams)
                {
                    params = minfo.getOutputParameterTypes().iterator();
                    for (int j = 0; params.hasNext(); j++)
                    {
                        ParameterInfo nparam = (ParameterInfo) params.next();
                        writer.write(
                            ", AXIS_OUT_PARAM "
                                + WrapperUtils
                                    .getClassNameFromParamInfoConsideringArrays(
                                    nparam,
View Full Code Here

Examples of org.apache.axis.wsdl.wsdl2ws.info.ParameterInfo

     */
    public void writeMethodInWrapper(MethodInfo minfo)
        throws WrapperFault, IOException
    {
        boolean isAllTreatedAsOutParams = false;
        ParameterInfo returntype = null;
        int noOfOutParams = minfo.getOutputParameterTypes().size();
        if (0 == noOfOutParams)
        {
            returntype = null;
        }
        else
            if (1 == noOfOutParams)
            {
                returntype =
                    (ParameterInfo) minfo
                        .getOutputParameterTypes()
                        .iterator()
                        .next();
            }
            else
            {
                isAllTreatedAsOutParams = true;
            }
        Collection params = minfo.getInputParameterTypes();
        String methodName = minfo.getMethodname();
        Type retType = null;
        String outparamType = null;
        String outparamTypeName = null;
        boolean returntypeissimple = false;
        boolean returntypeisarray = false;
        boolean aretherearrayparams = false;
        if (returntype != null)
        {
            outparamTypeName =
                WrapperUtils.getClassNameFromParamInfoConsideringArrays(
                    returntype,
                    wscontext);
            retType =
                wscontext.getTypemap().getType(returntype.getSchemaName());
            if (retType != null)
            {
                returntypeisarray = retType.isArray();
                if (CUtils.isSimpleType(retType.getLanguageSpecificName()))
                {
                    returntypeissimple = true;
                }
            }
        }
        String paramTypeName;
        String returnParamName;
        ArrayList paramsB = new ArrayList(params);
        Type type;

        writer.write(
            "\n/*forward declaration for the c method " + methodName + " */\n");
        if (returntype == null)
        {
            writer.write("extern void " + methodName + "(");
        }
        else
        {
            writer.write("extern " + outparamTypeName + " " + methodName + "(");
        }

        for (int i = 0; i < paramsB.size(); i++)
        {
            if (i > 0)
                writer.write(",");
            paramTypeName =
                WrapperUtils.getClassNameFromParamInfoConsideringArrays(
                    (ParameterInfo) paramsB.get(i),
                    wscontext);
            writer.write(paramTypeName);
            if ((type =
                wscontext.getTypemap().getType(
                    ((ParameterInfo) paramsB.get(i)).getSchemaName()))
                != null
                && type.isArray())
            {
                aretherearrayparams = true;
            }
        }
        if (isAllTreatedAsOutParams)
        {
            ArrayList paramsC = (ArrayList) minfo.getOutputParameterTypes();
            for (int i = 0; i < paramsC.size(); i++)
            {
                type =
                    wscontext.getTypemap().getType(
                        ((ParameterInfo) paramsC.get(i)).getSchemaName());
                writer.write(
                    ", AXIS_OUT_PARAM "
                        + WrapperUtils
                            .getClassNameFromParamInfoConsideringArrays(
                            (ParameterInfo) paramsC.get(i),
                            wscontext)
                        + "*");
            }
        }
        writer.write(");\n");
        writer.write("\n/*\n");
        writer.write(" * This method wrap the service method \n");
        writer.write(" */\n");
        //method signature
        writer.write(
            "int "
                + methodName
                + CUtils.WRAPPER_METHOD_APPENDER
                + "(IWrapperSoapDeSerializer DZ, IWrapperSoapSerializer SZ)\n{\n");
        writer.write("\tint nStatus;\n");
        for (int i = 0; i < paramsB.size(); i++)
        {
            paramTypeName =
                WrapperUtils.getClassNameFromParamInfoConsideringArrays(
                    (ParameterInfo) paramsB.get(i),
                    wscontext);
            writer.write("\t" + paramTypeName + " v" + i + ";\n");
        }
        if (returntype != null)
        {
            writer.write("\t" + outparamTypeName + " ret;\n");
        }
        if (aretherearrayparams)
        {
            writer.write("\tAxis_Array array;\n");
        }
        // Multiples parameters so fill the methods prototype
        if (isAllTreatedAsOutParams)
        {
            ArrayList paramsC = (ArrayList) minfo.getOutputParameterTypes();
            for (int i = 0; i < paramsC.size(); i++)
            {
                type =
                    wscontext.getTypemap().getType(
                        ((ParameterInfo) paramsC.get(i)).getSchemaName());
                writer.write(
                    "\t"
                        + WrapperUtils
                            .getClassNameFromParamInfoConsideringArrays(
                            (ParameterInfo) paramsC.get(i),
                            wscontext)
                        + " out"
                        + i
                        + ";\n");
            }
        }
        writer.write(
            "\tif (AXIS_SUCCESS != DZ._functions->checkMessageBody(DZ._object, \""
                + methodName
                + "\", \""
                + wscontext.getWrapInfo().getTargetNameSpaceOfWSDL()
                + "\")) return AXIS_FAIL;\n");
        writer.write(
            "\tSZ._functions->createSoapMethod(SZ._object, \""
                + methodName
                + "Response\", \""
                + wscontext.getWrapInfo().getTargetNameSpaceOfWSDL()
                + "\");\n");
        //create and populate variables for each parameter
        for (int i = 0; i < paramsB.size(); i++)
        {
            paramTypeName = ((ParameterInfo) paramsB.get(i)).getLangName();
            if ((CUtils
                .isSimpleType(((ParameterInfo) paramsB.get(i)).getLangName())))
            {
                //for simple types 
                writer.write(
                    "\tv"
                        + i
                        + " = DZ._functions->"
                        + CUtils.getParameterGetValueMethodName(
                            paramTypeName,
                            false)
                        + "(DZ._object, 0, 0);\n");
            }
            else
                if ((type =
                    this.wscontext.getTypemap().getType(
                        ((ParameterInfo) paramsB.get(i)).getSchemaName()))
                    != null
                    && type.isArray())
                {
                    QName qname = WrapperUtils.getArrayType(type).getName();
                    String containedType = null;
                    if (CUtils.isSimpleType(qname))
                    {
                        containedType = CUtils.getclass4qname(qname);
                        writer.write(
                            "\tarray = DZ._functions->getBasicArray(DZ._object, "
                                + CUtils.getXSDTypeForBasicType(containedType)
                                + ", 0, 0);\n");
                        writer.write(
                            "\tmemcpy(&v"
                                + i
                                + ", &array, sizeof(Axis_Array));\n");
                    }
                    else
                    {
                        containedType = qname.getLocalPart();
                        writer.write(
                            "\tarray = DZ._functions->getCmplxArray(DZ._object, (void*)Axis_DeSerialize_"
                                + containedType
                                + "\n\t\t, (void*)Axis_Create_"
                                + containedType
                                + ", (void*)Axis_Delete_"
                                + containedType
                                + "\n\t\t, (void*)Axis_GetSize_"
                                + containedType
                                + ", Axis_TypeName_"
                                + containedType
                                + ", Axis_URI_"
                                + containedType
                                + ");\n");
                        writer.write(
                            "\tmemcpy(&v"
                                + i
                                + ", &array, sizeof(Axis_Array));\n");
                    }
                }
                else
                {
                    //for complex types
                    writer.write(
                        "\tv"
                            + i
                            + " = ("
                            + paramTypeName
                            + "*)DZ._functions->getCmplxObject(DZ._object, (void*)Axis_DeSerialize_"
                            + paramTypeName
                            + "\n\t\t, (void*)Axis_Create_"
                            + paramTypeName
                            + ", (void*)Axis_Delete_"
                            + paramTypeName
                            + "\n\t\t, Axis_TypeName_"
                            + paramTypeName
                            + ", Axis_URI_"
                            + paramTypeName
                            + ");\n");
                }
        }
        writer.write(
            "\tif (AXIS_SUCCESS != (nStatus = DZ._functions->getStatus(DZ._object))) return nStatus;\n");
        if (returntype != null)
        {
            /* Invoke the service when return type not void */
            writer.write("\tret = " + methodName + "(");
            if (0 < paramsB.size())
            {
                for (int i = 0; i < paramsB.size() - 1; i++)
                {
                    writer.write("v" + i + ",");
                }
                writer.write("v" + (paramsB.size() - 1));
            }
            writer.write(");\n");
            /* set the result */
            if (returntypeissimple)
            {
                writer.write(
                    "\treturn SZ._functions->addOutputParam(SZ._object, \""
                        + methodName
                        + "Return\", (void*)&ret, "
                        + CUtils.getXSDTypeForBasicType(outparamTypeName)
                        + ");\n");
            }
            else
                if (returntypeisarray)
                {
                    QName qname = WrapperUtils.getArrayType(retType).getName();
                    String containedType = null;
                    if (CUtils.isSimpleType(qname))
                    {
                        containedType = CUtils.getclass4qname(qname);
                        writer.write(
                            "\treturn SZ._functions->addOutputBasicArrayParam(SZ._object, (Axis_Array*)(&ret),"
                                + CUtils.getXSDTypeForBasicType(containedType)
                                + ", \""
                                + methodName
                                + "Return\");\n");
                    }
                    else
                    {
                        containedType = qname.getLocalPart();
                        writer.write(
                            "\treturn SZ._functions->addOutputCmplxArrayParam(SZ._object, (Axis_Array*)(&ret),"
                                + "(void*) Axis_Serialize_"
                                + containedType
                                + ", (void*) Axis_Delete_"
                                + containedType
                                + ", (void*) Axis_GetSize_"
                                + containedType
                                + ", \""
                                + methodName
                                + "Return\", Axis_URI_"
                                + containedType
                                + ");\n");
                    }
                }
                else
                {
                    //complex type
                    outparamTypeName = returntype.getLangName();
                    //need to have complex type name without *
                    writer.write(
                        "\treturn SZ._functions->addOutputCmplxParam(SZ._object, ret, (void*)Axis_Serialize_"
                            + outparamTypeName
                            + ", (void*)Axis_Delete_"
                            + outparamTypeName
                            + ", \""
                            + methodName
                            + "Return\", Axis_URI_"
                            + outparamTypeName
                            + ");\n");
                }
        }
        else
            if (isAllTreatedAsOutParams)
            {
                writer.write("\t" + methodName + "(");
                if (0 < paramsB.size())
                {
                    for (int i = 0; i < paramsB.size(); i++)
                    {
                        writer.write("v" + i + ",");
                    }
                }
                ArrayList paramsC = (ArrayList) minfo.getOutputParameterTypes();
                for (int i = 0; i < paramsC.size() - 1; i++)
                {
                    writer.write("&out" + i + ",");
                }
                writer.write("&out" + (paramsC.size() - 1));
                writer.write(");\n");
                paramsC = (ArrayList) minfo.getOutputParameterTypes();
                for (int i = 0; i < paramsC.size(); i++)
                {
                    retType =
                        wscontext.getTypemap().getType(
                            ((ParameterInfo) paramsC.get(i)).getSchemaName());
                    if (retType != null)
                    {
                        outparamType = retType.getLanguageSpecificName();
                        returntypeisarray = retType.isArray();
                    }
                    else
                    {
                        outparamType = returntype.getLangName();
                    }
                    returntypeissimple = CUtils.isSimpleType(outparamType);
                    returnParamName =
                        ((ParameterInfo) paramsC.get(i)).getParamName();
                    if (returntypeissimple)
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.