Package org.apache.axis.wsdl.wsdl2ws.info

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);
            pinfo.setNillable(eleinfo.getNillable());
            minfo.addInputParameter(pinfo);
        }
    }
View Full Code Here


            Map parts = fault.getMessage().getParts();
            Iterator partIt = parts.values().iterator();
            while (partIt.hasNext())
            {

                ParameterInfo pinfo = createParameterInfo((Part) partIt.next());
                pinfo.getType().setAsFault(true);
                faultinfo.addParam(pinfo);
            }
            //add by nithya
            methodinfo.addFaultType(faultinfo);
        }
View Full Code Here

        }

        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

    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();
            ParameterInfo param = (ParameterInfo) paramsB.get(i);
            if ((CUtils
                .isSimpleType(param.getLangName())))
            {
                //for simple types 
              if (param.isNillable())
              {
                if (param.getLangName().equals("xsd__string")
                      || param.getLangName().equals("xsd__anyURI")
              || param.getLangName().equals("xsd__QName")
              || param.getLangName().equals("xsd__notation"))
                {

                    writer.write("\t"
                + paraTypeName
                + " v"
                + i
                + " = pIWSDZ->"
                + CUtils.getParameterGetValueMethodName(paraTypeName, false)
                + "(\""
                + parameterName + "\",0);\n");
                }
                else
                {
                  writer.write("\t"
                + paraTypeName
                + "* v"
                + i
                + " = pIWSDZ->"
                + CUtils.getParameterGetValueMethodName(paraTypeName, false)
                + "(\""
                + parameterName + "\",0);\n");
                }
              }
              else
              {
                if (param.getLangName().equals("xsd__string"))
        writer.write("\t"
                                                        + paraTypeName
                                                        + " v"
                                                        + i
                                                        + " = pIWSDZ->"
                                                        + CUtils.getParameterGetValueMethodName(paraTypeName, false)
                                                        + "(\""
                                                        + parameterName + "\",0);\n");
      else
                  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);
          System.out.println(outparamTypeName);
          if (returntypeissimple
              && returntype.isNillable()
              &&!(outparamTypeName.equals("xsd__string")
                  || outparamTypeName.equals("xsd__anyURI")
              || outparamTypeName.equals("xsd__QName")
              || outparamTypeName.equals("xsd__notation")))
          {
            writer.write(" *");
          }
            writer.write(" 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)
            {
              if (returntype.isNillable()
                  || (outparamTypeName.equals("xsd__string")
                      || outparamTypeName.equals("xsd__anyURI")
                || outparamTypeName.equals("xsd__QName")
                || outparamTypeName.equals("xsd__notation")))
              {
                writer.write(
                          "\t\treturn pIWSSZ->addOutputParam(\""
                              + methodName
                              + "Return\", (void*)ret, "
                              + CUtils.getXSDTypeForBasicType(outparamTypeName)
                              + ");\n");
              }
              else
              {
                  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

    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;
  String outparamType = null;
  if (returntype != null)
  {
      retType =
    wscontext.getTypemap ().getType (returntype.getSchemaName ());
  }
  if (retType != null)
  {
      if (retType.isSimpleType ())
      {
    outparamType = CUtils.getclass4qname (retType.getBaseType ());
      }
      else
      {
    outparamType =
        WrapperUtils.
        getClassNameFromParamInfoConsideringArrays (returntype,
                wscontext);
//retType.getLanguageSpecificName();
    returntypeisarray = (outparamType.lastIndexOf ("_Array") > 0);
      }
      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 paraTypeName;
  boolean typeisarray = false;
  boolean typeissimple = false;
  Type type;
  if (returntype == null)
  {
      writer.write ("void");
  }
  else
  {
      if (returntypeisarray
    || (returntypeissimple
        && (!returntype.isNillable ()
      || outparamType.equals ("xsd__string")
      || outparamType.equals ("xsd__anyURI")
      || outparamType.equals ("xsd__QName")
      || outparamType.equals ("xsd__notation"))))
      {
    writer.write (outparamType);
      }
      else if (outparamType.lastIndexOf ("*") > 0)
      {
    writer.write (outparamType);
      }
      else
      {      //for AnyType too
    writer.write (outparamType + "*");
      }
  }
  writer.write (" " + classname + "::" + methodName + "(");
  ArrayList paramsB = (ArrayList) params;
  ParameterInfo paramtype = null;
  if (0 < paramsB.size ())
  {
      type =
    wscontext.getTypemap ().getType (((ParameterInfo) paramsB.
              get (0)).getSchemaName ());
      paramtype = (ParameterInfo) paramsB.get (0);
      if (type != null)
      {
    if (type.isSimpleType ())
    {    //schema defined simpleType
        paraTypeName =
      CUtils.getclass4qname (type.getBaseType ());
    }
    else
    {
        paraTypeName = type.getLanguageSpecificName ();
        if (CUtils.isSimpleType (paraTypeName))
      paraTypeName =
          WrapperUtils.
          getClassNameFromParamInfoConsideringArrays
          (paramtype, wscontext);
        typeisarray = (paraTypeName.lastIndexOf ("_Array") > 0);
        if (!typeisarray)
      paraTypeName = type.getLanguageSpecificName ();
        typeissimple = CUtils.isSimpleType (paraTypeName);
    }
    typeisarray |= type.isArray ();
      }
      else
      {
    paraTypeName =
        ((ParameterInfo) paramsB.get (0)).getLangName ();
    paramtype = (ParameterInfo) paramsB.get (0);
    typeisarray = false;
      }
      typeissimple = CUtils.isSimpleType (paraTypeName);
      if (typeisarray
    || (typeissimple
        && (!((ParameterInfo) paramsB.get (0)).isNillable ()
      || paraTypeName.equals ("xsd__string")
      || paraTypeName.equals ("xsd__anyURI")
      || paraTypeName.equals ("xsd__QName")
      || paraTypeName.equals ("xsd__notation"))))
      {
    writer.write (paraTypeName + " Value0");
      }
      else if (paraTypeName.lastIndexOf ("*") > 0)
      {
    writer.write (paraTypeName + " Value0");
      }
      else
      {      //for AnyType too
    writer.write (paraTypeName + "* Value0");
      }
      for (int i = 1; i < paramsB.size (); i++)
      {
    type =
        wscontext.getTypemap ().getType (((ParameterInfo) paramsB.
                  get (i)).
                 getSchemaName ());
    paramtype = (ParameterInfo) paramsB.get (i);
    if (type != null)
    {
        if (type.isSimpleType ())
        {    //schema defined simpleType
      paraTypeName =
          CUtils.getclass4qname (type.getBaseType ());
        }
        else
        {
      paraTypeName = type.getLanguageSpecificName ();
      if (CUtils.isSimpleType (paraTypeName))
          paraTypeName =
        WrapperUtils.
        getClassNameFromParamInfoConsideringArrays
        (paramtype, wscontext);
      typeisarray =
          (paraTypeName.lastIndexOf ("_Array") > 0);
      if (!typeisarray)
          paraTypeName = type.getLanguageSpecificName ();

        }
        typeisarray |= type.isArray ();
        typeissimple = CUtils.isSimpleType (paraTypeName);
    }
    else
    {
        paraTypeName =
      ((ParameterInfo) paramsB.get (i)).getLangName ();
        paramtype = (ParameterInfo) paramsB.get (i);
        typeisarray = false;
    }
    typeissimple = CUtils.isSimpleType (paraTypeName);
    if (typeisarray
        || (typeissimple
      && (!((ParameterInfo) paramsB.get (i)).isNillable ()
          || paraTypeName.equals ("xsd__string")
          || paraTypeName.equals ("xsd__anyURI")
          || paraTypeName.equals ("xsd__QName")
          || paraTypeName.equals ("xsd__notation"))))
    {
        writer.write (", " + paraTypeName + " Value" + i);
    }
    else if (paraTypeName.lastIndexOf ("*") > 0)
    {
        writer.write (", " + paraTypeName + " Value" + i);
    }
    else
    {    //for AnyType too
        writer.write (", " + paraTypeName + "* Value" + i);
    }
      }
  }

  // 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);
      }
  }

  writer.write (")\n{\n");
  if (returntype != null)
  {
      writer.write ("\t");
      if (returntypeisarray)
      {
    //for arrays
    writer.write (outparamType + " RetArray = {NULL, 0};\n");
      }
      else
      {

    if (!returntypeissimple)
    {    //for AnyType too
        if (outparamType.lastIndexOf ("*") > 0)
        {
      writer.write (outparamType + " pReturn = NULL;\n");
        }
        else
      writer.write (outparamType + "* pReturn = NULL;\n");
        //for complex types
    }
    else
    {
        //for simple types
        if (returntype.isNillable ()
      && !(outparamType.equals ("xsd__string")
           || outparamType.equals ("xsd__anyURI")
           || outparamType.equals ("xsd__QName")
           || outparamType.equals ("xsd__notation")))
        {
      writer.write (outparamType + "* Ret = NULL;\n");
        }
        else
        {
      String initValue = CUtils.getInitValue (outparamType);
      if (initValue != null)
      {
          writer.write (outparamType + " Ret = " +
            initValue + ";\n");
      }
      else
      {

          if (outparamType.equals ("xsd__base64Binary")
        || outparamType.equals ("xsd__hexBinary"))
          {
        writer.write (outparamType + " Ret;\n");
        writer.write ("\tRet.__ptr = NULL;\n");
        writer.write ("\tRet.__size = 0;\n");
          }
          else
          {
        if (outparamType.equals ("xsd__dateTime")
            || outparamType.equals ("xsd__date")
            || outparamType.equals ("xsd__time"))
        {
            writer.write (outparamType + " Ret;\n");
            writer.write ("\tmemset(&Ret,0,sizeof(" +
              outparamType + "));\n");
        }
        else
        {
            writer.write (outparamType + " Ret;\n");
        }
          }
      }
        }
    }
    //TODO initialize return parameter appropriately.
      }
  }
  writer.write ("\tconst char* pcCmplxFaultName;\n");
  writer.write ("\tpcCmplxFaultName = NULL;\n");
  writer.write ("\ttry\n\t{");

  writer.
      write
      ("\tif (AXIS_SUCCESS != m_pCall->initialize(CPP_DOC_PROVIDER" +
       ")) return ");
  if (returntype != null)
  {
      writer.write ((returntypeisarray
         ? "RetArray"
         : returntypeissimple
         ? "Ret" : "pReturn") + ";\n\t");
  }
  else
  {
      writer.write (";\n");
  }
  writer.
      write
      ("\tif (NULL==m_pCall->getTransportProperty(\"SOAPAction\",false))\n");
  writer.write ("\t{\n");
  writer.
      write ("\t\tm_pCall->setTransportProperty(SOAPACTION_HEADER , \""
       + minfo.getSoapAction () + "\");\n");
  writer.write ("\t}\n");
  writer.write ("\tm_pCall->setSOAPVersion(SOAP_VER_1_1);\n");
  //TODO check which version is it really.
  writer.write ("\tm_pCall->setOperation(\""
          + minfo.getInputMessage ().getLocalPart ()
          + "\", \""
          + minfo.getInputMessage ().getNamespaceURI ()
          + "\");\n");

  // Add attributes to soap method
  for (int i = 0; i < paramsB.size (); i++)
  {
      ParameterInfo param = (ParameterInfo) paramsB.get (i);
      if (param.isAttribute ())
      {
    String elementType = param.getElementName ().getLocalPart ();

    if ("string".equals (elementType))
    {
        writer.write ("\tm_pCall->setSOAPMethodAttribute(\""
          + param.getParamName ()
          + "\", \"\", Value" + i + ");\n");
    }
    else
    {
        if ("int".equals (elementType))
        {
      writer.write ("\t{\n");
      writer.write ("\t\tchar buffer[20];\n");
      writer.write ("\t\tsprintf(buffer,\"%d\", Value" + i +
              ");\n");
      writer.
          write ("\t\tm_pCall->setSOAPMethodAttribute(\"" +
           param.getParamName () +
           "\", \"\", buffer);\n");
      writer.write ("\t}\n");
        }
    }
      }
  }

  //new calls from stub base
  writer.write ("\tincludeSecure();\n")// FJP - SecureChannel
  writer.write ("\tapplyUserPreferences();\n");

  for (int i = 0; i < paramsB.size (); i++)
  {
      ParameterInfo param = (ParameterInfo) paramsB.get (i);

      // Ignore attributes, while adding elements
      if (!param.isAttribute ())
      {
    type =
        wscontext.getTypemap ().getType (param.getSchemaName ());
    if (type != null)
    {
        if (type.isSimpleType ())
        {    //schema defined simpleType possibly with restrictions
      paraTypeName =
          CUtils.getclass4qname (type.getBaseType ());
        }
        else
        {
      paraTypeName = type.getLanguageSpecificName ();
      if (CUtils.isSimpleType (paraTypeName))
          paraTypeName =
        WrapperUtils.
        getClassNameFromParamInfoConsideringArrays
        (param,
         //returntype,
         wscontext);
      typeisarray =
          (paraTypeName.lastIndexOf ("_Array") > 0);
      if (!typeisarray)
          paraTypeName = type.getLanguageSpecificName ();
        }
        typeisarray |= type.isArray ();
    }
    else
    {
        paraTypeName =
      ((ParameterInfo) paramsB.get (i)).getLangName ();
        typeisarray = false;
    }

    if (param.isAnyType ())
    {
        //for anyType
        writer.write ("\tm_pCall->addAnyObject(Value" + i);
    }
    else
    {
        //String parameterName = ((ParameterInfo)paramsB.get(i)).getElementName().getLocalPart();
        //Samisa 22/08/2004
        String parameterName =
      ((ParameterInfo) paramsB.get (i)).
      getElementNameAsString ();
        //Samisa
        String namespace =
      ((ParameterInfo) paramsB.get (i)).getElementName ().
      getNamespaceURI ();

        if (namespace.length () == 0)
        {
      writer.write ("\tchar cPrefixAndParamName"
              + i
              + "["
              + "] = \"" + parameterName + "\";\n");
        }
        else
        {
      int stringLength =
          8 + 1 + parameterName.length () + 1;
      writer.write ("\tchar cPrefixAndParamName" + i + "[" +
              stringLength + "];\n");
      writer.write ("\tsprintf( cPrefixAndParamName" + i +
              ", \"%s:" + parameterName +
              "\", m_pCall->getNamespacePrefix(\"" +
              namespace + "\"));\n");
        }

        if (typeisarray)
        {
      // Array
      Type arrayType = WrapperUtils.getArrayType (type);

      QName qname = null;
      if (arrayType != null)
          qname = arrayType.getName ();
      else
          qname = type.getName ();
      if (CUtils.isSimpleType (qname))
      {
          // Array of simple type
          String containedType =
        CUtils.getclass4qname (qname);
          writer.
        write ("\tm_pCall->addBasicArrayParameter(");
          writer.write ("(Axis_Array*)(&Value" + i + "), " +
            CUtils.
            getXSDTypeForBasicType
            (containedType) +
            ", cPrefixAndParamName" + i);
      }
      else
      {
          if (arrayType != null
        && arrayType.isSimpleType ())
          {
        // Simple type in the schema
        String containedType =
            CUtils.getclass4qname (arrayType.
                 getBaseType ());
        writer.
            write
            ("\tm_pCall->addBasicArrayParameter(");
        writer.write ("(Axis_Array*)(&Value" + i +
                "), " +
                CUtils.
                getXSDTypeForBasicType
                (containedType) +
                ", cPrefixAndParamName" + i);
          }
          else
          {
        // Array of complex type
        String containedType = qname.getLocalPart ();
        writer.
            write
            ("\tm_pCall->addCmplxArrayParameter(");
        writer.write ("(Axis_Array*)(&Value" + i +
                "), (void*)Axis_Serialize_" +
                containedType +
                ", (void*)Axis_Delete_" +
                containedType +
                ", (void*) Axis_GetSize_" +
                containedType + ", \"" +
                parameterName + "\"" + ", ");
        if (namespace.length () == 0)
        {
            writer.write ("NULL");
        }
        else
        {
            writer.write ("Axis_URI_"
              + containedType);
        }
          }
      }
        }
        else
        {
      if (CUtils.isSimpleType (paraTypeName))
      {

          // Simple Type
          if (param.isNillable ()
        || paraTypeName.equals ("xsd__string")
        || paraTypeName.equals ("xsd__anyURI")
        || paraTypeName.equals ("xsd__QName")
        || paraTypeName.equals ("xsd__notation"))
          {
        writer.write ("\tm_pCall->addParameter(");
        writer.write ("(void*)Value"
                + i
                + ", cPrefixAndParamName"
                + i
                + ", "
                +
                CUtils.
                getXSDTypeForBasicType
                (paraTypeName));
          }
          else
          {
        writer.write ("\tm_pCall->addParameter(");
        writer.write ("(void*)&Value"
                + i
                + ", cPrefixAndParamName"
                + i
                + ", "
                +
                CUtils.
                getXSDTypeForBasicType
                (paraTypeName));
          }
      }
      else
      {
          // Complex Type
          writer.write ("\tm_pCall->addCmplxParameter(");
          writer.write ("Value"
            + i
            + ", (void*)Axis_Serialize_"
            + paraTypeName
            + ", (void*)Axis_Delete_"
            + paraTypeName
            + ", cPrefixAndParamName"
            + i + ", Axis_URI_" + paraTypeName);
      }
        }
    }
    // Adrian - end of namespace correction
    writer.write (");\n");
      }
  }
  writer.write ("\tif (AXIS_SUCCESS == m_pCall->invoke())\n\t{\n");
  if (minfo.getOutputMessage () != null)
  {
      writer.write ("\t\tif(AXIS_SUCCESS == m_pCall->checkMessage(\""
        + 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);
   
    //Chinthana:
    //Changes have done for handle AXIS_OUT_PARAM Types.
    if (currentParaType.equals ("xsd__string")
        || currentParaType.equals ("xsd__anyURI")
        || currentParaType.equals ("xsd__QName")
        || currentParaType.equals ("xsd__notation"))
      currentParamName = "*OutValue" + i;
    else
      currentParamName = "OutValue" + i;
    //10/05/2005.................................................
   
    // Some code need to be merged as we have some duplicated in coding here.
    if (typeisarray)
    {
        Type arrayType = WrapperUtils.getArrayType (type);
        QName qname = arrayType.getName ();
        String containedType = null;
        if (CUtils.isSimpleType (qname))
        {
      containedType = CUtils.getclass4qname (qname);
      writer.write ("\t\t\t" + currentParamName + " = (" + currentParaType + "&)m_pCall->getBasicArray(" + CUtils.getXSDTypeForBasicType (containedType) + ", \"" + currentType.getParamName ()  //getElementName().getLocalPart()
              + "\", 0);\n");
        }
        else
        {

      if (arrayType.isSimpleType ())
      {  //SimpleType in the schema
          containedType =
        CUtils.getclass4qname (arrayType.
                   getBaseType ());
          writer.write ("\t\t\t" + currentParamName
          + " = (" + currentParaType + "&)m_pCall->getBasicArray("
          + CUtils.getXSDTypeForBasicType (containedType)
          + ", \"" + currentType.getParamName ()  //getElementName().getLocalPart()
          + "\", 0);\n");
      }
      else
      {
          containedType = qname.getLocalPart ();
          writer.
        write
        ("\t\t\tAxis_Array arr2 = m_pCall->getCmplxArray((void*) Axis_DeSerialize_"
         + containedType);
          //writer.write(", (void*) Axis_Create_"+containedType+", (void*) Axis_Delete_"+containedType+", (void*) Axis_GetSize_"+containedType+", \""+currentType.getElementName().getLocalPart()+"\", Axis_URI_"+containedType+");\n");
          writer.write (", (void*) Axis_Create_"
            + containedType
            + ", (void*) Axis_Delete_"
            + containedType
            + ", (void*) Axis_GetSize_"
            + containedType
            + ", \""
            +
            currentType.
            getElementNameAsString () +
            "\", Axis_URI_" + containedType +
            ");\n\t\t\t" + currentParamName +
            " = (" + currentParaType +
            "&)arr2;\n");
      }
        }
    }
    else
    {

        if (typeissimple)
        {
      writer.write ("\t\t\t"
              + currentParamName
              + " = m_pCall->"
              +
              CUtils.
              getParameterGetValueMethodName
              (currentParaType,
               false) + "(\"" +
              currentType.getParamName () +
              "\", 0);\n");
        }
        else
        {

      if (currentType.isAnyType ())
      {
          //for anyTtype
          writer.write ("\t\t\t"
            + currentParamName
            + " = ("
            + currentParaType
            + "*)m_pCall->getAnyObject();\n");
      }
      else
      {
          //writer.write("\t\t\t" + currentParamName + " = ("+currentParaType+"*)m_pCall->getCmplxObject((void*) Axis_DeSerialize_"+currentParaType+", (void*) Axis_Create_"+currentParaType+", (void*) Axis_Delete_"+currentParaType+",\""+currentType.getElementName().getLocalPart()+"\", 0);\n");
          //Samisa 22/08/2004

          if (currentParaType.lastIndexOf ("*") > 0)
          {
        writer.write ("\t\t\t"
                + currentParamName
                + " = ("
                + currentParaType
                +
                ")m_pCall->getCmplxObject((void*) Axis_DeSerialize_"
                + currentParaType +
                ", (void*) Axis_Create_" +
                currentParaType +
                ", (void*) Axis_Delete_" +
                currentParaType + ",\"" +
                currentType.
                getElementNameAsString () +
                "\", 0);\n");

          }
          else
        writer.write ("\t\t\t"
                + currentParamName
                + " = ("
                + currentParaType
                +
                "*)m_pCall->getCmplxObject((void*) Axis_DeSerialize_"
                + currentParaType +
                ", (void*) Axis_Create_" +
                currentParaType +
                ", (void*) Axis_Delete_" +
                currentParaType + ",\"" +
                currentType.
                getElementNameAsString () +
                "\", 0);\n");
          //Samisa
      }
        }
    }
      }
      writer.write ("\t\t}\n");
      writer.write ("\t}\n");
      writer.write ("\tm_pCall->unInitialize();\n");
  }
  else
  {
      if (returntype == null)
      {
    if (minfo.getOutputMessage () != null)
    {
        writer.write ("\t\t\t/*not successful*/\n\t\t}\n");
    }
    writer.write ("\t}\n");
    writer.write ("\tm_pCall->unInitialize();\n");
    //writer.write("\t}\n\tm_pCall->unInitialize();\n");
      }
      else
      {

    if (returntypeisarray)
    {
        QName qname = null;
        if (WrapperUtils.getArrayType (retType) != null)
      qname =
          WrapperUtils.getArrayType (retType).getName ();
        else
      qname = retType.getName ();
        String containedType = null;
        if (CUtils.isSimpleType (qname))
        {
      containedType = CUtils.getclass4qname (qname);
      writer.write ("\t\t\tAxis_Array RetAxisArray = m_pCall->getBasicArray("
          + CUtils.getXSDTypeForBasicType (containedType)
          + ", \"" + returntype.getParamName () + "\", 0);\n");
        }
        else
        {
      containedType = qname.getLocalPart ();
      writer.write("\t\t\tAxis_Array RetAxisArray = m_pCall->getCmplxArray((void*) Axis_DeSerialize_"
          + containedType
          + ", (void*) Axis_Create_"
              + containedType
              + ", (void*) Axis_Delete_"
              + containedType
              + ", (void*) Axis_GetSize_"
              + containedType
              + ", \""
              + returntype.getElementNameAsString ()
              + "\", Axis_URI_"
              + containedType
              + ");\n");
        }
        writer.write ("\t\t\tmemcpy(&RetArray,&RetAxisArray,sizeof(Axis_Array));\n");
        writer.write ("\t\t}\n");
        writer.write ("\t}\n");
        writer.write ("\tm_pCall->unInitialize();\n");
        //        writer.write("\t}\n\tm_pCall->unInitialize();\n");
        writer.write ("\treturn RetArray;\n");
    }
    else
    {

        if (returntypeissimple)
        {
      if (returntype.isNillable ())
      {
          writer.write ("\t\t\tRet = m_pCall->"
            +
            CUtils.
            getParameterGetValueMethodName
            (outparamType,
             false) + "(\"" +
            returntype.getParamName () +
            "\", 0);\n\t\t}\n");
      }
      else
      {
          if (outparamType.equals ("xsd__string")
        || outparamType.equals ("xsd__anyURI")
        || outparamType.equals ("xsd__QName")
        || outparamType.equals ("xsd__notation"))
          {
        writer.write ("\t\t\t" + outparamType +
                " pReturn = m_pCall->" +
                CUtils.
                getParameterGetValueMethodName
                (outparamType,
                 false) + "(\"" +
                returntype.getParamName () +
                "\", 0);\n");
        writer.write ("\t\t\tif(pReturn)\n");
        writer.write ("\t\t\t\tRet = pReturn;\n");
          }
          else
          {
        writer.write ("\t\t\t" + outparamType +
                " * pReturn = m_pCall->" +
                CUtils.
                getParameterGetValueMethodName
                (outparamType,
                 false) + "(\"" +
                returntype.getParamName () +
                "\", 0);\n");
        writer.write ("\t\t\tif(pReturn)\n");
        writer.write ("\t\t\t\tRet = *pReturn;\n");
          }
          // TODO If we unexpectedly receive a nill value, when nillable="false" we should do something appropriate, perhaps as below:
//                              writer.write("\t\t\telse");
//                              writer.write("\t\t\t\tthrow new Exception(\"Unexpected use of nill\");");
          writer.write ("\t\t}\n");

      }
      writer.write ("\t}\n");
      writer.write ("\tm_pCall->unInitialize();\n");
      //            writer.write("\t}\n\tm_pCall->unInitialize();\n");
      writer.write ("\treturn Ret;\n");
        }
        else
        {

      if (returntype.isAnyType ())
      {
          //for anyTtype
          writer.write ("\t\t\tpReturn = ("
            + outparamType
            +
            "*)m_pCall->getAnyObject();\n\t\t}\n");
          writer.write ("\t}\n");
          writer.write ("\tm_pCall->unInitialize();\n");
          //                writer.write("\t}\n\tm_pCall->unInitialize();\n");
          writer.write ("\treturn pReturn;\n");
      }
      else
      {
          //writer.write("\t\t\tpReturn = ("+outparamType+"*)m_pCall->getCmplxObject((void*) Axis_DeSerialize_"+outparamType+", (void*) Axis_Create_"+outparamType+", (void*) Axis_Delete_"+outparamType+",\""+returntype.getElementName().getLocalPart()+"\", 0);\n\t\t}\n");
          //Samisa 22/08/2004
          if (outparamType.lastIndexOf ("*") > 0)
          {
        String outparamTypeBase =
            outparamType.substring (0,
                  outparamType.
                  lastIndexOf
                  ("*"));
        writer.write ("\t\t\tpReturn = (" +
                outparamType +
                ")m_pCall->getCmplxObject((void*) Axis_DeSerialize_"
                + outparamTypeBase +
                ", (void*) Axis_Create_" +
                outparamTypeBase +
                ", (void*) Axis_Delete_" +
                outparamTypeBase + ",\"" +
                returntype.
                getElementNameAsString () +
                "\", 0);\n\t\t}\n");
          }
          else
        writer.write ("\t\t\tpReturn = ("
                + outparamType
                +
                "*)m_pCall->getCmplxObject((void*) Axis_DeSerialize_"
                + outparamType +
                ", (void*) Axis_Create_" +
                outparamType +
                ", (void*) Axis_Delete_" +
                outparamType + ",\"" +
                returntype.
                getElementNameAsString () +
                "\", 0);\n\t\t}\n");
          //Samisa
          writer.write ("\t}\n");
          writer.write ("\tm_pCall->unInitialize();\n");
          //                writer.write("\t}\n\tm_pCall->unInitialize();\n");
          writer.write ("\treturn pReturn;\n");
      }
        }
    }
      }
  }
  //added by nithya

  writer.write ("\t}\n");
  writer.write ("\tcatch(AxisException& e)\n\t{\n");
  writer.write ("\t\tint iExceptionCode = e.getExceptionCode();\n\n");
  writer.
      write
      ("\t\tif(AXISC_NODE_VALUE_MISMATCH_EXCEPTION != iExceptionCode)\n");
  writer.write ("\t\t{\n");
  writer.write ("\t\t\tm_pCall->unInitialize();\n"); // AXISCPP-477
  writer.write ("\t\t\tthrow;\n");
  writer.write ("\t\t}\n\n");
  writer.write ("\t\tISoapFault* pSoapFault = (ISoapFault*)\n");
  writer.write ("\t\t\tm_pCall->checkFault(\"Fault\",\""
          + wscontext.getWrapInfo ().getTargetEndpointURI ()
          + "\" );\n\n");
  writer.write ("\t\tif(pSoapFault)\n");
  writer.write ("\t\t{\n");

  //to get fault info            
  Iterator paramsFault = minfo.getFaultType ().iterator ();
  String faultInfoName = null;
  String faultType = null;
  String langName = null;
  String paramName = null;
  boolean flag = false;
  int j = 0;
  if (!paramsFault.hasNext ())
  {
      writer.write ("\t\t\t\tconst char *detail = pSoapFault->getSimpleFaultDetail();\n");
      writer.write ("\t\t\t\tbool deleteDetail=false;\n\n");
      writer.write ("\t\t\t\tif (NULL==detail || 0==strlen(detail))\n");
      writer.write ("\t\t\t\t{\n");
      writer.write ("\t\t\t\t\tdetail=m_pCall->getFaultAsXMLString();\n");
      writer.write ("\t\t\t\t\tif (NULL==detail)\n");
    writer.write ("\t\t\t\t\t{\n");
      writer.write ("\t\t\t\t\t\tdetail=\"\";\n");
    writer.write ("\t\t\t\t\t}\n");
      writer.write ("\t\t\t\t\telse\n");
    writer.write ("\t\t\t\t\t{\n");
      writer.write ("\t\t\t\t\t\tdeleteDetail=true;\n");
    writer.write ("\t\t\t\t\t}\n");
      writer.write ("\t\t\t\t}\n\n");
      writer.write ("\t\t\t\tOtherFaultException ofe(pSoapFault->getFaultcode(),\n");
      writer.write ("\t\t\t\t\tpSoapFault->getFaultstring(), pSoapFault->getFaultactor(),\n");
      writer.write ("\t\t\t\t\tdetail, iExceptionCode);\n\n");
      writer.write ("\t\t\t\tif (deleteDetail && NULL!=detail)\n");
    writer.write ("\t\t\t\t{\n");
      writer.write ("\t\t\t\t\tdelete [] const_cast<char*>(detail);\n");
    writer.write ("\t\t\t\t}\n\n");
      writer.write ("\t\t\t\tm_pCall->unInitialize();\n");
      writer.write ("\t\t\t\tdelete pSoapFault;\n");
      writer.write ("\t\t\t\tthrow ofe;\n");
  }
  else
  {
      flag = true;
      writer.write ("\t\t\tpcCmplxFaultName = pSoapFault->getCmplxFaultObjectName();\n");
  }
  while (paramsFault.hasNext ())
  {
      j = j + 1;
      FaultInfo info = (FaultInfo) paramsFault.next ();
      faultInfoName = info.getFaultInfo ();

      // FJP - D0004 > Looking through the list of attributes for the 'error' part of
      //               the fault message.  If found, update the faultInfoName with the
      //               'localname' of the qname of the attribute.                        
      Iterator infoArrayListIterator = info.getParams ().iterator ();
      boolean found = false;

      while (infoArrayListIterator.hasNext () && !found)
      {
    ParameterInfo paramInfo =
        (ParameterInfo) infoArrayListIterator.next ();

    if (paramInfo != null)
    {
        if ("error".equals (paramInfo.getParamName ()))
        {
      faultInfoName =
          paramInfo.getElementName ().getLocalPart ();

      found = true;
        }
    }
      }
      // FJP - D0004 <                           

      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);
    if (j > 1)
    {
View Full Code Here

    try{
        writer.write("\tpublic: \n")
        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("\t\tvoid ");
        }
        else if (1==noOfOutParams){
          returntype = (ParameterInfo)minfo.getOutputParameterTypes().iterator().next();
          String outparam = returntype.getLangName();
          writer.write("\t\t"+WrapperUtils.getClassNameFromParamInfoConsideringArrays(returntype,wscontext)+" ");
        }
        else{
          isAllTreatedAsOutParams = true;
          writer.write("\t\tvoid ");
        }
          //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,wscontext)+" *OutValue"+j);
          }
        }         
          writer.write(");\n");
        }
View Full Code Here

    private ArrayList getServiceInfo(PortType porttype, String language) {
        //get opeation list
        Iterator oplist = porttype.getOperations().iterator();
        ArrayList methods = new ArrayList();
        MethodInfo minfo;
        ParameterInfo pinfo;
        org.apache.axis.wsdl.symbolTable.Type ptype;
        //for each operation
        while (oplist.hasNext()) {

            minfo = new MethodInfo();
            methods.add(minfo);

            //add operation to operation List
            Operation op = (Operation) oplist.next();
            minfo.setMethodname(op.getName());

            Iterator paramlist =
                op.getInput().getMessage().getParts().values().iterator();
            //add each parameter to parameter list
            while (paramlist.hasNext()) {
                Part p = (Part) paramlist.next();

                //TODO some types type name is null we neglect them is that right??
                if (p.getTypeName() == null) {
                    continue;
                }

                ptype = symbolTable.getType(p.getTypeName());
                pinfo =
                    new ParameterInfo(
                        ptype.getName(),
                        ptype.getQName(),
                        p.getName(),
                        language);

                minfo.addParameter(pinfo);
            }

            //get the return type
            Iterator returnlist =
                op.getOutput().getMessage().getParts().values().iterator();
            if (returnlist.hasNext()) {
                Part p = ((Part) returnlist.next());

                //TODO some types type name is null we neglect them is that right??
                if (p.getTypeName() == null)
                    continue;

                ptype = symbolTable.getType(p.getTypeName());
                minfo.setReturnType(
                    new ParameterInfo(ptype.getName(), ptype.getQName(), null, language));
            }
        }
        return methods;
    }
View Full Code Here

        }
        writer.write(minfo.getMethodname()+"(");
        //write parameter names
      Iterator params = minfo.getParameterTypes().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);
      }
      writer.write(")\n{\n");
      writer.write("\tif (NULL == "+sGlobalInstanceName+")\n");
      writer.write("\t\t"+sGlobalInstanceName+" = new "+classname+"();\n");
View Full Code Here

        writer.write(" "+minfo.getMethodname()+"(");
           
        //write parameter names
        Iterator params = minfo.getParameterTypes().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);
        }
        writer.write(");\n");
      }
    }catch (Exception e) {
View Full Code Here

        writer.write(minfo.getMethodname()+"(");
        //write parameter names
      //write parameter names
      Iterator params = minfo.getParameterTypes().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);
      }
      writer.write(")\n{\n}\n");
      }
    }catch (Exception e) {
View Full Code Here

TOP

Related Classes of org.apache.axis.wsdl.wsdl2ws.info.ParameterInfo

Copyright © 2018 www.massapicom. 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.