2016-07-04 6 views
-2

Ich bekomme eine Antwort von Kapital (NULL) von einem externen System, von dem ich in XMLGregorian-Datumsformat & konvertieren muss es auf XMLGregorian Objekt. Könnte jemand dabei helfen? Im Folgenden finden Sie den Code-Schnipsel ich mit analysieren versuchen:Gibt es eine Möglichkeit, NULL-Wert zu XMLGregorian Date-Format zu analysieren?

public static XMLGregorianCalendar toXMLGregorianCalendarWithTimeZone(String date) 
throws ParseException, DatatypeConfigurationException { 
    String format = "dd/MM/yyyy HH:mm:ss Z"; 
    GregorianCalendar cal = new GregorianCalendar(); 
    SimpleDateFormat formatter = new SimpleDateFormat(format); 
    formatter.setTimeZone(cal.getTimeZone()); 
    cal.setTime(formatter.parse(date)); 
    XMLGregorianCalendar calendar = DatatypeFactory.newInstance().newXMLGregorianCalendar(cal.get(Calendar.YEAR), 
      cal.get(Calendar.MONTH) + 1, cal.get(Calendar.DAY_OF_MONTH), cal.get(Calendar.HOUR_OF_DAY), 
      cal.get(Calendar.MINUTE), cal.get(Calendar.SECOND), DatatypeConstants.FIELD_UNDEFINED, 
      cal.get(Calendar.ZONE_OFFSET)); 
     return calendar; 
} 

Meine SOAPUI Anfrage Nutzlast:

<soapenv:Header/> 
    <soapenv:Body> 
     <UsageHis> 
     <versionID>1</versionID> 
     <DeviceID>1234</DeviceID> 
     <StartDateandTime>2016-09-09 10:10:10</StartDateandTime> 
     <EndDateandTime>2016-09-09 10:10:10</EndDateandTime> 
     <StartRange>1</StartRange> 
     <EndRange>12</EndRange> 
     <TransactionType>cdr</TransactionType> 
     </UsageHis> 
    </soapenv:Body> 

Meine SOAPUI Antwort:

`

<env:Body> 
     <UsageHisResponse> 
      <Status> 
       <statusCode>SUCCESS</statusCode> 
       <errorCode>NULL</errorCode> 
       <errorDescription>NULL</errorDescription> 
       <TotalNoOfRecords>1</TotalNoOfRecords> 
      </Status> 
RECORDS> 
       <CDR> 
        <StartTime>09/09/2016 00:00:00 CDT</StartTime> 
        <DownLoadVolume>20</DownLoadVolume> 
        <UploadVolume>10</UploadVolume> 
        <UserVolume>0</UserVolume> 
        <DeviceVolume>0</DeviceVolume> 
       </CDR> 
      </RECORDS> 
     <UsageHisResponse> 
    </env:Body> 

`

+0

Wie möchten Sie NULL in ein Datum konvertieren? Sie Frage hat wenig bis keine relevanten Informationen – JSantos

+0

einfach zurück "null" – Jens

+0

if ("NULL" .equals (Antwort)) gibt null zurück. –

Antwort

0

So etwas kann Ihr Problem lösen:

if (toBeParsed.equals("NULL")) { 
    date = null;  
} else { 
    // Try to parse toBeParsed 
    date = .... 
} 
+0

Bitte überprüfen Sie meine bearbeitete Frage.Ich habe den Code, den ich verwendet habe.Ich bin in der Lage zu erreichen, was Sie zur Verfügung gestellt.Das Problem hier ist, bekomme ich Antwort als "NULL"). – sarav

Verwandte Themen