How to use SOAP with Qlik - web-services

So I'm evaluating this tool called QLIK over BIRT which should be used to pull and represent data from a SOAP service.
In BIRT I basically just supply the WSDL and I'm done. If I want to do the same with QLIK they tell us in the tutorial to use an external tool to create the SOAP Request and then use it as POST in something they call "Web Connector", which I can't find anywhere in the UI.
Am I missing something here or is it basically not possible to use SOAP services with QLIK inside the tool?
Bonus points if you can tell me where this "Web Connector" is.
Also I find it pretty confusing that they offer a REST connection but no SOAP connection on the datasource selection page?
I did find a place to configure a SOAP service in a menu called "SalesForce" shich is as far as I understand some 3th party service. This all makes totally no sense to me.

There are a couple of options to do this as I understand it, however I've not worked with SOAP/WDSL myself.
Use the REST Connector which is included with Qlik Sense v2 but is also free for earlier versions of Qlik Sense and QlikView. This allows you to issue a POST command rather than a GET command. The request body would presumably be the XML.
Use the "General Web Connector" from "Qlik Web Connectors". This is an add-on that you have to subscribe to, so if the REST one works for you, there's probably not much reason to go for it. That said, the documentation for it is more useful with some worked examples. (The background here is that Qlik bought a company that made a tool called QVSource earlier this year - hence the overlap between these two approaches and why the documentation is still branded as QVSource)
Hope that helps, sorry I can't be more specific.

Related

How can I discover existing web services?

I'm sure I sound like a total noob with this question, and I've looked at a couple posts that are basically asking the same question in the title, but the body didn't give anything helpful to my skill or knowledge level.
In this post the OP mentioned that they did some "digging and drilling" to find out that there was a web service in REST format. In another post I found that the OP was using "web console" to look at the activity of a website they were visiting.
I would really like to have more knowledge and methods for finding web services that I can reference and use is some of my new or updated applications, whether RESTful or not. In summary, how do I "dig and drill" to find that a site has a web service I can use programmatically?
The only sensible way to find web services that you can use is to ask.
If the service is intended for your use, then you will be told that.
If the service is not intended for your use, then you will be told that.
If you use a service that is not intended for your use, then that will generally be a bad thing.

How can I find what services are offered in a WSDL file?

I am a SOAP/WebServices newbie, and have been given a WSDL file that has a bunch of web services that I can connect to.
What is the easiest way to parse this and show me what services are offered, and what the input and output parameters are that are required? I really don't want anything more than this, but for whatever reason I can't seem to google an answer.
The closest I've gotten is using wsdl2java from Apache Axis, however it creates a whole bunch of Java objects. What I really want is very basic, which is give me a list of all of the services available, and the input/output parameters.
Does such a thing exist or do I need to build this myself?
Without installing anything I suppose this link would work but it requires that your WSDL be web accessible...
http://www.validwsdl.com/
Other online parsers may be better. Personally I'd recommend installing Eclipse with the web services plugin or the demo version of SOAPSonar, but if you only need to peek at what a WSDL offers without having to dig through the XML, then the above link might be an acceptable option.

how connect to echonest from enyo

I am new to Enyo and web services. I am looking to build a web page with Enyo that will require use of Echonest. Can anyone help me understand how to connect to the Echonest service from inside Enyo and whether to use SOAP, REST, or something else?
I assume you are talking about the Echo Nest found here: http://the.echonest.com ?
Briefly glancing at their API, you may not have to use SOAP or REST since everything is accessible with simple GET requests through the Web service. It looks like the hardest part of using their API will be generating OAuth signatures for authenticated requests.
As far as the enyo.WebService, http://enyojs.com/api/#enyo.WebService, goes, you should be able to include the kind, set the URL and call the .send() method on it. Then you response handler would get the data back (I recommend json) so you can do what you will with it.
Another option would be to use enyo.Ajax, http://enyojs.com/api/#enyo.Ajax, directly. enyo.WebService wraps that and provides a familiar (to Enyo 1 developers) way to use it.

Web Service Responses of Magento API

Can some people offer some light on the following questions? I believe that the following questions are very much debatable, but I just want to know the mere facts which will enlighten me & of course many others viewing this general question post.
Why does Magento API produces Web Service Responses in XML format & not in JSON format? There should be some advantages in producing the responses in XML format. I want to know those advantages mainly.
In Magento terminology, there are two API versions mentioned - "Normal API" (api/soap) & "API v2 (api/v2_soap)". What's the difference (mainly the advantages) between these two versions, & where does WSDL fit in?
If I'm to create a new Web Service, should I be targeting SOAP v1 format, or the SOAP v2 format, or both of these formats?
Can the Web Service create a general definition of WSDL, based on my requirements, in Magento? What I want is that I want to know whether the "wsdl.xml" file (residing in the "etc" folder of the Magento module) for any particular Magento API module can be generated dynamically? If I provide my required API method name, along with all the property names, types, and also the Response data types, then will I get the "wsdl.xml file dynamically generated with all the Complex Types & Methods & Messages properly mentioned?"
If possible, please provide some good links, from where this spider-webs of Magento Web Services can be thoroughly cleared.
Also, please consider my expertise in this field of Web Service as a novice one, so that based on any valuable input, I can re-frame the question.
Help appreciated & thanks a lot to everybody.
My Main point of asking this question is that I want to make new custom APIs which can be used by any systems, whether it be ERP / CRM / SAP / Cloud / anything in general.
P.S.
I tried posting this question in the Programmers Stack Exchange area, but due to the lack of available required tags (like magento, wsdl & soap), I had to post it here. If possible & required, please transfer this question to proper stack exchange area.
API is not for ajax(frontend), but to integrate Magento (frontend shop) with different ERP, CRM, SAP (backend tools) systems - to import data and get reports. That's why it's using XML.
This is not magento's terminology. This is done mainly for legacy support. So you have to use lates one - v2.
What means general definition of WSDL? WSDL describes published functionality - available calls/resources. If you don't need it you need to overwrite configuration files to not publish everything but only necessary ones or do this form admin area.
Could you tell more clear and more technically what do you need to do with API?
The API works great for normal PHP programming where you want to get something out of Magento. 'Normal' API works fine with PHP, furthermore, the resultant XML is very easy to work with in comparison to the XML that gets churned out by other APIs.
Some people have said that the Magento API is slow, which it is. However, if you move the same code into a Magento program then it still takes forever, the API code isn't much of a burden.

How should I compensate for a bad WSDL?

I've come across several examples of SOAP-based web services where automated tooling fails to build a client that works.
Investigating these examples leads me to believe that the WSDL the service uses to describe itself doesn't quite match the service that's being provided. Maybe a wrong type somewhere, a different data structure - something.
I'm unsure what the most appropriate response is - if we assume that the obvious one (get the provider to fix their stuff) isn't available.
Some options I can think of:
Make a fixed WSDL?
Hack the generated code?
Any other options?
No good options?
What good experiences have people had? What works in a real environment?
Thanks
I'd try for the first option, make a fixed wsdl. If that doesn't work then you could fall back on hacking the generated code.
Of course if the service is radically different from the WSDL you might not have much luck with those 2 options.
If you're lucky there's another way. Some web service frameworks support returning a dynamically generated WSDL.
I know with an AXIS 1.4 service you can do a GET on the service url + '?WSDL' and get back a dynamically generated WSDL.
e.g. http://foo.com/service/?WSDL
First I would try to confirm if the tool created a correct binding for the WSDL. If the WSDL is correct and the tool generates bad bindings which do not result in correct SOAP request / response processing, the tool author might provide a fix or a workaround.