withServicePath method for additional odata services - sap-cloud-sdk

Using the sap-cloud-sdk vdm generation we have generated the code for one of our custom developed odata service
I dont see method withServicePath
Is this method available for services other than standard one as mentioned here
https://help.sap.com/doc/b579bf8578954412aea2b458e8452201/1.0/en-US/com/sap/cloud/sdk/s4hana/datamodel/odata/services/BusinessPartnerService.html#withServicePath-java.lang.String-

Related

Deploying an WebAPI project (including swagger) into Azure Function

I know that the Azure function supports HTTP trigger and we can write a function that can be exposed like an API. I'm looking for an option to host a complete C# WebAPI project (multiple Rest endpoints including swagger definition) into a single Azure function.
Is this feasible? and supported? I see this scenario is completely supported in AWS Lambda. Where we can deploy a whole WebAPI project into a single lambda. Here is the demo of
the same.
I have watched the provided Video and I observed the same functionality is also available in Azure Functions.
As Direct way is not available like publishing the Web API to the Functions but migration of Web API to Functions is possible if the Web API is authenticated with any option like Open API, etc and using the APIM Service we can manage all the operations in it.
And as per the Microsoft Update, Startup.csand program.cs is unified to the program.cs file. So, I have added the required swagger configuration code in the file program.cs and tested it, working successful locally.
Another approach is you can call the Web APIs from Azure Functions securely, here is one of my approaches along with few other ways to do it.
Refer to #VovaBilyachat alternative solution on publishing .NET Core Web API to Azure that provides the glimpse of using Containers instead Functions.

Azure Function to Receive SOAP Requests

We have a legacy SOAP webservice that is called by multiple clients.
We'd like to host a copy of the service in Azure PAAS. There should be no changes required from the clients, other than a change to the URL they call.
API Management is not an option at present. I looked into creating a custom logic app connector and got as far as consuming the WSDL but then received an error message stating that one-way operations are not supported.
What are the alternatives? Are there any example of achieving this using an HTTP Triggered Azure Function?
Assuming you're creating a new implementation for the service contract, the right way to do this is with a .NET Framework WCF service hosted in Azure App Service.
Azure Functions are .NET Core and .NET Core doesn't have an official WCF service implementation, and Azure Functions doesn't help you in any way to create SOAP endpoints. So it would actually be much harder than using an Asp.Net project with first-class WCF tooling in Visual Studio.
svcutil.exe can generate the code to implement the service from the wsdl.

Custom connector not found in Azure logic app(Standard)

I added a logic app custom connector resource to connect to on premise HTTP API. But I'm not able to find it in logic app actions,
I tried creating consumption logic app and it showed up there.
Not getting in standard logic app for some reason. I tried searching with different keywords like custom connector and name of connectors. No results. Also tried to include this action from code view . It got added, but the logic app stops after executing trigger only.
Both my connector and logic app are in same region as per documentation. Can someone let me know why it is not showing up in standard logic app actions?
Currently we don’t support invoking the customer connector from Logic App standard. This is something product team are planning to support but no ETA yet.
Custom managed connectors currently aren't currently supported.
As Mayank mentioned, custom connectors are not yet supported for Logic app standard version. Couple of possible workaround solutions are:
1.Try built-in connector extensibility - https://techcommunity.microsoft.com/t5/integrations-on-azure/azure-logic-apps-running-anywhere-built-in-connector/ba-p/1921272
2.Use a consumption logic app for integrating custom connectors and invoke it from your standard logic app.
Custom connector support is coming soon to Logic Apps Standard.
By creating a new custom connector and manually adding it to the connection json and manually crafting the workflow code view you can make this work today. Once you do this some of the UI will work, full support coming soon.

Azure API Management devops resource kit - creator tool

I'm using the Azure API Management DevOps resource kit to generate arm templates to use in a DevOps pipeline to configure my API management instances
https://github.com/Azure/azure-api-management-devops-resource-kit
This works well for APIs with a swagger definition but I have one WSDL that I also want to automate using the same process. There doesn't appear to be great documentation around on how to do this with a WSDL file as opposed to a swagger file
I know as part of the config.yml file that the creator uses you can specify type: soap but it still requires you to point to an open API spec file
Can this process be carried out with a WSDL file?
You could try to host the WSDL somewhere and reference it from there. Otherwise it can be easily imported.
https://learn.microsoft.com/en-us/azure/api-management/import-soap-api
https://learn.microsoft.com/en-us/biztalk/core/connect-to-azure-api-management
However, if you are importing an API, you might come across some restrictions or identify issues that need to be rectified before you can successfully perform the import.
For WSDL below are the points we need :
WSDL files are used to create SOAP pass-through and SOAP-to-REST
APIs.
SOAP bindings -Only SOAP bindings of style ”document” and “literal”
encoding are supported. There is no support for “rpc” style or
SOAP-Encoding. WSDL:Import - This attribute isn't supported.
Customers should merge the imports into one document.
Messages with multiple parts - These types of messages aren't
supported. WCF wsHttpBinding - SOAP services created with Windows
Communication Foundation should use basicHttpBinding - wsHttpBinding
isn't supported.
MTOM - Services using MTOM may work. Official support isn't offered
at this time. Recursion - Types that are defined recursively (for
example, refer to an array of themselves) are not supported by APIM.
Multiple Namespaces - Multiple namespaces can be used in a schema,
but only the target namespace can be used to define message parts.
Namespaces other than the target, which are used to define other
input or output elements, are not preserved. Although such a WSDL
document can be imported, on export all message parts will have the
target namespace of the WSDL.
For more info, follow this :
https://learn.microsoft.com/en-us/azure/api-management/api-management-api-import-restrictions

Swagger connected to Azure ..now what?

I connected my swagger PetStore api to Azure using swagger Azure API Management integration.
Now that it made it in azure; Where do I implement the actual logic of querying my azure database etc?
Using swagger if I generate a Node server stub I get the following generated. But these are not available if I use API management integration.
In the Backend section I only see Logic Apps and endpoint options. I tried the Logic App stuff but it seems I need 50 logic apps if I have api that large...Am I missing something?
Maybe you need to use SwaggerHub.
The Swagger UI you are currently using belongs to the community version and should not support direct integration. Assuming there are 100 api interfaces, you need to add 100 times in azure apim.

Resources