API Manager 1.7.0: disable WSDL from being loaded into registry - wsdl

When you register a service in the WSO2 API Manager via the Web or through REST interface, you can add a WSDL to your service description. This WSDL is interpeted and loaded into the WSO2 API Manager registry. Is it possible to disable this? Only register the WSDL URL itself.
In our case we have the WSDL and XSD stored somewhere else. We do not want the API manager stores this defintion again in his own registry.

The purpose to store WSDL is, if we store only the actual wsdl url and if we display that in store, user can directly invoke the backend service.(not via gateway)So, user will not use throttling there.
What we do is, when we store wsdl in APIManager, we change the service URLs in the original wsdl to point the gateway URL. So, when user creates request from the WSDL , always he will see the gateway URL only.

Related

WSO2 API Manager WSDL Endpoint

I am trying to Expose a WSDL in WSO2 API Manager, by selecting WSDL Endpoint in the Implementation tab.
And providing the service name and Port respectively.
But while testing the same, from Api Store, the response is 0 - No response body. Also the WSDL is not being invoked.
Please help with this.
I have checked many blogs and videos, but can't find exact solution.
Ex WSDL that I am using is: https://ws.cdyne.com/phoneverify/phoneverify.asmx?wsdl
Used the same wsdl and expose the service using api manager and got the response from the web server. But as per the query posted above you are testing the soap service using api store. There may be mismatch the param you are posting to web service. Therefore use tool like soapUI to test the web service.
User the followings while exposing the SOAP Service
SOAP WSDL - https://ws.cdyne.com/phoneverify/phoneverify.asmx?wsdl
SOAP Endpoint - https://ws.cdyne.com/phoneverify/phoneverify.asmx
Reference -
[1] http://blog.rajkumarr.com/2015/08/how-to-expose-soap-services-as-soap-services-via-wso2-api-manager.html
[2] http://www.vitharana.org/2015/01/soap-web-service-as-rest-api-using-wso2.html
[3] https://docs.wso2.com/display/AM191/Invoke+an+API+using+a+SOAP+Client

How to set scope to client application in wso2

I have set the wso2 api manager 1.6 and I have a rest api at the backend to which this is calling.
I know that wso2 provides Oauth 2.0 support. but I am not able to find out how scopes are handled.
This is my specific scenario:
I have a client application to which i want to assign scope view Photos. And another client application with a scope to delete photos.
Now in the Api manager I want to restrict access to the delete api only to the client application which has the delete photos scope.
How can this be handled in wso2?.
One approach is to explicitly get information about scopes in your application and perform manual validation (or through some framework, like Spring Security in Java world).
Scope information for oauth token can be found by sending request to validation web service at Identity Server (or Api Manager server, if you do not have separate IS).
Validation service endpoint is: services/OAuth2TokenValidationService/
WSDL file for this SOAP service can be found in their repository
EDIT:
Since Api Manager 1.7 you can define this security settings in manager itself. Check out this blogpost for details: http://nuwanzone.blogspot.ru/2014/06/oauth-20-scopes-with-wso2-api-manager.html

WSDL and WEB Service

I am new to web services even after watching a lot of videos and reading a large number of tutorials on WSDL I am unable to understand how to get URL for a method of web service from WSDL. the WSDL file I am provided with is this http://cons.epackagepro.com/m/Service.svc?wsdl I want to call a login method of this web service. Can somebody explain that how to extract exact url for a web service/web service method from a WSDL file and how to pass parameters to a web service (in this particular case I want to call login). All the tutorials I watched tells that service tag of WSDL file has an address tag which tells about the url of the service but this WSDL does not contains one.
One last thing, can I call this service with soap, even soap is not used in binding. And what if I want to call it using HTTP GET / HTTP POST method, how parameters will be provided.
My main concern is how to get url of a web service / web service method from WSDL? The platform for which I want to use it is IOS.
Thanks in advance.

Changing URL for JSON calls to ASMX web service

We are making calls from our web app to a 'local' ASMX web service via JSON. I.e. the service is located in the same application.
The URL is configurable. When we change the URL, the call to the JSON service no longer works. We can see via fiddler that the URL is being called and appears correct.
We can also retrieve the WSDL via the new URL.
Are there any settings hard wired into an ASMX service that we might have missed?

Obtaining WSDL from a Web Service Endpoint Address

Is there a generic way of obtaining the service WSDL by using the service endpoint address. I know this can be done by appending ?wsdl to Axis2 services. But does this property hold for other web service containers as well?
?wsdl works for all web services. So you can follow it.

Resources