Java - XMLGregorianCalendar Exception

samz

New Member
I am working on a web service program that makes calls back and forth in the form of XML. My issue is not with that however. When I run this locally (in Eclipse) on my machine, it seems to work. However, when my coworker runs it/if I attempt to run it on the server, he gets this exception before the web service is even called:Exception #6 in ClientMain.java java.lang.IllegalArgumentException: 2012-07-09T08:19:44-0400Does anyone have any idea why it would take the argument on one machine but not the other? The build should not be the issue as I copied my entire eclipse workspace on a thumbdrive (so all associated jars and the build path should have carried over). As far as the server run, I exported the entire program as a runnable jar (running Eclipse Indigo) and get a similar issue. I'd appreciate any insight!Stacktrace/Output:\[code\]java.lang.IllegalArgumentException: 2012-07-09T09:19:42-0400 at com.sun.org.apache.xerces.internal.jaxp.datatype.XMLGregorianCalendarImpl$Parser.skip(Unknown Source) at com.sun.org.apache.xerces.internal.jaxp.datatype.XMLGregorianCalendarImpl$Parser.parse(Unknown Source) at com.sun.org.apache.xerces.internal.jaxp.datatype.XMLGregorianCalendarImpl.<init>(Unknown Source) at com.sun.org.apache.xerces.internal.jaxp.datatype.DatatypeFactoryImpl.newXMLGregorianCalendar(Unknown Source) at com.travelport.worldspanimageserver.client.ClientMain.requestRun(ClientMain.java:231)******************************************************Running by Yesterday's Date ...2012-07-09T09:19:42-0400Current date being used is 2012-07-09T09:19:42-0400Exception #6 in ClientMain.java java.lang.IllegalArgumentException: 2012-07-09T09:19:42-0400 at com.travelport.worldspanimageserver.client.ClientMain.runTypeCheck(ClientMain.java:161) at com.travelport.worldspanimageserver.client.ClientMain.main(ClientMain.java:81)Exception #13 in ClientMain.java java.lang.NullPointerException\[/code\]Method causing exception:\[code\] import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.util.GregorianCalendar; import java.util.List; import java.util.Properties; import java.util.TimeZone; import javax.mail.Message; import javax.mail.Session; import javax.mail.Transport; import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeMessage; import javax.swing.text.Document; import javax.xml.datatype.DatatypeConfigurationException; import javax.xml.datatype.DatatypeFactory; import javax.xml.datatype.XMLGregorianCalendar; import org.joda.time.format.DateTimeFormatter; import org.joda.time.format.ISODateTimeFormat; public static void requestRun(String strRunType) throws DatatypeConfigurationException{ //-TODO: determine how date is passed in/retrieved from database GregorianCalendar c = new GregorianCalendar(); XMLGregorianCalendar dateTime = null; if (strRunType == "fullLoad") {dateTime = null;} if (strRunType.substring(0,2).equals("OD")) { System.out.println("Current date being used is " + DatatypeFactory.newInstance().newXMLGregorianCalendar(strRunType.substring(2,strRunType.length()))); dateTime = DatatypeFactory.newInstance().newXMLGregorianCalendar(strRunType.substring(2,strRunType.length())); } if (strRunType.substring(0,2).equals("DT")) { System.out.println("Current date being used is " + strRunType.substring(2,strRunType.length())); dateTime = DatatypeFactory.newInstance().newXMLGregorianCalendar(strRunType.substring(2,strRunType.length())); } String address = "http://vhligssas001:31860/services/ImageViewerService"; /**getServiceURL(sServer);**/ try { ArrayList<PropertyType> propertyIdList = null; ArrayList tempList = null; if (strRunType.equals("properties")) { propertyIdList = getPropertiesFromFile(); //to fix later } else { propertyIdList = initialCall(dateTime, propertyIdList, address); } secondCall(propertyIdList, address); } catch(Exception e) { System.out.println("Exception #5 in ClientMain.java " + e); try { postMail("Exception #5 in ClientMain.java " + e); } catch (Exception e1) { e1.printStackTrace(); } System.exit(16); } } catch(Exception e) { System.out.println("Exception #6 in ClientMain.java " + e); try { postMail("Exception #6 in ClientMain.java " + e); e.printStackTrace(); //added } catch (Exception e1) { e1.printStackTrace(); } System.exit(16); } }\[/code\]Main Class:\[code\] public static void main(String args[]) throws Exception { String sRunType = new String(""); try { File fPropertiesToLoad = new File("runType.txt"); BufferedReader in = null; String strRunType = new String(""); if (!fPropertiesToLoad.exists()) { System.out.println("******************************************************"); System.out.println("Exception #1 - Run Type file does not exist"); System.out.println("******************************************************"); postMail("Exception #1 - Run Type file does not exist"); System.exit(16); } else { in = new BufferedReader(new FileReader("runType.txt")); if ((strRunType = in.readLine()) != null) { sRunType = strRunType.trim(); } in.close(); runTypeCheck(sRunType); } } catch (Exception e) { System.out.println("Exception #2 in ClientMain.java " + e); postMail("Exception #2 in ClientMain.java " + e); System.exit(16); } } \[/code\]runTypeCheck:\[code\] public static void runTypeCheck(String sRunType) { try { //Hard-coded in "yesterday" as the date sRunType = "DT"; System.out.println("******************************************************"); DateTimeFormatter parser2 = ISODateTimeFormat.dateTimeNoMillis(); if (sRunType.equals("DT")) { System.out.println("Running by Yesterday's Date ..."); Calendar cal = Calendar.getInstance(); cal.add(Calendar.DATE, -1); DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ"); sRunType = dateFormat.format(cal.getTime()); System.out.println(sRunType); sRunType = sRunType.replaceAll("-0500", "-05:00"); sRunType = "DT" + sRunType; requestRun(sRunType); }System.out.println("******************************************************"); } catch(Exception e) { System.out.println("Exception #4 in ClientMain.java " + e); try { postMail("Exception #4 in ClientMain.java " + e); } catch (Exception e1) { e1.printStackTrace(); } System.exit(16); } }\[/code\]only output:\[code\]******************************************************Running by Yesterday's Date ...2012-07-09T08:19:44-0400Current date being used is 2012-07-09T08:19:44-0400Exception #6 in ClientMain.java java.lang.IllegalArgumentException: 2012-07-09T08:19:44-0400\[/code\]
 
Back
Top