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

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


    private ArrayList getServiceInfo(PortType porttype)throws WrapperFault {
        //get opeation list
        Iterator oplist = porttype.getOperations().iterator();
        ArrayList methods = new ArrayList();
        MethodInfo minfo;
    Element element;
    QName qname;
        ParameterInfo pinfo;
    Type type;
        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());
            System.out.println(op.getName()+"operation name .......................&&&&&&&&&&&");
            //setting the faults
            Map faults = op.getFaults();
      addFaultInfo(faults,minfo);
           
           
           
            Iterator paramlist = null;
            //add each parameter to parameter list
            if ("document".equals(bindingEntry.getBindingStyle().getName())){
        paramlist = op.getInput().getMessage().getParts().values().iterator();
        Part part = (Part) paramlist.next();
        QName minfoqname;
        element = symbolTable.getElement(part.getElementName());
        if ( element == null ) {
          // the part reference a type.
          qname =  symbolTable.getType(part.getTypeName()).getQName();
          minfoqname = symbolTable.getType(part.getTypeName()).getQName();
        }
        else {
          qname = element.getRefType().getQName();
          minfoqname = element.getQName();
        }
        if (qname != null){
          minfo.setInputMessage(minfoqname);
          System.out.println(minfoqname.getLocalPart()+"setInputMessage.............?????????????");
          type = this.typeMap.getType(qname);
          boolean wrapped = true; //TODO take this from a commandline argument
          if (wrapped){
            if(type == null)
               throw new WrapperFault("unregisterd type "+qname+" refered");
            else{
              /* if(type.getLanguageSpecificName().startsWith(">")){*/ //anyway skip the wrapping element type even if it is a named type.
              //get inner attributes and elements and add them as parameters
              ArrayList elementlist = new ArrayList();
              Iterator names = type.getElementnames();
              while (names.hasNext()){
                elementlist.add(names.next());
              }
              Type innerType;
              for (int i = 0 ; i < elementlist.size(); i++) {
                String elementname = (String)elementlist.get(i);
                innerType = type.getElementForElementName(elementname).getType();
                pinfo = new ParameterInfo(innerType,elementname);
                pinfo.setElementName(type.getElementForElementName(elementname).getName());
                if (innerType.getName().equals(CUtils.anyTypeQname))
                  pinfo.setAnyType(true);
                minfo.addInputParameter(pinfo);   
              }
              //remove the type that represents the wrapping element so that such type is not created.
              this.typeMap.removeType(qname);
            }
          }
          else{
           
          }
        }
        }
          else{
        minfo.setInputMessage(op.getInput().getMessage().getQName());
             if (op.getParameterOrdering() != null){
               for (int ix=0; ix < op.getParameterOrdering().size(); ix++){
            Part p = (Part)(op.getInput().getMessage().getParts().get((String)op.getParameterOrdering().get(ix)));
            if (p == null) continue;
            pinfo = createParameterInfo(p);
            if (null != pinfo) minfo.addInputParameter(pinfo);
               }
             }
             else {
          paramlist = op.getInput().getMessage().getParts().values().iterator();
          while (paramlist.hasNext()) { //RPC style messages can have multiple parts
            Part p = (Part) paramlist.next();
            pinfo = createParameterInfo(p);
            if (null != pinfo) minfo.addInputParameter(pinfo);
          }              
             }
           }
            //get the return type
      if(op.getOutput()!=null){
              Iterator returnlist = op.getOutput().getMessage().getParts().values().iterator();
        if (returnlist.hasNext() && "document".equals(bindingEntry.getBindingStyle().getName())){
          Part part = (Part) returnlist.next();
          QName minfoqname;
          element = symbolTable.getElement(part.getElementName());
          if ( element == null ) {
            // the part reference a type.
            qname =  symbolTable.getType(part.getTypeName()).getQName();
            minfoqname = symbolTable.getType(part.getTypeName()).getQName();
          }
          else {
            qname = element.getRefType().getQName();
            minfoqname = element.getQName();
          }
          if (qname != null){
            minfo.setOutputMessage(minfoqname);
            type = this.typeMap.getType(qname);       
            boolean wrapped = true; //TODO take this from a commandline argument
            if (wrapped){
              if(type == null)
                 throw new WrapperFault("unregisterd type "+qname+" refered");
              else{
                /*if(type.getLanguageSpecificName().startsWith(">")){*///anyway skip the wrapping element type even if it is a named type.
                //get inner attributes and elements and add them as parameters
                ArrayList elementlist = new ArrayList();
                Iterator names = type.getElementnames();
                while (names.hasNext()){
                  elementlist.add(names.next());
                }
                Type innerType;
                for (int i = 0 ; i < elementlist.size(); i++) {
                  String elementname = (String)elementlist.get(i);
                  innerType = type.getElementForElementName(elementname).getType();
                  pinfo = new ParameterInfo(innerType,elementname);
                  pinfo.setElementName(type.getElementForElementName(elementname).getName());
                  if (innerType.getName().equals(CUtils.anyTypeQname))
                    pinfo.setAnyType(true);
                  minfo.addOutputParameter(pinfo);   
                }             
                //remove the type that represents the wrapping element so that such type is not created.             
                this.typeMap.removeType(qname);
              }
            }
            else{
            }
          }
        }
        else{
      //added on 1-jun-2004
            minfo.setInputMessage(op.getInput().getMessage().getQName());
            minfo.setOutputMessage(op.getOutput().getMessage().getQName());
           // minfo.setFaultMessage();
          if (op.getParameterOrdering() != null){
            
            for (int ix=0; ix < op.getParameterOrdering().size(); ix++){
              Part p = (Part)(op.getOutput().getMessage().getParts().get((String)op.getParameterOrdering().get(ix)));
              if (p == null) continue;
              pinfo = createParameterInfo(p);
              if (null != pinfo) minfo.addOutputParameter(pinfo);
            }
            /* there can be more output parameters than in parameterOrder list (partial parameter ordering) */
            returnlist = op.getOutput().getMessage().getParts().values().iterator();
            while (returnlist.hasNext()) { //RPC style messages can have multiple parts
              Part p = (Part) returnlist.next();
              if (op.getParameterOrdering().contains(p.getName())) continue;
              pinfo = createParameterInfo(p);
              if (null != pinfo) minfo.addOutputParameter(pinfo);
            }                               
          }
          else {
            returnlist = op.getOutput().getMessage().getParts().values().iterator();
            while (returnlist.hasNext()) { //RPC style messages can have multiple parts
              Part p = ((Part) returnlist.next());
              pinfo = createParameterInfo(p);
              if (null != pinfo) minfo.addOutputParameter(pinfo);
            }
          }
        }
      }
        }
View Full Code Here


  /* (non-Javadoc)
   * @see org.apache.axis.wsdl.wsdl2ws.cpp.HeaderFileWriter#writeMethods()
   */
  protected void writeMethods() throws WrapperFault {
    MethodInfo minfo;
    boolean isSimpleType;
    try{
        writer.write("public: \n")
        for(int i = 0; i < methods.size(); i++){
        minfo = (MethodInfo)this.methods.get(i);
        boolean isAllTreatedAsOutParams = false;
        int noOfOutParams = minfo.getOutputParameterTypes().size();
        //write return type
        if(0==noOfOutParams)
          writer.write("\tvoid ");
        else if(1==noOfOutParams){
          ParameterInfo returnParam = (ParameterInfo)minfo.getOutputParameterTypes().iterator().next();
          String outparam = returnParam.getLangName();
          writer.write("\t"+WrapperUtils.getClassNameFromParamInfoConsideringArrays(returnParam,wscontext)+" ");
        }
        else{
          isAllTreatedAsOutParams = true;
          writer.write("\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);
          }
        }       
View Full Code Here

   * @see org.apache.axis.wsdl.wsdl2ws.cpp.HeaderFileWriter#writeMethods()
   */
  protected void writeFaultHeaders() throws WrapperFault {
    try{
     
      MethodInfo minfo;
      for (int i = 0; i < methods.size(); i++) {
        minfo = (MethodInfo)methods.get(i);
        Iterator fault = minfo.getFaultType().iterator();
        String faultInfoName =null;          
        while (fault.hasNext()){
            FaultInfo info = (FaultInfo)fault.next();
            faultInfoName =info.getFaultInfo();      
            writer.write("#include \"Axis"+faultInfoName.toString()+"Exception.h\"\n");
View Full Code Here

  /* (non-Javadoc)
   * @see org.apache.axis.wsdl.wsdl2ws.cpp.HeaderFileWriter#writeMethods()
   */
  protected void writeMethods() throws WrapperFault {
    MethodInfo minfo;
    boolean isSimpleType;
    try{
        writer.write("\tpublic: \n")
      writer.write("\t\tvoid onFault();\n");
      writer.write("\t\tvoid init();\n");
      writer.write("\t\tvoid fini();\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);
          }
        }         
View Full Code Here

       
     public void getLangName() throws WrapperFault
     {   
         ArrayList methods;
            methods = wscontext.getSerInfo().getMethods();
         MethodInfo minfo;
         FaultInfo faultinfo;
           try
           {
        for (int i = 0; i < methods.size(); i++)
        {
            minfo = (MethodInfo)methods.get(i);
          Iterator paramsFault = minfo.getFaultType().iterator();
          String langName =null;
          String paramName =null;
          while (paramsFault.hasNext())
          {
               FaultInfo info = (FaultInfo)paramsFault.next();     
View Full Code Here

   * @see org.apache.axis.wsdl.wsdl2ws.cpp.HeaderFileWriter#writeMethods()
   */
  protected void writeFaultHeaders() throws WrapperFault {
    try{
     
      MethodInfo minfo;
      for (int i = 0; i < methods.size(); i++) {
        minfo = (MethodInfo)methods.get(i);
        Iterator fault = minfo.getFaultType().iterator();
        String faultInfoName =null;          
        while (fault.hasNext()){
            FaultInfo info = (FaultInfo)fault.next();
            faultInfoName =info.getFaultInfo();      
            writer.write("#include \"Axis"+faultInfoName.toString()+"Exception.h\"\n");
View Full Code Here

        "\tpWs->init();\n\treturn AXIS_SUCCESS;\n}\n\n");
      writer.write("int "+classname+"::fini()\n{\n" +
        "\tpWs->fini();\n\treturn AXIS_SUCCESS;\n}\n\n");
      writeInvoke();
      writer.write("\n/*Methods corresponding to the web service methods*/\n");
      MethodInfo minfo;
      for (int i = 0; i < methods.size(); i++) {
         minfo = (MethodInfo)methods.get(i);
         this.writeMethodInWrapper(minfo);
         writer.write("\n");
       }
View Full Code Here

    //if no methods in the service simply return
    if (methods.size() == 0) {
      writer.write("}\n");
      return;
    }
    MethodInfo minfo = (MethodInfo)methods.get(0);
    //if conditions (if parts)   
    writer.write("\tif (0 == strcmp(method, \""+ minfo.getMethodname() +"\"))\n");
    writer.write("\t\treturn "+minfo.getMethodname()+"(mc);\n");
    //(else if parts)
    if (methods.size() > 1) {
      for (int i = 1; i < methods.size(); i++) {
        minfo = (MethodInfo)methods.get(i);
        writer.write("\telse if (0 == strcmp(method, \""+ minfo.getMethodname() +"\"))\n");
        writer.write("\t\treturn "+minfo.getMethodname()+"(mc);\n");
      }
    }
    //(else part)
    writer.write("\telse return AXIS_FAIL;\n");
    //end of method
View Full Code Here

        "\tpWs->init();\n\treturn AXIS_SUCCESS;\n}\n\n");
      writer.write("int "+classname+"::fini()\n{\n" +
        "\tpWs->fini();\n\treturn AXIS_SUCCESS;\n}\n\n");
      writeInvoke();
      writer.write("\n/*Methods corresponding to the web service methods*/\n");
      MethodInfo minfo;
      for (int i = 0; i < methods.size(); i++) {
         minfo = (MethodInfo)methods.get(i);
         this.writeMethodInWrapper(minfo);
         writer.write("\n");
       }
View Full Code Here

    //if no methods in the service simply return
    if (methods.size() == 0) {
      writer.write("}\n");
      return;
    }
    MethodInfo minfo = (MethodInfo)methods.get(0);
    //if conditions (if parts)   
    writer.write("\tif (0 == strcmp(method, \""+ minfo.getMethodname() +"\"))\n");
    writer.write("\t\treturn "+minfo.getMethodname()+"(mc);\n");
    //(else if parts)
    if (methods.size() > 1) {
      for (int i = 1; i < methods.size(); i++) {
        minfo = (MethodInfo)methods.get(i);
        writer.write("\telse if (0 == strcmp(method, \""+ minfo.getMethodname() +"\"))\n");
        writer.write("\t\treturn "+minfo.getMethodname()+"(mc);\n");
      }
    }
    //(else part)
    writer.write("\telse return AXIS_FAIL;\n");
    //end of method
View Full Code Here

TOP

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

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.