I read from the book but still don't understand. So if I implement Open Host Service with REST and generate the API document with Swagger (tool for generating document from code). Is my generated document a published language? If that's so does it mean that a published language is just an API document of the Open Host Service?
Related
I am trying to configure Azure API Management to use versioning and have it work with a Swagger / Open API document generated by Swashbuckle.
I have an API with 2 versions - 1.0 and 2.0. I have configured Swashbuckle to generate 2 seperate Swagger documents, one for each version. All good.
The versioning scheme is by path so consumers need to call the correct path (v1.0 or v2.0). Like so: https://someurl/v1.0/some/thing
I have defined both versions in Azure API Management and imported both documents.
The problem is that Azure API Management is adding the path to the base URL and then because the path that is defined in the Swashbuckle generated Open API document I'm ending up with https://someurl/v1.0/v1.0/some/thing in Azure API Management.
Below is a snippet of the generated Swagger / Open API...
And the API version settings in Azure API Management...
And the full URL in Azure API Management...
So, my questions is how can I generate a Swagger document, using Swashbuckle or any other tool in a way that I can support Azure API Management versioning using the path versioning scheme.
Thank you in advance!
Since OpenAPI specification itself does not allow you to define versioning scheme, it is impossible to infer user intention at APIM level. One may want to import API with /v1.0/ in path as a single API, someone else, like in your case, wants to have API + version set. APIM by default does not create/update version sets during API import, so the only way at the moment is to remove /v1.0 prefixes from OpenAPI spec before you import into APIM.
APIMs domain model allows one to control versioning scheme (path prefix, header name/value, query parameter name/value) at the level of API version set, so that you do not need to duplicate /v1.0 on every operation of your API. By nature of this if your API version set is configured to have path prefix of /v1.0 it will be appended to all API paths included into this version set. And that is what produces the doubling.
we are using watson discovery service to find answer for travel related questions. Unfortunately the documents set to be used here are not static but the travel related forum on the web. So we need Discovery to access those URL for annotating various components (entities, relations, sentiments etc) and later we can query based on the same to find the right link which has the answers. However I see discovery only support files as documents set and not an URL. I remember alchemy API and the new service NLU both has support for URL. Is there any way discovery can access the URL ? We have selected discovery service for our solution because of the query support it has which seems to be not there in NLU or Alchemy.
In order to access a public URL, you would need to create some kind of web crawler which converts the web site to the correct format that the data crawler can access.
More details here: https://www.ibm.com/watson/developercloud/doc/discovery/data-crawler-seeds.html
We have sharepoint online with site CRM.
I use OneDrive SDK for iOS.
I can connect to main document library with onedrive api. I used usefull "github example" to configure it.
resourceId: https://{tenant}.sharepoint.com/
apiEndpoint: https://{tenant}.sharepoint.com/CRM/_api/v2.0
Web URL of this library is:
https://{tenant}.sharepoint.com/CRM/Shared Documents
This configuration is fine and works OK.
I have trouble with another document libraries on this site.
Dynamics CRM creates his own document libraries. For example Acccount.
I can open this library on Web. Browser URL is:
https://{tenant}.sharepoint.com/CRM/account/Forms/AllItems.aspx
But I'm not able to connect to this CRM library.
I tried simple ask for children account:
https://{tenant}.sharepoint.com/CRM/_api/v2.0/drive/items/root/children/account
This API request returns error 404.
I also modified apiEndpoint to:
https://{tenant}.sharepoint.com/CRM/account/_api/v2.0
Result is the same. Error 404 - Not found.
Help me with correct configuration please.
To be precise, your question is regarding SharePoint, not OneDrive or CRM.
Here's a reference to the REST endpoint for SharePoint: https://msdn.microsoft.com/en-us/library/office/jj860569.aspx
If you want the items in an account library, you can use the rest api like this:
https://tenant.sharepoint.com/crm/_api/web/lists/GetByTitle('Account')/items
First of all. I am a beginner in IBM development and i don't have a lot of experience in IBM Domino server or Xpages.
My task is like this:
"Create a document using xpages, and sign document using ID from server ID Vault and get Verified by server".
I have a simple form consisting of two inputs (subject, content). I have Xpages page and everything set up for creating and viewing documents.
But i got stuck trying to sign each document with user id. I have set up user ID in Vault. Then I enter X-page from browser (not Notes Client) i have access to forms and documents.. with configured credentials.
So basically what I'm asking is:
HOW TO SIGN DOCUMENTS from web browser (X-pages) using ID from Vault and get Verified by Server ?
The most practical answer to this, I believe, is to wait for a future Feature Pack to 9.0.1. API access to ID Vault names (including this ability specifically) is one of the features that was in the 9.0.2 stream but which is now (presumably) broken out into an upcoming feature pack.
As for which feature pack, I can't quite say: I see it on the list of planned features, but not on the table of which release/date it is slotted for currently. I wouldn't be surprised if it came alongside Verse-on-premises, but that's mere speculation.
What is the ideal scenario to use platformwebservices and ycommercewebservices, and what is the difference between the two.
Platformwebservices
provide secure CRUD access to all models in the service layer over a well understood and widely adopted protocol.
A secured RESTful access to all Hybris models, when you create or update an item the platform web services will generate / update the API for you.It's accessible from '/ws410'. You do not need to change anything within this extension.
Ycommercewebservices
exposes part of the Commerce Facades as REST-based web services, including calls for product search and product details. The focus is to provide a working example of how a REST-based API can be exposed.
First it's a template, as it starts with 'Y' so to create your own you need to run 'ant extgen'. It will provide you RESTful access to few out of the box Facades. Up to you to add more Facades or update the existing one.
for OCC implementations use CommerceWebservices. PlatformWebservices are for doing basic CRUD operations and it completely bypasses the business logic .
So if you want to leverage any hybris provided business logic and don't want to write your own logic for example cart management CommerceWebservices is the recommended way.