Link to home
Start Free TrialLog in
Avatar of kennysflau
kennysflau

asked on

jibx compile error

Experts, I have been encountering this error and don't have any idea on it, could anyone give me a clue? Thanks!!!

[jibx-bind] Using the following binding paths:
[jibx-bind]   src/jibx-saApp-GetEvaluatedAppraisalRecordsManager-binding.xml
[jibx-bind] Running binding compiler version jibx_1_1_6a
[jibx-bind] Warning: Undefined attribute usage; on mapping element at (line 7, col 199, in src/jibx-saApp-GetEvaluatedAppraisalRecordsManager-binding.xml)
[jibx-bind] Error running binding compiler
[jibx-bind]
[jibx-bind] *** Error during code generation for file 'src/jibx-saApp-GetEvaluatedAppraisalRecordsManager-binding.xml' - please enter a bug report for this error in Jira if the problem is not listed as fixed on the online status page ***
[jibx-bind] org.jibx.runtime.JiBXException: One or more <mapping> elements for modifiable classes must be defined in <binding>
public class E1Message {
	
	private String message;//message
	private String messagePrefix;//messagePrefix
	
	public String getMessage() {
		return message;
	}
	public void setMessage(String message) {
		this.message = message;
	}
	public String getMessagePrefix() {
		return messagePrefix;
	}
	public void setMessagePrefix(String messagePrefix) {
		this.messagePrefix = messagePrefix;
	}
}


import java.io.Serializable;
import java.util.ArrayList;

public class E1MessageList implements Serializable{
	
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	private ArrayList<E1Message> e1Message;
	
	public ArrayList<E1Message> getE1Message() {
		return e1Message;
	}
	public void setE1Message(ArrayList<E1Message> message) {
		e1Message = message;
	}
}


public class GetEvaluatedAppraisalRecordsResponseListObj implements Serializable{
	
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	private ArrayList<E1Message> e1MessageList;
	private ArrayList<GetEvaluatedAppraisalRecordsResponseObj> getEvaluatedAppraisalRecordsResponseObjs;
	public ArrayList<E1Message> getE1MessageList() {
		return e1MessageList;
	}
	public void setE1MessageList(ArrayList<E1Message> messageList) {
		e1MessageList = messageList;
	}
	public ArrayList<GetEvaluatedAppraisalRecordsResponseObj> getGetEvaluatedAppraisalRecordsResponseObjs() {
		return getEvaluatedAppraisalRecordsResponseObjs;
	}
	public void setGetEvaluatedAppraisalRecordsResponseObjs(
			ArrayList<GetEvaluatedAppraisalRecordsResponseObj> getEvaluatedAppraisalRecordsResponseObjs) {
		this.getEvaluatedAppraisalRecordsResponseObjs = getEvaluatedAppraisalRecordsResponseObjs;
	}

}


public class GetEvaluatedAppraisalRecordsResponseObj {
	
	private String jobNo;
	private String seqNo;

	public String getJobNo() {
		return jobNo;
	}

	public void setJobNo(String jobNo) {
		this.jobNo = jobNo;
	}

	public String getSeqNo() {
		return seqNo;
	}

	public void setSeqNo(String seqNo) {
		this.seqNo = seqNo;
	}

	public GetEvaluatedAppraisalRecordsResponseObj() {
		
	}

}



<binding>
	<mapping name="getEvaluatedAppraisalRecordsElement" class="com.gammon.ap.integration.ws.sa.GetEvaluatedAppraisalRecordsManager.GetEvaluatedAppraisalRecordsRequestObj" flexible="true" ordered="false">
		<namespace uri="http://oracle.e1.bssv.JP58P004/types/" default="elements"/>		
		<value name="everestEventPoint04" field="status" nillable="true"/>
	</mapping>
	
	<mapping name="getEvaluatedAppraisalRecordsResponseElement" class="com.gammon.ap.integration.ws.sa.GetEvaluatedAppraisalRecordsManager.GetEvaluatedAppraisalRecordsResponseListObj" usage="optional">
		<namespace uri="http://oracle.e1.bssv.JP58P004/types/" default="elements"/>
		<collection name="e1MessageList" field="e1MessageList"/>
		<collection field="getEvaluatedAppraisalRecordsResponseObjs" item-type="com.gammon.ap.integration.ws.sa.GetEvaluatedAppraisalRecordsManager.GetEvaluatedAppraisalRecordsResponseObj"/>
	</mapping>
	
	<mapping name="evaluatedRecordList" class="com.gammon.ap.integration.ws.sa.GetEvaluatedAppraisalRecordsManager.GetEvaluatedAppraisalRecordsResponseObj" flexible="true" ordered="false">
		<namespace uri="http://oracle.e1.bssv.JP58P004/types/" default="elements"/>		
		<value name="costCenter" field="jobNo" nillable="true"/>
		<value name="sequenceNumber" field="seqNo" nillable="true"/>
	</mapping>

	<mapping name="e1Messages" class="com.gammon.ap.integration.ws.sa.GetEvaluatedAppraisalRecordsManager.E1Message" ordered="false" flexible="true">
		<namespace uri="http://oracle.e1.bssv.JP58P004/types/" default="elements"/>
		<value name="message" field="message" nillable="true"/>
		<value name="messagePrefix" field="messagePrefix" nillable="true"/>
	</mapping>
</binding>

Open in new window

Avatar of CEHJ
CEHJ
Flag of United Kingdom of Great Britain and Northern Ireland image

If src/jibx-saApp-GetEvaluatedAppraisalRecordsManager-binding.xml is a jibx system file, it could be a bug in jibx. Try getting the very latest version. If that doesn't work, mention it on the mailing list
> If src/jibx-saApp-GetEvaluatedAppraisalRecordsManager-binding.xml is a jibx system file

???? Thats definitely not a jibx system file, not sure why you think it is

Suggest you check that your classes are marshalable

By the look of it E1Message should be Serializable
Avatar of kennysflau
kennysflau

ASKER

Thanks.

I've implementes Serializable to E1Message but still get the same error
Please post src/jibx-saApp-GetEvaluatedAppraisalRecordsManager-binding.xml
try removing the mappings and adding them one by one to determine which one is causing the problem
I commented all the mappings but still got the same error.... how come!?
becaus you have not defined any mappings :)
put one back in and check if you get an error

and make sure your class files are accessible, and that they are not jarred up
You're recompiling the bindings..?
I've just comment the mappings 1 by 1... and whatever I do I got the same errors...
sign getting crazy
did you check where the classes are getting loaded from?
You don't need to do that anyway. The mapping problem is stated in the error message.
Your binding is out of synch at

>>(line 7, col 199, in src/jibx-saApp-GetEvaluatedAppraisalRecordsManager-binding.xml)
ASKER CERTIFIED SOLUTION
Avatar of kennysflau
kennysflau

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
that may have triggered a rebuild, good to hear you got it working.
the compiler needs access to the classes to process the mappings