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