| package org.apache.axis2.savan.atom; |
| |
| import org.apache.axiom.om.OMAbstractFactory; |
| import org.apache.axiom.om.OMElement; |
| import org.apache.axiom.om.OMFactory; |
| import org.apache.axiom.om.OMNamespace; |
| import org.apache.axiom.om.OMOutputFormat; |
| import org.apache.savan.atom.AtomEventingClient; |
| |
| import com.wso2.eventing.atom.CreateFeedResponseDocument.CreateFeedResponse; |
| |
| public class AtomSample { |
| |
| |
| /** |
| * To run the sample |
| * <ol> |
| * <li>Install Axis2 with addressing Module</li> |
| * <li>Install some service, engage Savan with that service</li> |
| * <li>Set up Axis2 client repository in client machine with addressing module</li> |
| * <li>Run the sample with http://serviceHost:servicePort/services/<Service-Name> |
| * and <client-repostiory-location></li> |
| * </ol> |
| * |
| * Samples shows how to Create,Delete, publish to with SOAP/REST, and retrive a Feed. |
| * @param args |
| */ |
| |
| public static void main(String[] args){ |
| if(args.length != 2){ |
| System.out.println("Usage: serviceUrl clientRepository"); |
| }else{ |
| |
| try { |
| String serviceUrl = args[0]; |
| AtomEventingClient atomEventingClient = new AtomEventingClient(serviceUrl,args[1]); |
| CreateFeedResponse createFeedResponse = atomEventingClient.createFeed("test Title","Srinath Perera"); |
| System.out.println("Created Feed "+createFeedResponse.getFeedUrl() + " Sucessfully"); |
| |
| //publish to service using SOAP |
| atomEventingClient.publishWithSOAP(serviceUrl, getDummyMethodRequestElement (1), null); |
| |
| //publish service using REST |
| atomEventingClient.publishWithREST(serviceUrl, getDummyMethodRequestElement (2), null); |
| |
| //Get the feed using http GET |
| OMElement feedAsXml = atomEventingClient.fetchFeed(createFeedResponse.getFeedUrl()); |
| feedAsXml.serialize(System.out,new OMOutputFormat()); |
| |
| System.out.println("Fetch Feed using HTTP Get, copy and paste url " + createFeedResponse.getFeedUrl() + " in browser to retirve the feed "); |
| System.out.println("Press any key to delete the feed"); |
| System.in.read(); |
| atomEventingClient.deleteFeed(); |
| } catch (Exception e) { |
| // TODO Auto-generated catch block |
| e.printStackTrace(); |
| } |
| } |
| } |
| |
| private static final String applicationNamespaceName = "http://tempuri.org/"; |
| private static final String dummyMethod = "dummyMethod"; |
| |
| private static OMElement getDummyMethodRequestElement(int i) { |
| OMFactory fac = OMAbstractFactory.getOMFactory(); |
| OMNamespace namespace = fac.createOMNamespace(applicationNamespaceName,"ns1"); |
| OMElement de = fac.createOMElement(dummyMethod, namespace); |
| de.setText(String.valueOf(i)); |
| return de; |
| } |
| } |