Java - XMLGregorianCalendar Exception

Je suis en train de travailler sur un service web qui rend les appels d'avant en arrière dans la forme de XML. Mon problème n'est pas avec cela, cependant. Lorsque je l'exécute localement (dans Eclipse) sur ma machine, il semble fonctionner. Cependant, lorsque ma collègue de travail qu'il exécute/si je tente de l'exécuter sur le serveur, il obtient cette exception avant le service web est encore appelé:

Exception #6 ClientMain.java java.lang.IllegalArgumentException: 2012-07-09T08:19:44-0400

Quelqu'un a une idée de pourquoi il faudrait l'argument sur une seule machine, mais pas l'autre? La construction ne doit pas être le problème comme je l'ai copié tout mon workspace eclipse sur une clé usb (donc tous les associés et des pots et le chemin de génération devrait avoir reporté). Comme la mesure d'exécuter le serveur, j'ai exporté l'ensemble du programme comme un runnable jar (Eclipse Indigo) et d'obtenir un problème similaire.

Je vous en serais reconnaissant toute perspicacité!

Stacktrace/Sortie:

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-0400
Current date being used is 2012-07-09T09:19:42-0400
Exception #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

Méthode provoquant exception:

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

Classe Principale:

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

runTypeCheck:

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

uniquement de sortie:

******************************************************
Running by Yesterday's Date ...
2012-07-09T08:19:44-0400
Current date being used is 2012-07-09T08:19:44-0400
Exception #6 in ClientMain.java java.lang.IllegalArgumentException: 2012-07-09T08:19:44-0400
L'exception est le référencement ClientMain.java mais vous n'avez pas fourni le code.
Ajouté cette info.
La sortie est trompeuse, car il n'y a pas de corrélation entre le code affiché et la sortie.
Je suis d'accord la chaîne de "l'Exception " #6" n'apparaît pas n'importe où. Dans tous les cas, une copie de la partie supérieure de la stacktrace serait plus utile
Désolé à ce sujet. Je dois avoir laissé de côté la moitié inférieure de la méthode. N00b erreur.

OriginalL'auteur ns1 | 2012-07-10