Hi,

Please let me know if the trim helps, if it does not help, try to
identify the exact contact information that could be causing the
problem.

For the other issue, would be good to isolate contacts that could be
causing the problem, I'll be glad to test your csv file if you send me
a sample or the real information privately.

Thanks,
Julian.

On Jan 15, 1:38 pm, Dummy <[email protected]> wrote:
> Hi.
>
> First, I am not sure if 100 times have some threashhold. In my
> experience, it happens just around 100times.
> But sometimes, it happens less than 100.
>
> I believe the title and department is not blank/space characters, but
> I will try the trim.
>
> And now I have new situation.
> 1. Delete all contact records for a user A.
> 2.Create some groups and upload 1000over contacts via online csv
> import.
> 3.getfeed call from API ends with parse exception.
>
> Thanks.
>
> On 1月13日, 午前1:16, "Julian (Google)" <[email protected]> wrote:
>
> > Hi,
>
> > Also, please double check that userMaster.getTitle() and
> > userMaster.getDepartment() are not just blank/space characters or
> > other special characters (\n \t \r \b) that could cause problems, for
> > example, the Java Client trims white spaces and that will cause the
> > same error that you are getting.
>
> > You can add a trim to your check, but you should also check for other
> > chars if necesary:
>
> > if(userMaster.getTitle() != null && userMaster.getTitle().trim().length
> > ()>0)
> > {
> >   orgName = new OrgName(userMaster.getTitle());}
>
> > if(userMaster.getDepartment() != null && userMaster.getDepartment
> > ().trim().length()>0){
> >   orgTitle = new OrgTitle(userMaster.getDepartment());
>
> > }
>
> > Cheers,
> > Julian
>
> > On Jan 12, 3:10 pm, "Julian (Google)" <[email protected]> wrote:
>
> > > Hi,
>
> > > Thank you for sharing the code, this will help to find the problem.
>
> > > Do you get the error only when you call the method more than 100
> > > times? Does it work for the first 100 calls?
>
> > > Cheers,
> > > Julian
>
> > > On Jan 10, 1:02 pm, Dummy <[email protected]> wrote:
>
> > > > Hi. I did run with V2.0 API but the result was the same.
> > > > I got parse exception like this. Thanks.
>
> > > > 警告: [Line 5, Column 1885, element gd:orgTitle]
> > > > com.google.gdata.util.ParseException: Missing required text content
> > > > Message: Missing required text content
>
> > > >         at 
> > > > com.google.gdata.data.AttributeHelper.consume(AttributeHelper.java:
> > > > 101)
> > > >         at com.google.gdata.data.AttributeHelper.consumeContent
> > > > (AttributeHelper.java:86)
> > > >         at com.google.gdata.data.ValueConstruct.consumeAttributes
> > > > (ValueConstruct.java:184)
> > > >         at com.google.gdata.data.AbstractExtension
> > > > $AttributesHandler.processEndElement(AbstractExtension.java:243)
> > > >         at 
> > > > com.google.gdata.util.XmlParser.endElement(XmlParser.java:985)
> > > >         at org.xml.sax.helpers.ParserAdapter.endElement(Unknown Source)
> > > >         at 
> > > > org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown
> > > > Source)
> > > >         at 
> > > > org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanEndElement
> > > > (Unknown Source)
> > > >         at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl
> > > > $FragmentContentDispatcher.dispatch(Unknown Source)
> > > >         at 
> > > > org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument
> > > > (Unknown Source)
> > > >         at org.apache.xerces.parsers.XML11Configuration.parse(Unknown 
> > > > Source)
> > > >         at org.apache.xerces.parsers.XML11Configuration.parse(Unknown 
> > > > Source)
> > > >         at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
> > > >         at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown 
> > > > Source)
> > > >         at 
> > > > org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown
> > > > Source)
> > > >         at org.xml.sax.helpers.ParserAdapter.parse(Unknown Source)
> > > >         at com.google.gdata.util.XmlParser.parse(XmlParser.java:675)
> > > >         at com.google.gdata.util.XmlParser.parse(XmlParser.java:606)
> > > >         at com.google.gdata.data.BaseFeed.parseAtom(BaseFeed.java:759)
> > > >         at com.google.gdata.util.ParseUtil.parseFeed(ParseUtil.java:200)
> > > >         at com.google.gdata.util.ParseUtil.readFeed(ParseUtil.java:168)
> > > >         at com.google.gdata.data.BaseFeed.readFeed(BaseFeed.java:741)
> > > >         at com.google.gdata.client.Service.getFeed(Service.java:965)
> > > >         at com.google.gdata.client.Service.getFeed(Service.java:819)
> > > >         at 
> > > > com.google.gdata.client.GoogleService.getFeed(GoogleService.java:
> > > > 592)
> > > >         at com.google.gdata.client.Service.getFeed(Service.java:838)
> > > >         at jp.co.tokyu.hands.google.sso.gao.ContactListGao.init
> > > > (ContactListGao.java:86)
> > > >         at
> > > > jp.co.tokyu.hands.google.sso.batch.task.GoogleAppsContactTask.updateUser
> > > > (GoogleAppsContactTask.java:93)
> > > >         at
> > > > jp.co.tokyu.hands.google.sso.batch.task.GoogleAppsContactTask.execute
> > > > (GoogleAppsContactTask.java:71)
> > > >         at 
> > > > com.yoshidumi.product.google.sso.batch.task.BatchTask.executeTask
> > > > (BatchTask.java:58)
> > > >         at 
> > > > jp.co.tokyu.hands.google.sso.batch.task.GoogleAppsContactTask$
> > > > $EnhancedByS2AOP$$1098594.$$executeTask$$invokeSuperMethod$$
> > > > (GoogleAppsContactTask$$EnhancedByS2AOP$$1098594.java)
> > > >         at 
> > > > jp.co.tokyu.hands.google.sso.batch.task.GoogleAppsContactTask$
> > > > $EnhancedByS2AOP$$1098594$$MethodInvocation$$executeTask0.proceed
> > > > (MethodInvocationClassGenerator.java)
> > > >         at org.seasar.extension.tx.RequiredInterceptor.invoke
> > > > (RequiredInterceptor.java:48)
> > > >         at 
> > > > jp.co.tokyu.hands.google.sso.batch.task.GoogleAppsContactTask$
> > > > $EnhancedByS2AOP$$1098594$$MethodInvocation$$executeTask0.proceed
> > > > (MethodInvocationClassGenerator.java)
> > > >         at 
> > > > jp.co.tokyu.hands.google.sso.batch.task.GoogleAppsContactTask$
> > > > $EnhancedByS2AOP$$1098594.executeTask(GoogleAppsContactTask$
> > > > $EnhancedByS2AOP$$1098594.java)
> > > >         at com.yoshidumi.product.google.sso.batch.task.BatchTask.call
> > > > (BatchTask.java:72)
> > > >         at com.yoshidumi.product.google.sso.batch.task.BatchTask.call
> > > > (BatchTask.java:1)
> > > >         at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
> > > >         at java.util.concurrent.FutureTask.run(Unknown Source)
> > > >         at 
> > > > java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown
> > > > Source)
> > > >         at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown 
> > > > Source)
> > > >         at java.lang.Thread.run(Unknown Source)
>
> > > > On Jan 10, 7:30 pm, Dummy <[email protected]> wrote:
>
> > > > > Hi, Julian.
>
> > > > > I would paste my source code although it may contain no concern with
> > > > > this issue..
> > > > > Now,I figure out this parse exception may happen just adding contact
> > > > > records.
> > > > > The steps is just calling this method 100 over times.
> > > > > It happend just adding the contacts records with no groups.
>
> > > > > I would also try with API V2, and let you know the results later.
>
> > > > > Thanks.
>
> > > > > Source code.
> > > > > #####
> > > > >         public ContactEntry createContact(String createUserAddress,
> > > > > UserMaster userMaster)
> > > > >         throws ServiceException, IOException {
>
> > > > >                 //既存のエントリの場合は再利用するために取得する。
> > > > >                 ContactEntry contact = 
> > > > > getContactEntryByMail(createUserAddress,
> > > > > userMaster.getMail());
>
> > > > >                 Boolean isNew = false;
>
> > > > >                 //contactがnullの場合は新規作成となる。
> > > > >                 if(contact == null) {
> > > > >                         contact = new ContactEntry();
> > > > >                         isNew = true;
> > > > >                 }else{
> > > > >                         //更新の場合は一旦初期化する。
> > > > >                         contact.getPhoneNumbers().clear();
> > > > >                         contact.getPostalAddresses().clear();
> > > > >                         contact.getEmailAddresses().clear();
> > > > >                 }
>
> > > > >                 String value = userMaster.getDisplayname();
> > > > >                 contact.setTitle(new PlainTextConstruct(value));
>
> > > > >                 Email primaryMail = new Email();
> > > > >                 primaryMail.setAddress(userMaster.getMail());
> > > > >                 
> > > > > primaryMail.setRel("http://schemas.google.com/g/2005#work";);
> > > > >                 primaryMail.setPrimary(true);
> > > > >                 contact.addEmailAddress(primaryMail);
>
> > > > >                 //              会社電話番号の登録部分***********
> > > > >                 if(userMaster.getTelephonenumber() != null &&
> > > > > userMaster.getTelephonenumber().length() > 0 ) {
> > > > >                         PhoneNumber workPn = new PhoneNumber();
> > > > >                         
> > > > > workPn.setPhoneNumber(userMaster.getTelephonenumber());
> > > > >                         
> > > > > workPn.setRel("http://schemas.google.com/g/2005#work";);
> > > > >                         contact.addPhoneNumber(workPn);
> > > > >                 }
> > > > > //              ポケットベルの登録部分(ハンズ用件では内線番号)***********
> > > > >                 if(userMaster.getPager() != null && 
> > > > > userMaster.getPager().length() >
> > > > > 0 ) {
> > > > >                         PhoneNumber pocketBeeper = new PhoneNumber();
> > > > >                         
> > > > > pocketBeeper.setPhoneNumber(userMaster.getPager());
> > > > >                         
> > > > > pocketBeeper.setRel("http://schemas.google.com/g/2005#other";);
> > > > >                         contact.addPhoneNumber(pocketBeeper);
> > > > >                 }
> > > > > //              Fax電話番号の登録部分***********
> > > > >                 if(userMaster.getFacsimiletelephonenumber() != null &&
> > > > > userMaster.getFacsimiletelephonenumber().length() > 0) {
> > > > >                         PhoneNumber faxPn = new PhoneNumber();
> > > > >                         
> > > > > faxPn.setPhoneNumber(userMaster.getFacsimiletelephonenumber());
> > > > >                         
> > > > > faxPn.setRel("http://schemas.google.com/g/2005#fax";);
>
> ...
>
> read more >>
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Google Contacts API" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/google-contacts-api?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to