proxying a microsoft sharepoint url

Hi,

We need to proxy a Microsoft Sharepoint URL, which requires a username and password to get the data. We are able to connect to the sharepoint from java code by NTLM authentication.

Can this share point url be proxied on Apigee layer? Is their any documentation or any links for us to follow?

Thanks, K.Prashanthi

Solved Solved
0 6 1,566
1 ACCEPTED SOLUTION

6 REPLIES 6

I will probably start with a generic answer - you could proxy any http(s) endpoint thro Apigee

http://apigee.com/docs/api-services/content/understanding-apis-and-api-proxies

Can you provide more information on the nature of this URL you are tying to proxy? and what you are trying to accomplish?

An option is to use node.js to take care of NTLM https://www.npmjs.com/package/request-ntlm

Here is an intro to using node.js in Apigee

http://apigee.com/docs/api-services/content/overview-nodejs-apigee-edge

Hi @Madhan Sadasivam,

Thank you for the idea. I created an node js api and tried to resolve the npm dependencies by following the process in this link

http://apigee.com/docs/management/apis/post/organizations/%7Borg_name%7D/apis/%7Bapi_name%7D/revisio...

by the command = npm install request-ntlm

but getting an error

{ "code": "scripts.node.InvalidAction", "message": "Invalid action null: Valid actions are [dedupe, install, ls, outdated, prune, update]", "contexts": [] }

is their a different command to resolve the dependencies?

A workaround till I can find the right payload format.

Download the API bundle from EDGE console. Add a node_modules.zip file that contains the required modules under in node_modules folder. The file needs to be placed under apiproxy/resources/node.

You can then zip the entire apiproxy folder and import it as a new revision in EDGE console.

Hi @Madhan Sadasivam,

The dependency error is resolved now. The link https://www.npmjs.com/package/request-ntlm has sample post code.

Can you please let us know any documentations/links with simple GET sample codes and explanations?

Basically we have to do a get operation by ntlm authentication.

Thanks in advance.

I am not very familiar with ntlm module, but I guess since there is a password involved all requests will be POST requests.

The API you build on Apigee EDGE can take parameters in a GET request though. Just that the ntlm module would send them as a POST request to the backend.