Exposing wsdl through WSO2 - wsdl

How can I expose the wsdl through WSO2 governance registry. I have promoted the service lifecylce through to production and was hoping to get an URL some which I can share with the service consumers for discovering the service and the contract. Any pointers are appreciated.
Update: "URL some " is a typo.. apologies. In a nutshell I am unable to comprehend how to accomplish UDDI / WS-Discovery aspects with instructions in the document. I am simply looking to expose the wsdl through a url such as this "host:port/services/environment/myservice?wsdl" and would like to have the flexibility of managing service endpoints for each environment. I have a client which has to discover the wsdl's dynamically and i am figuring out ways to expose it to them. In the process, stumbled upon the wso2 product and trying to figure out.

You can use ws-discovery
another option is , you can use UDDI registry to find your services..

Related

How to add basic auth for swagger resource url docs alone

I'm new to this ingress and Nginx so sorry if the question seems to be simple. :-)
So here goes my requirement/problem statement:
Have an API service with a JWT token for Authorization and the API service is in an Open network as well.
So now my requirement is when I open this URL(https://abcd.com/swagger-ui/index.html ) in the browser it is available. And i would need to block this URL alone to be accessed only with basic authentication
The application is running in kubernetes. And I tried to configure it our deployment.yaml file by making configuration changes using Ingress.
Any help is appreciated, thanks in advance.
I hope my requirement is made clear. :-P

Ask for Spring Cloud Data Flow Security example

I have tried the SCDF Security with UAA + LDAP example (link).
However, Im looking for some more Security approaches while using SCDF local. It 'll be great if having example (source, document)
It is not an official sample, but we have another full-blown UAA based end-to-end solution that works with local, and as well the other platform choices that we support.
See: jvalkeal/randomstuff/dataflow-uaa.
With this, you can run UAA as a standalone process served at 8080, and SCDF+Skipper running separately it can negotiate with and use the UAA backend for authentication/authorization flows. Feel free to customize the uaa.yaml with desired users, roles, and the associated scopes. Once again, all this is outside of SCDF, and it comes down to how much you'd want to rely on UAA like identity providers.
Keycloak is another excellent option for a local deployment experience. I believe there's a Docker image for Keycloak.

WSO2 ESB and Registry Governance integration

I am trying to publish a WSDL in the Governance Registry through the publish app of the GREG.
I have a problem with the endpoints of th wsdl.
The imported endpoint isn't usable from ESB. When I call the proxy service with this endpoint I obtain this error: ERROR_EXCEPTION : org.apache.synapse.SynapseException: Invalid endpoint configuration. {org.apache.synapse.FaultHandler}
This behaviour does not make sense for me. The integration between ESB and GREG should be useful to use previously GREG imported endpoint and wsdl when creating proxies. Am I missing something?
Thanks
the endpoint generated by GREG when publishing a WSLD is a kind of "catalog porpouse" artifact rather than an ESB artifact. You can check this just having a look to the XML code of the ESB endpoint and GREG endpoint.
Best Regards
Please find this useful article about G-Reg and ESB integration. This is a generic concept which will not be bounded to specific version of WSO2 product.

Creating OAuth2 service provider without UI

I am writing a set of Puppet modules that deploy WSO2 ESB & Identity Service and the API & authentication services we are providing to a client.
For the most part, I have been able to figure out which XML config files I need to update to automatically configure the WSO2 product.
However, I can't work out how to automatically provision an OAuth2 service provider via the config files. I can create and successfully use an OAuth2 service provider through the Identity Service mgmt console, however I'd really rather not have to do that as a manual step when my aim is to configure a set of machines using Puppet to automatically provision an OAuth2 provider.
To confirm, screenshot of the UI below that I am trying to apply settings for via an XML config file, rather than having to do it in the UI:
After some googling, is the correct directory /repository/conf/identity/service-providers?
If so, could somebody point me in the direction of an example where this is used for configuring an OAuth2 service provider?
If not, any more pointers would be gratefully received!
Many thanks
Chris
In case of searching configuration file for adding OAuth configuration without management console UI, you are in the right place. As you specified you can use the configuration in /repository/conf/service-providers/default.xml.
When you add service provider you have to call IdentityApplicationManagementService. You can use IdentityApplicationManagementServiceStub to call IdentityApplicationManagementService. When you add OAuth configuration you have to call OAuthAdminService. You can use OAuthAdminServiceStub to call OAuthAdminService. After creating the service provider and OAuth configurations separately, you have to bind service provider with created OAuth configs.
Note that I will recommend to check the source code in UI classes which used to add service providers, OAuth configs and binding those two. Hope this helps.

Using Document Discovery service on a non-app engine service

I have been playing around with the RPC package in Dart which makes it easy to add a Document Discovery service to Dart server.
After a bit of Googling I found out about the API Discovery Service https://developers.google.com/discovery/ which explained how to create client code for a given Discovery Document.
I then found Google Cloud Endpoint which looks like the server end of the a Document Discovery service. Is this true.
My real question is that I would like to use the Document Discovery service on a standard web site that is based on (say) Spring and running (say) an embedded Jetty server? Is this possible or would my application be intertwined with the App Engine Technology?
You application just needs to provide a Document Discovery service.
It shouldn't be to hard to get the information what is expected out of the source of https://pub.dartlang.org/packages/discovery_api_client_generator which is the Dart client which generates Dart client code from discovery documents. As far as I know your service doesn't even need to provide the discovery documents. The discovery_api_client_generator package can also use discovery documents stored locally but the service is of course the preferred way if you want to make it available to everyone.
I would see it as equivalent to SOAP which also allows to create client code from meta-information provided as XML.
Also the shelf_rpc package doesn't need to run on AppEngine or Managed VM. You can run it locally or on any server you want.

Resources