Page History
...
You can use pre-built Java functions to call Yellowfin API. This makes development a little bit easier as you are using pre-built functions, rather than configuring each request manually.
Tip |
---|
The code samples regarding this method can be found in the development/examples/webservices folder. See the jsp files with ‘api’ in their names. A good starting point is copying files with ‘mobile’ in their names, into the Yellowfin ROOT folder and explore. |
Anchor | ||||
---|---|---|---|---|
|
Performing SOAP Calls
Performing direct SOAP calls using Java generated stubs off Yellowfin WSDL.
All the code samples under Administration Service and Report Service sections are explained using SOAP calls in Java. In this Wiki, all the examples of using Yellowfin web services are explained assuming that you call Yellowfin API from Yellowfin Tomcat (that means you use JSP and all your files go to Yellowfin/appserver/webapps/ROOT folder). Using languages other than Java will not bring much complexity to the code.
Use this command to initialize the Administration web services:
Code Block | ||
---|---|---|
| ||
AdministrationServiceService s_adm = new AdministrationServiceServiceLocator(<host>,<port>,<ServicePath>, <ssl>); AdministrationServiceSoapBindingStub adminService = (AdministrationServiceSoapBindingStub) s_adm.getAdministrationService(); |
Use this command to initialize the Report web services:
Code Block | ||
---|---|---|
| ||
ReportServiceService s_rpt = new ReportServiceServiceLocator(<host>, <port>, <ServicePath>, <ssl>); ReportServiceSoapBindingStub reportService = (ReportServiceSoapBindingStub) s_rpt.getReportService(); |
See below for an explanation of these parameters:
The primary objects include:
Expand | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
This object defines the type of call being made to the web service.
Object parameters:
All parameters have corresponding “get” and “set” methods. For instance:
It is not necessary to define all the parameters; each web service call has a list of the required parameters. Unspecified parameters will have a null value by default. There are, however, mandatory parameters for any request, listed below:
Other parameters will be required depending on the function value. Each request must contain the web service user details, that is who can call Yellowfin web services. This must be an existing user with the “Web services” role enabled, and these details should be specified as loginId, password, orgId.
|
Expand | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
This object is returned by the web service.
Parameters of this object:
All parameters have corresponding “get” and “set” methods. For instance:
|
Storing Yellowfin Session ID
Any Every response retrieves a Yellowfin session ID. Each time you a call to Yellowfin is made without specifying a session ID, Yellowfin opens a new session. It However, this is not suitable for some web services (like such as when passing dashboard filters to dashboard reports; in this case, all the reports must be called within the same Yellowfin session) or as there may be a memory issue with too many sessions being opened. You can save response sessionId parameter and feed that To overcome this problem, you could store the response parameter, sessionId, and pass it to the next calls:
Code Block | ||
---|---|---|
| ||
String savedSessionID = ssr.getSessionId(); ... AdministrationServiceRequest sr = new AdministrationServiceRequest(); sr.setSessionId(savedSessionID); |
Code Samples for Administration Services
Assuming you have Yellowfin running on 8080 http port 8080 with SSL disabled, initializing see the following example to initialize an Administration service will be:
Code Block | ||
---|---|---|
| ||
AdministrationServiceService s_adm = new AdministrationServiceServiceLocator("localhost",8080,"/services/AdministrationService", false); AdministrationServiceSoapBindingStub adminService = (AdministrationServiceSoapBindingStub) s_adm.getAdministrationService(); |
Once you configure the request, you can call Yellowfin using the remoteAdministrationCall() function of the AdministrationServiceSoapBindingStub object:
Code Block | ||
---|---|---|
| ||
AdministrationServiceResponse rs = adminService.remoteAdministrationCall(rsr); |
Code Samples for Report Services
Assuming you have Yellowfin running on 8080 http port with SSL disabled, initializing Report service will be see the following example to initialize a Report service:
Code Block | ||
---|---|---|
| ||
ReportServiceService s_rpt = new ReportServiceServiceLocator("localhost",8080,"/services/ReportService", false); ReportServiceSoapBindingStub reportService = (ReportServiceSoapBindingStub) s_rpt.getReportService(); |
Once you configure the request, you can call Yellowfin using the remoteReportCall() function of the ReportServiceSoapBindingStub object:
Code Block | ||
---|---|---|
| ||
ReportServiceResponse rs = reportService.remoteReportCall(rsr); |
Other Languages
When developing against Yellowfin web services, it is possible to generate functional stubs against the WSDL definitions. These definitions can be found at http://<yellowfin-server>:<port>/services, for instance, http://localhost:8080/services.
The functional stubs will allow developers to make standard function calls in their native programming language which will directly communicate with the Web Services provided by Yellowfin. The process of creating function stubs should also generate any objects required by the web service.
Expand | ||
---|---|---|
| ||
With .NET, we recommend generating stubs from JAX web services. You should be able to hit the JAX web services at: http://<yellowfin-host>/webservices/Hello. It will display something like this: Connect your clients to the listed WSDL URLs.
|
Expand | ||
---|---|---|
| ||
You can use Axis generated WSDL (http://<yellowfin-server>:<port>/services) with PHP. See examples of performing SSO using PHP.
|
Section | |||||||
---|---|---|---|---|---|---|---|
|