cancel
Showing results for 
Search instead for 
Did you mean: 

How to access KM repository from an EP 7.3x

Former Member
0 Kudos

Dear all,

could somebody provide me some information how to access backend systems please, concrete KM for EP? I found this here:

http://scn.sap.com/community/hana-cloud-portal/blog/2013/06/14/how-to-connect-sap-hana-cloud-portal-...

but its not really a help, since I dont wanna use POST and GET methods.

I know I can go with WebDav, but I dont wanna do that, since I will lose all KM specific functionality, e.g. metadata or permission control entries. I need this stuff in the context of the application Im working on. I also know HANA is providing an own document repository, I dont wanna use that since this doesnt meet our scenario. Thank you very much,

regards

Accepted Solutions (1)

Accepted Solutions (1)

ThomasHensel
Advisor
Advisor
0 Kudos

Hello Lawrence,

thanks for posting your question in this forum.

I am interested in the scenario you plan to implement. Can you please elaborate?

SAP HANA Cloud platform provides an own document service for storing files (such as documents, images, etc.) that you can leverage in the Cloud Portal. Check the documentation for details.

In general KM can expose information via different interfaces: WebDav, CMIS and APIs.

Which release version of KM are you running?

Thanks and best regards,

Thomas

Former Member
0 Kudos

Hello Thomas,


Thomas Hensel wrote:

I am interested in the scenario you plan to implement. Can you please elaborate?

You know about that, we talked about on the last TechEd in Amsterdam. Thank you for your friendly support again

I will try to give you a short overview what Im thinking about: the main goal is to provide a poc for a collaboration solution in EP. I believe Im right saying development of this part of Portal will not be continued. I have an use case with heavy exploitation of KM and many collaboration user with high amount of rooms. We would like to keep using KM as a persistence for documents (also because of less implementation and higher effort through migration), but I dont want to use the standard KM explorer for this. So in fact I need a custom KM explorer as an app running portal in the cloud.

As I mentioned I cant use WebDav, since I maybe can pass on metadata, but I will need the ACL's. The only idea I have actually is to use WebDav and get resp set ACLs with a webservice, but I guess its a bad idea.

SAP HANA Cloud platform provides an own document service for storing files (such as documents, images, etc.) that you can leverage in the Cloud Portal. Check the documentation for details.

Thanks, I saw already in Ifat's blog:

I dont think this document service offers linking to KM and I as I sad I dont want to migrate the data.

In general KM can expose information via different interfaces: WebDav, CMIS and APIs.

I would like to use the Java API

Which release version of KM are you running?

We are on 7.31

regards

eliel_schurman
Participant
0 Kudos

Hello Lawrence,

I would recommend to use the KM web-services for building your application as I don’t think you will be able to use the KM Java API's from the cloud.

In parallel lm contacting NW KM colleagues to see if they have a better recommendation.

Regards,

Eliel.

Former Member
0 Kudos

Bullseye Eliel, thank you. I searched for some detailled documentation on web service methods and examples for JS (as far I got it the only option in Cloud Portal applets is to use JS and SOAP, right?) but didnt found anything, do you know where to find this stuff? Also, there is already a service for ACL's handling, which is a charm.

I tryed SoapClient for JS like:

<script type="text/javascript">
function HelloWorld() {
var pl = new SOAPClientParameters();
SOAPClient.invoke("http://administrator:xxxxx@10.xx.xx.x:50000/RepositoryFrameworkWS/Config1xxxxx@10.xx.xx.x:50000/RepositoryFrameworkWS/Config1", "getBuildInfo", pl, true, HelloWorld_callBack);
}
function HelloWorld_callBack(r) {
alert(r);
}

    </script>

and getting: NS_ERROR_DOM_BAD_URI: Access to restricted URI denied


Working example would be great... Thank you again,


regards

eliel_schurman
Participant
0 Kudos

Hi Lawrence,

Looks like a cross domain issue.

Try to see if you can use CORS for invoking the web service.

In parallel I will also try to think on a solution.

Regards,

Eliel.

Answers (1)

Answers (1)

eliel_schurman
Participant
0 Kudos

Hello Lawrence,

Please try the following:

1. Install Cloud Connector which serves as the link between on-demand applications in SAP HANA Cloud Platform and existing on-premise systems.

2. Follow the 4 installation steps defined in the cloud connector documentation page.

3. The relevant example for you would be Using On-Premise Back-End Services in Cloud Applications

4. For overcoming the cross domain issues, read the blog about the connectivity proxy.

I believe that now you will be able to consume the KM web service API's.

Let me know if you managed to implement and access the API's.

Regards,

Eliel.

Former Member
0 Kudos

Eliel, sorry for coming back late on this. Nevertheless: meanwhile I installed and configured the SAP HANA Cloud connnector, activated SSL on my local portal and imported the P12 file into Cloud connector (both products are installed on same VM):

Also, I configured mapping from the Cloud connector to my local EP system like this and added ressources (according to my understanding adding "/" as path should be enough to access all services and applications running on mapped machine):

I havent done any proxy settings, if I got it right I dont need this. The indicator on the mapped machine and ressources is green, so in generally it seems to work.

Following your suggestion I ran through the development tutorial SAP HANA Cloud Platform and created an appropriate application in Kepler:

I also created an own destination for accessing the KM Web Service on portal:

My idea was this all should be sufficient to access the KM like you described. Indeed, if Im calling the application with matching destination, Im getting a 403 error back:


Connectivity operation failedjavax.servlet.ServletException: Expected response status code is 200 but it is 403 .

    at hello.ConnectivityServlet.doGet(ConnectivityServlet.java:68)

    at javax.servlet.http.HttpServlet.service(HttpServlet.java:735)

    at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)

    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)

    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)

    at com.sap.core.communication.server.CertValidatorFilter.doFilter(CertValidatorFilter.java:318)

    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)

    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)

    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)

    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)

    at org.eclipse.virgo.web.enterprise.security.valve.OpenEjbSecurityInitializationValve.invoke(OpenEjbSecurityInitializationValve.java:44)

...

Could you help me out please: did I missed something following your approach?

Thank you, regards

edit: I changed the destination parameters as shown and getting 403 now, which seems to be an advance