This function is used to set or update the status of a report comment. The status options include: OPEN, EDITED, RESOLVED and DELETED. Request ElementsThe following elements will be passed with this request: Request Element | Data Type | Description |
---|
LoginId | String | Yellowfin web services administrator user Id. This can be the user ID or the email address, depending on the Logon ID method. This Yellowfin account must have the “web services” role enabled, and must belong to the Default (i.e. Primary) Org. | Password | String | Password of the above account. | OrgId | Integer | Default (i.e. Primary) organization ID within Yellowfin. Always set this to 1. | ReportRequest | String | Web services function. Set this to "COMMENTSTATUS". | ReportComment | | Object containing details of the report comment whose status is to be changed. See table below. | OrgRef | String | Client Org Internal Reference Id (optional). Use this to search for the report in the referenced Client Org. If this is not set, then the new user will be created in the default (primary) org. | ReportId | Integer | You can provide a report ID to search for a particular report. |
These are the mandatory parameters that you need to set in the AdministrationPerson object to create a new user: ReportComment Element | Data Type | Description | Retrieval Code |
---|
CommentId | Integer | ID of comment | getCommentId()
| StatusCode | String | Provide the new status. The status option include: OPEN, EDITED, RESOLVED and DELETED. | getStatusCode()
|
Request ExampleThe following SOAP example shows the parameters that you can pass to this call: <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:web="http://webservices.web.mi.hof.com/">
<soapenv:Header/>
<soapenv:Body>
<web:remoteReportCall>
<arg0>
<loginId>admin@yellowfin.com.au</loginId>
<password>test</password>
<orgId>1</orgId>
<reportRequest>COMMENTSTATUS</reportRequest>
<reportId>60712</reportId>
<reportComment>
<commentId>12345</commentId>
<statusCode>OPEN</statusCode>
</reportComment>
</arg0>
</web:remoteReportCall>
</soapenv:Body>
</soapenv:Envelope> |
Response ElementsThe response returned will contain these parameters: Response Element | Data Type | Description |
---|
StatusCode | String | Status of the web service call. Possible values include: |
Response ExampleThe service will return the below response, according to our SOAP example: <S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
<S:Body>
<ns2:remoteReportCallResponse xmlns:ns2="http://webservices.web.mi.hof.com/">
<return>
<canDrill>false</canDrill>
<dashboardEnabled>false</dashboardEnabled>
<errorCode>0</errorCode>
<messages>Successfully Authenticated User: admin@yellowfin.com.au</messages>
<messages>Web Service Request Complete</messages>
<private>false</private>
<sessionId>6dc344c3e5dee88864998f4acc17d676</sessionId>
<statusCode>SUCCESS</statusCode>
</return>
</ns2:remoteReportCallResponse>
</S:Body>
</S:Envelope> |
InstructionsSee below for step-by-step instructions on how to perform this call, using a Java example: This function requires a ReportComment object to specify the new status to be given to the report:
ReportComment rc=new ReportComment(); |
You can even specify which report's comment to change the status of:
Specify which comment to change the status of, and the new status option:
Once the request is configured, carry out the call:
ReportServiceResponse rs=rsc.remoteReportCall(rsr); |
Initialize the Report web service. Click here to learn how to do this.
|
Complete ExampleBelow is a full example of this function. To use it for yourself, carry out the following the steps: - Copy the code and save it as ws_commentstatus.jsp.
- Put the file in the root folder, which is Yellowfin/appserver/webapps/ROOT.
- Adjust host, port, and admin user to add details according to your environment.
- Run http://<host>:<port>/ws_commentstatus.jsp from your Internet browser.
<%
/* ws_commentstatus.jsp */
%>
<%@ page language="java" contentType="text/html; charset=UTF-8" %>
<%@ page import="com.hof.util.*, java.util.*, java.text.*" %>
<%@ page import="com.hof.web.form.*" %>
<%@ page import="com.hof.mi.web.service.*" %>
<%@ page import="javax.xml.bind.JAXBContext" %>
<%@ page import="javax.xml.bind.Marshaller" %>
<%@ page import="java.io.StringWriter" %>
<%@ page import="javax.xml.bind.JAXBElement" %>
<%@ page import="javax.xml.namespace.QName" %>
<%
/*
Create Group
Using Java generated stubs rather that using the Yellowfin webservices API..
*/
ReportService rsc = new ReportService(); //("localhost", 8080, "admin@yellowfin.com.au", "test", "/services/ReportService");
ReportServiceRequest rsr = new ReportServiceRequest();
rsr.setLoginId("admin@yellowfin.com.au");
rsr.setPassword("test");
rsr.setOrgId(new Integer(1));
rsr.setReportRequest("COMMENTSTATUS");
ReportComment rc=new ReportComment();
rc.setCommentId(12345);
rc.setReportId(60712);
rsr.setReportComment(rc);
ReportServiceResponse rs=rsc.remoteReportCall(rsr);
if ("SUCCESS".equals(rs.getStatusCode())) {
JAXBContext context = JAXBContext.newInstance(ReportServiceResponse.class);
Marshaller m = context.createMarshaller();
m.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.TRUE); // To format XML
JAXBElement<ReportServiceResponse> rootElement = new JAXBElement<ReportServiceResponse>(new QName("ReportServiceResponse"), ReportServiceResponse.class, rs);
m.marshal(rootElement,out);
//out.write("Success");
} else {
out.write("Failure");
out.write(" Code: " + rs.getErrorCode());
}
%>
|
|