I am trying to create a new Activity using Abdera with the API and am getting an exception. If anyone has an idea what I am doing wrong, I'd be grateful.
Exception:
<error xmlns="http://www.ibm.com/xmlns/prod/sn">
<code />
<message>com.ibm.openactivities.atom.exception.ParsingException: com.ibm.openactivities.atom.exception.ParsingException: java.lang.NullPointerException</message>
<trace>com.ibm.openactivities.exception.OpenActivitiesException: com.ibm.openactivities.atom.exception.ParsingException: com.ibm.openactivities.atom.exception.ParsingException: java.lang.NullPointerException
at com.ibm.openactivities.atom2.actions.OverviewAction.post(OverviewAction.java:129)
at com.ibm.openactivities.atom2.actions.BaseAtomAction.execute(BaseAtomAction.java:84)
....
Caused by: com.ibm.openactivities.atom.exception.ParsingException: com.ibm.openactivities.atom.exception.ParsingException: java.lang.NullPointerException
at com.ibm.openactivities.atom.parser.impl.Parser.parse(Parser.java:87)
at com.ibm.openactivities.atom2.xml.BaseNodeParser.parse(BaseNodeParser.java:107)
at com.ibm.openactivities.atom2.actions.OverviewAction.post(OverviewAction.java:99)
... 76 more
Caused by: com.ibm.openactivities.atom.exception.ParsingException: java.lang.NullPointerException
at com.ibm.openactivities.atom.parser.impl.internal.AtomHandler.endElement(AtomHandler.java:906)
at com.ibm.openactivities.atom.parser.impl.InternalHandler.endElement(InternalHandler.java:59)
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.parse(Unknown Source)
at javax.xml.parsers.SAXParser.parse(Unknown Source)
at com.ibm.openactivities.atom.parser.impl.Parser.parse(Parser.java:85)
... 78 more
</trace>
</error>
I trace the entry before it gets sent out and it looks OK to me:
<entry xmlns="http://www.w3.org/2005/Atom">
<id>
http://www.blah</id>
<category scheme="http://www.ibm.com/xmlns/prod/sn/type"
term="activity" label="Activity" />
<category scheme="http://www.ibm.com/xmlns/prod/sn/priority"
term="3000" label="High" />
<updated>2008-11-24T17:51:29.484Z</updated>
<author>
<name>Dean Jesson</name>
</author>
<title type="text">Deans Activity Machine 1</title>
<content type="application/atom+xml" />
</entry>
The code I am using is:
Abdera abdera = new Abdera();
AbderaClient abderaClient = new AbderaClient(abdera);
abderaClient.addCredentials("
https://qaconnections.***.***", null, null, new UsernamePasswordCredentials("****", "****"));
Factory factory = abdera.getFactory();
Entry entry = factory.newEntry();
entry.setId("
http://www.blah");
Category cat = null;
cat = factory.newCategory();
cat.setScheme("
http://www.ibm.com/xmlns/prod/sn/type");
cat.setTerm("activity");
cat.setLabel("Activity");
entry.addCategory(cat);
cat = factory.newCategory();
cat.setScheme("
http://www.ibm.com/xmlns/prod/sn/priority");
cat.setTerm("3000");
cat.setLabel("High");
entry.addCategory(cat);
entry.setUpdated(new java.util.Date());
entry.addAuthor("Dean Jesson");
entry.setTitle("Deans Activity Machine 1");
entry.setContent("Deans example activity", "application/atom+xml");
System.out.println("Send entry: " + entry.toString());
Document doc = abderaClient.post("
https://qaconnections.***/activities/service/atom2/activities", entry).getDocument();
Anyone got an idea what I am doing wrong?