cancel
Showing results for 
Search instead for 
Did you mean: 

Webservices Gurus. Extending the Alfresco using webservice

rv_a_sharma
Champ in-the-making
Champ in-the-making
Hello Gurus,

We are trying to achieve a communication between Alfresco and SAP Enterprise system.

1. SAP Enterprise system expects Alfresco to implement a Soap based Webservice which conform to a given Standard WSDL interface.
2. We generated the webservices classes using the Axis2 and also able to parse the resquest and response ( dummy ) in our AXIS2 webservice.

Problems :

1. We need to to deploy this webservice using Eclipse.
    If we deploy our webservice using eclipse ( by configuring the Tomcat of alfresco as server )
   We get the WSDL to work . But when we start the Alfresco Server (from start menu ) the same wsdl url doesn't work.
   We use a work around by copying the war file of our webservice manually in the Alfresco/Tomcat/Webapps directory.
   Is it the right approach ?? Is there anyother way to deploy the custom Webservice in Alfresco ?

2. We want to talk to alfresco and read the content etc. from the deployed webservice. 
    How to go about it ?? We need to read the properties of the content stored in Alfresco ?
  
My understanding is :
1. I will connect to the alfresco repository the way we do in the webservices examples from a deployed
     webservice application means MY WEBSERVICE TO SAP will WORK AS A Mediator BETWEEN ALFRESCO
    and SAP and will be a client to Alfresco API .
     eg. in my webservice i will write something like this :

      Do you think we can do this from a deployed webservice .. not a standalone class ?
      Can you guide me in configurations required from Alfresco end to make such a thing work ??

     RepositoryServiceSoapBindingStub repositoryService = WebServiceFactory.getRepositoryService();        
       
        // Create a query object, looking for all items with alfresco in the name of text
        Query query = new Query(Constants.QUERY_LANG_LUCENE, "TEXT:'alfresco development team'");
       
        // Execute the query
        QueryResult queryResult = repositoryService.query(STORE, query, false);

            
                          
   

4 REPLIES 4

sisao
Champ in-the-making
Champ in-the-making
Of course alfresci provides a standard set of SOAP headers:
http://wiki.alfresco.com/wiki/Web_Service_SOAP_Header

What is not clear to me is the goal of your project.
Do you need to have alfresco acting as a repository of your webservice/application?
Do you need to implement a middleware layer between a SAP system and the alfresco services using the WS APIs?

1. We need to to deploy this webservice using Eclipse.
If we deploy our webservice using eclipse ( by configuring the Tomcat of alfresco as server )
We get the WSDL to work . But when we start the Alfresco Server (from start menu ) the same wsdl url doesn't work.
We use a work around by copying the war file of our webservice manually in the Alfresco/Tomcat/Webapps directory.
Is it the right approach ?? Is there anyother way to deploy the custom Webservice in Alfresco ?

Are you starting up alfresco on the same connector used by the eclipse environment? Check the server.xml and eventually change the port number.

2. We want to talk to alfresco and read the content etc. from the deployed webservice.
How to go about it ?? We need to read the properties of the content stored in Alfresco ?

Basically you can refer to http://wiki.alfresco.com/wiki/Alfresco_Content_Management_Web_Services to have visibility of the whole set of stubs provided. You can do all of the common actions on the repository.

Do you think we can do this from a deployed webservice .. not a standalone class ?
I should have a more clear vision of that to answear this but of course you can! Smiley Very Happy

Regards.

rv_a_sharma
Champ in-the-making
Champ in-the-making
Goal of Project :

Make Alfresco Searchable from SAP Search Engine. Alfresco behaving as a Search Data provider.
You can find links on internet.
One such link of this is :

https://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/20c23a2c-d3df-2b10-d285-920ed48b...

A unified indexing of Alfresco/Clearspace and Enterprise Applications( may be Knowledge management portals etc.)
To make information easily accessible to the User in Enterprise .( we cant use lucene indexes as for performance reason
we need a centralized index )

1. Webservice is a middleware yes, It will conform to SAP interface ( standard for opensearch, Alfresco, clearspace etc)
2. It will be deployed earlier on Tomcat (same as that of Alfresco) later on it will be working on a more robust scalable server where alfresco will be configured .
3. Alfresco Metamodel will be exposed first . Then the actual metadata will be exposed. ( just like databases )
4. And finally all the content will be indexed. ( so we need to write file uploaders etc …. ).

Can you guide me on custom webservice extensions? How to write a custom webservice.

Regards,
Ravi Sharma

sisao
Champ in-the-making
Champ in-the-making
Through the WS API exposed at http://yourhostname:yourserviceport/alfresco/api you are able to import contents to specific spaces (from any contest), retrieve contents and execute xpath and lucene queries to the workspaces.

rv_a_sharma
Champ in-the-making
Champ in-the-making
We should not use Lucene. Thats the whole idea. Because SAP is not just focusing on Alfresco . Its just part of a Data provider…. ( different from Google, Windows Desktop search, Live , Yahoo etc. as they are seen as Search Service Providers ) . So indexing on Alfresco and other ECM systems should be centrally managed in SAP ES 7.2 system. ( it has a Search engine on its own called TREX) . So we need the data ……. Hence the Webservice , hence the Alfresco calls from a deployed webservice.