Following is the WSDL generated by AXIS for one of my custom classes

- <complexType name="OmniStandardOutputBean">
- <sequence>
  <element name="messages" nillable="true" type="impl:ArrayOf_tns1_OmniMessage" />
  <element name="halInfo" nillable="true" type="tns1:OmniHalogenInfo" />
  <element name="fileDigit" nillable="true" type="xsd:string" />
  <element name="cicsTaskId" type="xsd:int" />
  <element name="hostVersion" nillable="true" type="xsd:string" />
  <element name="performanceTime" nillable="true" type="tns1:OmniPerformanceTimes" />
  <element name="msgArrayPointer" type="xsd:int" />
  <element name="traceMessage" nillable="true" type="xsd:string" />
  <element maxOccurs="unbounded" name="message" nillable="true" type="tns1:OmniMessage" />
  </sequence>
  </complexType>


I think llast line <element maxOccurs="unbounded" name="message" nillable="true" type="tns1:OmniMessage" />
is wrongly generated as the the same thing is expressed by the line  
<element name="messages" nillable="true" type="impl:ArrayOf_tns1_OmniMessage" />

I have attached my class file.This faulty generation of WSDL from .class file by AXIS is a bug on AXIS?




_________________________________________________________________
Protect your PC - get McAfee.com VirusScan Online http://clinic.mcafee.com/clinic/ibuy/campaign.asp?cid=3963
package com.sungard.omniconnect.framework;
import java.io.Serializable;
import java.io.PrintWriter;
/**
 * Provides a structure for the standard output values.
 *
 * @author  Arvind Chavar
 * @version %I%, %G%
 */
public class OmniStandardOutputBean implements Serializable{
    
  private static final int MAX_MSGs = 10;  //A MAX_MSGs = 5;  
  private String traceMessage;
  private OmniMessage[] messages;
  private String hostVersion;
  private String fileDigit;
  private OmniHalogenInfo halInfo;
  private OmniPerformanceTimes performanceTime;
  
  private int msgArrayPointer ;//A Added to keep track of  where to add the element in the array.
  
  
//A Added on 10/14/2002 - For Matcom  Alter the COBOL CICS program to return the CICS taskno
   //A in the OmniConnect standard output. (I have checked, there is room in FILLER - Jim)    
    private int cicsTaskId;
    
    public int getCicsTaskId(){
      return cicsTaskId;    
    }
    
    public void setCicsTaskId(int cicsTaskId){
      this.cicsTaskId = cicsTaskId;
    }
    
 // private  String[] frameWorkMsgs;
 // private int frmWrkMsgsCount;
  
  /*
  public void setFrameWorkMsg(String msg){
      frameWorkMsgs[frmWrkMsgsCount] = msg;
      frmWrkMsgsCount++;
  }
  
  public String getFrameWorkMsg(int i){
    return   frameWorkMsgs[i];
  }
  
  public int getFrmWrkMsgsCount(){
    return frmWrkMsgsCount;
  }
*/
   /**
   * Is default constructor
   */ 
  public  OmniStandardOutputBean(){
   // System.out.println("OmniStandardOutputBean");      
     messages = new OmniMessage[MAX_MSGs];
     halInfo = new OmniHalogenInfo();
     performanceTime = new OmniPerformanceTimes();
     messages = new OmniMessage[MAX_MSGs];
    // frameWorkMsgs = new String[MAX_MSGs];
     msgArrayPointer = 0;
  }
  
     /**
     * Sets the trace message.
     *
     * @param   traceMEssage the trace message to be assigned.  
     */ 
  public void setTraceMessage(String traceMessage){
      this.traceMessage = traceMessage;
  }
 
     /**
     * Sets the server messages.
     *
     * @param   meassages array of messages.
     */   
  public void setMessages(OmniMessage[] messages){
      this.messages = messages;
  }

   /**
     * Sets the message at the current OmniMsg array pointer
     *
     * @param   meassages the message to be set.
     */  
  public void setMessage(OmniMessage msg){
    messages[msgArrayPointer] = msg;
    msgArrayPointer++;
  }
  
   /**
     * Sets the message at the specified index
     *
     * @param   meassages the message to be set.
     */ 
  public void setMessage(OmniMessage msg,int i){
      if(i > msgArrayPointer){
          messages[msgArrayPointer] = msg;
          msgArrayPointer++;
      }
      else{
          messages[i] = msg;       
      }
  }
  
   /**
     * Sets the host version.
     *
     * @param   hostVersion  the host version.
     */   
  public void setHostVersion(String hostVersion){
      this.hostVersion = hostVersion;
  }
  
   /**
     * Sets the file digit.
     *
     * @param   fileDigit the file digit to be set.
     */   
  public void setFileDigit(String fileDigit){
      this.fileDigit = fileDigit;
  }
  
   /**
     * Sets the halogen info.
     *
     * @param   halInfo the halogen Info.
     */   
  public void setHalInfo(OmniHalogenInfo halInfo){
      this.halInfo = halInfo;
  }

  
   /**
     * Sets the performance time.
     *
     * @param   performanceTime the performance time to be set.
     */   
  public void setPerformanceTime(OmniPerformanceTimes performanceTime){
      this.performanceTime = performanceTime;
  }  
  
  
   /**
     * Returns trace message.
     *
     * @return   trace message.
     */ 
  public String getTraceMessage(){
      return traceMessage;
  }

     /**
     * Returns the array of server messages.
     *
     * @return   the array of server messages.
     */   
  public OmniMessage[] getMessages(){
     return messages; 
  }
  
     /**
     * Returns the OmniMsg object stored at the currrent msgArrayPointer..
     *
     * @return   the OmniMsg object stored at the currrent msgArrayPointer..
     */   
  public OmniMessage getMessage(int i){
    return messages[i];
  }
  
     /**
     * Gets the OmniMsg object stored at the currrent msgArrayPointer.
     *
     * @return   the OmniMsg object stored at the currrent msgArrayPointer.
     */   
  public OmniMessage getMessage(){
    return messages[msgArrayPointer];
  } 
  
       /**
     * Returns the index next to the last elemnt added.
     *
     * @return   the index next to the last elemnt added.
     */ 
  public int getMsgArrayPointer(){
    return msgArrayPointer;
  }
  
     /**
     * Returns host version.
     *
     * @return   host version.
     */   
  public String getHostVersion(){
      return hostVersion;
  }
  
  
       /**
     * Returns file digit.
     *
     * @return   the file digit.
     */ 
  public String getFileDigit(){
      return fileDigit;
  }
  
  
       /**
     * Returns halogen info.
     *
     * @return   halogen info.
     */ 
  public OmniHalogenInfo getHalInfo(){
     return halInfo; 
  }
  
  /**
    * Dumps the halogen and performance times to the specified stream.
    */
  public void dumpHaloPerfInfo(PrintWriter os){
     halInfo.dump(os);
     performanceTime.dump(os);
  }
       /**
     * Returns performance time.
     *
     * @return   performance time.
     */ 
  public OmniPerformanceTimes getPerformanceTime(){
      return performanceTime;
  }
  
    /**
     * Returns the string representation  of this object.It includes all the fields of the object.
     * Each fields name separated by ":" from its value is appended to the StringBuffer(internally 
     * StringBuffer is used).Each field of the object is on a new line.
     *
     * @return string representation  of this object.
     */  
  public String toString(){//A Added on 11/10/01
     StringBuffer result = new StringBuffer();
     //result.append("\n traceMessage : ");                result.append( traceMessage);
     result.append("\n hostVersion : ");                 result.append(  hostVersion); 
     result.append("\n fileDigit : " );                  result.append(  fileDigit );
    // result.append("\n performanceTimes : \n " + performanceTime);  
     
     result.append("\n CICS Task Id : ");   result.append(cicsTaskId);

     
     result.append("\n\n HALOGEN INFO : \n");
     result.append(halInfo);
     
     result.append("\n\n PERFORMANCE TIMES(milliseconds) : \n"); 
     result.append( performanceTime); 
     result.append("\n");
     
     result.append("\n OMNIMESSAGES : ---------"); 
     for(int i=0 ; i< msgArrayPointer ; i++){
         result.append("\n   " );  result.append( messages[i].toString());
     }     
     
     return result.toString();
  }
  
}

Reply via email to