2012-06-28 6 views
0

Когда я пытаюсь потреблять веб-сервис, отправив SOAP сообщения в качестве входных данных с помощью Apache Axis Я получаю следующее сообщение об ошибке.Apache Axis NumberFormatException: Invalid положительных целого

Код сниппета:

Calendar calendar = Calendar.getInstance(); 
      SimpleDateFormat simpledateformat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'"); 


      byte[] fileBytes = null; 

      fileBytes=getZipBytes(s); //get the zipped bytes 

      SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMdd"); 
      Date d=formatter.parse(formatter.format(calendar.getTime())); 

      UUID uuid = UUID.randomUUID(); 
      String uid=trimUUID(uuid.toString()); 

      String ETIN="11111"; 
      String EFIN="111111"; 

      String msgID= ETIN+getJulian7FromDate(d)+uid; 

      String timeStamp=simpledateformat.format(calendar.getTime()); 

      WebServiceLocator fsetlocator=new WebServiceLocator(); 
      SendSubmissions servicesoap=fsetlocator.getSendSubmissions(s4); 


      SOAPHeaderElement soapheaderelement_1 = new SOAPHeaderElement("http://xyz.org", "userHeader"); //Sample URL 

      SOAPElement node1 = soapheaderelement_1.addChildElement("Username"); 
      node1.addTextNode("admin"); 

      SOAPElement node2 = soapheaderelement_1.addChildElement("Password"); 
      node2.addTextNode("pwd"); 

      SOAPHeaderElement soapheaderelement_2 = new SOAPHeaderElement("http://www.abc.com/GatewayService", "msgHeader"); //Sample URL 

      SOAPElement node3 = soapheaderelement_2.addChildElement("message"); 
      node3.addTextNode(msgID); 

      SOAPElement node4 = soapheaderelement_2.addChildElement("job"); 
      node4.addTextNode("Submit"); 

      SOAPElement node5 = soapheaderelement_2.addChildElement("Timestamp"); 
      node5.addTextNode(timeStamp); 


      SOAPElement node8 = soapheaderelement_2.addChildElement("Process"); 
      node8.addTextNode("T");  


      ((Stub) servicesoap).setHeader(soapheaderelement_1); 
      ((Stub) servicesoap).setHeader(soapheaderelement_2); 


      SubmissionDataListType submissiondatalisttype=new SubmissionDataListType(); 

      String submissionsCount = getCount(s); // returns a count value 

      System.out.println("Count : "+submissionsCount); 

      submissiondatalisttype.setCount(new PositiveInteger(submissionsCount)); 

      int cnt=Integer.parseInt(submissionsCount); 

      SubmissionDataListTypeSubmissionData submissiondata[] = new SubmissionDataListTypeSubmissionData[cnt]; 

      for (int i=0 ; i<cnt ; i++){ 
      submissiondata[i]=new SubmissionDataListTypeSubmissionData(); 
      UUID uuid1 = UUID.randomUUID(); 
      submissiondata[i].setSubmissionId (EFIN + getJulian7FromDate(d) + trimUUID(uuid1.toString())); 
      Calendar calendar1 = Calendar.getInstance(); 
      submissiondata[i].setElectronicPostmark(calendar1); 
      submissiondata[i].setCategory(CategoryType.StateWH); 
      } 

      submissiondatalisttype.setSubmissionData(submissiondata);   

      SubmissionDataListType subdatalist=new SubmissionDataListType(new PositiveInteger(submissionsCount),submissiondata); 

      SubmissionRecieptListType submissionreceiptlisttype =servicesoap.sendSubmissions(submissiondatalisttype, fileBytes); 


      SubmissionRecieptListTypeSubmissionReceipt receipt[] = submissionreceiptlisttype.getSubmissionReceipt(); 
      FileOutputStream fileoutputstream = new FileOutputStream("Transmit.txt"); 
      PrintStream printstream = new PrintStream(fileoutputstream); 

      for(int i=0; i<cnt;i++){ 
      printstream.println(receipt[i].getSubmissionId()); 
      } 
      printstream.close(); 

     } catch(Exception exception) 
     { 
      System.out.println(exception.getMessage()); 
      throw exception; 
     } 

java.lang.NumberFormatException: Invalid положительное_целое: 0 в org.apache.axis.encoding.ser.SimpleDeserializer.onEndElement (SimpleDeserializer.java:176) на org.apache.axis.encoding.DeserializerImpl.endElement (DeserializerImpl.java:502) на org.apache.axis.encoding.DeserializationContext.endElement (DeserializationContext.java:1087) на 4 +444516410617451515053691368888 org.apache.axis.message.SAX2EventRecorder.replay (SAX2EventRecorder.java:171) на org.apache.axis.message.MessageElement.publishToHandler (MessageElement.java:1141) на org.apache.axis.message .RPCElement.deserialize (RPCElement.java:236) at org.apache.axis.message.RPCElement.getParams (RPCElement.java:384) at org.apache.axis.client.Call.invoke (Call.java:2467) при org.apache.axis.client.Call.invoke (Call.java:2366) при org.apache.axis.client.Call.invoke (Call.java:1812)

Исключение в потоке «Основной «Код ошибки AxisFault: {http://schemas.xmlsoap.org/soap/envelope/} Server.userException faultSubcode: faultString: java.lang.NumberFormatException: Invalid положительное_целое: 0 faultActor: введите код herefaultNode:
faultDetail: {http://xml.apache.org/axis/} StackTrace: java.lang .NumberFormatException: Недопустимый положительное_целое: 0 на org.apache.axis.encoding.ser.SimpleDeserializer.onEndElement (SimpleDeserializer.java:176) на org.apache.axis.encoding.DeserializerImpl.endElement (DeserializerImpl.java: 502) по адресу org.apache.axis.encoding.DeserializationContext.endElement (DeserializationContext.java:1087) по адресу org.apache.axis.message.SAX2EventRecorder.replay (SAX2EventRecorder.java:171) на org.apache.axis.message.MessageElement.publishToHandler (MessageElement.java:1141) на org.apache.axis.message .RPCElement.deserialize (RPCElement.java:236) at org.apache.axis.message.RPCElement.getParams (RPCElement.java:384) at org.apache.axis.client.Call.invoke (Call.java:2467) в org.apache.axis.client.Call.invoke (Call.java:2366) в org.apache.axis.client.Call.invoke (Call.java:1812)

я создаю aa Пользовательский заголовок SOAP и тело SOAP содержат прикрепление MTOM (сжатый XML-контент в байтах) и Id (положительное целочисленное значение). Я попытался проверить, является ли Id положительным.

ответ

0

Zero не является положительным целым числом, это неподписанным. Положительные целые числа начинаются с одного и идут оттуда.

+0

ya tat - это хорошо. Я понятия не имею, откуда это 0, и как исправить tat в коде.SubmissionCount всегда больше 0. Поэтому мне нужно найти место, откуда происходит эта проблема, и что было бы идеальным решением для этого. –

Смежные вопросы