Oracle® Business Intelligence New Features Guide Release 10.1.3.3.3 Part No. E10416-04 |
|
Previous |
Next |
This chapter explains the Oracle Business Intelligence Publisher (Oracle BI Publisher) Web services APIs and related information. This chapter assumes a basic understanding of Web services and application programming interfaces. It contains the following topics:
PublicReportService is the Web service that wraps the Oracle BI Publisher public APIs. Starting with release 10.1.3.3.1, the following operations are supported. These operations can be grouped into three categories:
Operations for validation of privileges
Operations to get information about reports and the repository
Operations to run and schedule reports
After you have installed or deployed Oracle BI Publisher, there is a unique URL associated with PublicReportService:
http://<host>:<port>/xmlpserver/services/PublicReportService?wsdl
Enter this URL in your browser, substituting in the correct host and port number, to display the full Web Service Description Language definition for the publicly supported BI Publisher Web service.
On some J2EE servers, this URL may not correctly display the WSDL for this Web service. Please refer to the section Section 23.5, "Oracle BI Publisher Web Services WSDL" to see the full definition.
This section covers the following topics:
Base Data Types
XML-to-Java Data Type Mappings
Complex Types
Oracle BI Publisher Web services use the following base data types:
Base Type | Description | Example(s) |
---|---|---|
xsd:boolean | Boolean | true, false |
xsd:dateTime | Date and Time | 2007-10-26T21:32:52 |
xsd:int | Integer | 23 |
xsd:string | String | /Home/Shared/HR Reports/Salary Report |
xsd:base64Binary | 64 bit binary | A document in PDF, HTML, etc. format |
BI Publisher Web Services use RPC-encoded formats. The mapping between Web service XML schema data types and Java data types depends on the SOAP development environment. The following table shows mappings for the Oracle JDeveloper environment:
XML Schema | Oracle JDeveloper |
---|---|
xsd:boolean | java.lang.Boolean |
xsd:dateTime | java.util.Date |
xsd:int | java.lang.Integer |
xsd:string | java.lang.String |
xsd:base64Binary | java.lang.Byte |
Oracle BI Publisher Web services define and use the following complex types:
<complexType name="ArrayOf_xsd_string"> <complexContent> <restriction base="soapenc:Array"> <attribute ref="soapenc:arrayType" wsdl:arrayType="xsd:string[]"/> </restriction> </complexContent> </complexType>
Description: an array of strings used in other complex types.
<complexType name="ParamNameValue"> <sequence> <element name="multiValuesAllowed" type="xsd:boolean" /> <element name="name" nillable="true" type="xsd:string" /> <element name="values" nillable="true" type="impl:ArrayOf_xsd_string" /> </sequence> </complexType>
Description: a parameter name and array of parameter values.
<complexType name="ArrayOfParamNameValue"> <complexContent> <restriction base="soapenc:Array"> <attribute ref="soapenc:arrayType" wsdl:arrayType="impl:ParamNameValue[]" /> </restriction> </complexContent> </complexType>
Description: an array of ParamNameValues.
<complexType name="ReportDefinition"> <sequence> <element name="defaultOutputFormat" nillable="true" type="xsd:string" /> <element name="defaultTemplateId" nillable="true" type="xsd:string" /> <element name="parameterNames" nillable="true" type="impl:ArrayOf_xsd_string" /> <element name="reportParameterNameValues" nillable="true" type="impl:ArrayOfParamNameValue" /> <element name="templateIds" nillable="true" type="impl:ArrayOf_xsd_string" /> </sequence> </complexType>
Description: object returned from getReportDefinition
.
<complexType name="ItemData"> <sequence> <element name="absolutePath" nillable="true" type="xsd:string" /> <element name="creationDate" nillable="true" type="xsd:dateTime" /> <element name="displayName" nillable="true" type="xsd:string" /> <element name="fileName" nillable= "true" type="xsd:string" /> <element name="lastModified" nillable="true" type="xsd:dateTime" /> <element name="lastModifier" nillable="true" type="xsd:string" /> <element name="owner" nillable="true" type="xsd:string" /> <element name="parentAbsolutePath" nillable="true" type="xsd:string" /> <element name="type" nillable="true" type="xsd:string" /> </sequence> </complexType>
Description: description of an object contained in the report repository.
<complexType name="ArrayOfItemData"> <complexContent> <restriction base="soapenc:Array"> <attribute ref="soapenc:arrayType" wsdl:arrayType="impl:ItemData[]" /> </restriction> </complexContent> </complexType>
Description: an array of ItemData - objects contained in the report repository.
<complexType name="ReportRequest"> <sequence> <element name="attributeFormat" nillable="true" type="xsd:string"/> <element name="attributeLocale" nillable="true" type="xsd:string"/> <element name="attributeTemplate" nillable="true" type="xsd:string"/> <element name="parameterNameValues" nillable="true" type="impl:ArrayOfParamNameValue"/> <element name="reportAbsolutePath" nillable="false" type="xsd:string"/> </sequence> </complexType>
Description: the collection of settings needed to run a report. Note that allowable values for attributeFormat
will vary according to the type of template used (for example, PDF templates can only generate PDF output.)
<complexType name="ReportResponse"> <sequence> <element name="reportBytes" nillable="true" type="xsd:base64Binary" /> <element name="reportContentType" nillable="true" type="xsd:string" /> <element name="reportLocale" nillable="true" type="xsd:string" /> </sequence> </complexType>
Description: the document (in whatever file format attributeFormat
is set to in ReportRequest
), document type, and document locale that is returned from the runReport operation.
<complexType name="EMailDeliveryOption"> <sequence> <element name="emailBCC" nillable="true" type="xsd:string"/> <element name="emailBody" nillable="true" type="xsd:string"/> <element name="emailCC" nillable="true" type="xsd:string"/> <element name="emailFrom" nillable="false" type="xsd:string"/> <element name="emailReplyTo" nillable="true" type="xsd:string"/> <element name="emailSubject" nillable="false" type="xsd:string"/> <element name="emailTo" nillable="false" type="xsd:string"/> </sequence> </complexType>
Description: the options to set for e-mail delivery of a report.
<complexType name="FaxDeliveryOption"> <sequence> <element name="faxNumber" nillable="false" type="xsd:string"/> <element name="faxServer" nillable="false" type="xsd:string"/> </sequence> </complexType>
Description: the options to set for facsimile (fax) delivery of a report.
<complexType name="FTPDeliveryOption"> <sequence> <element name="ftpServerName" nillable="false" type="xsd:string"/> <element name="ftpUserName" nillable="false" type="xsd:string"/> <element name="ftpUserPassword" nillable="false" type="xsd:string"/> <element name="remoteFile" nillable="false" type="xsd:string"/> <element name="sftpOption" type="xsd:boolean"/> </sequence> </complexType>
Description: the options to set for FTP delivery of a report.
<complexType name="LocalDeliveryOption"> <sequence> <element name="destination" nillable="false" type="xsd:string"/> </sequence> </complexType>
Description: the options to set for delivery of a report to the BI Publisher repository.
<complexType name="PrintDeliveryOption"> <sequence> <element name="printNumberOfCopy" nillable="true" type="xsd:string"/> <element name="printRange" nillable="true" type="xsd:string"/> <element name="printSide" nillable="true" type="xsd:string"/> <element name="printTray" nillable="true" type="xsd:string"/> <element name="printerName" nillable="false" type="xsd:string"/> </sequence> </complexType>
Description: the options to set for printer delivery of a report.
<complexType name="WebDAVDeliveryOption"> <sequence> <element name="deliveryAuthType" nillable="true" type="xsd:string"/> <element name="deliveryAuthTypeBasic" nillable="true" type="xsd:string"/> <element name="deliveryAuthTypeDigest" nillable="true" type="xsd:string"/> <element name="password" nillable="true" type="xsd:string"/> <element name="remoteFilePath" nillable="false" type="xsd:string"/> <element name="server" nillable="false" type="xsd:string"/> <element name="userName" nillable="true" type="xsd:string"/> </sequence> </complexType>
Description: the options to set for Web-based Distributed Authoring and Versioning (WebDAV) delivery of a report.
<complexType name="DeliveryRequest"> <sequence> <element name="emailOption" nillable="true" type="impl:EMailDeliveryOption"/> <element name="faxOption" nillable="true" type="impl:FaxDeliveryOption"/> <element name="ftpOption" nillable="true" type="impl:FTPDeliveryOption"/> <element name="localOption" nillable="true" type="impl:LocalDeliveryOption"/> <element name="printOption" nillable="true" type="impl:PrintDeliveryOption"/> <element name="webDAVOption" nillable="true" type="impl:WebDAVDeliveryOption"/> </sequence> </complexType>
Description: an object that provides the options to deliver a report to multiple destinations.
<complexType name="ScheduleRequest"> <sequence> <element name="deliveryRequest" nillable="false" type="impl:DeliveryRequest"/> <element name="endDate" nillable="true" type="xsd:dateTime"/> <element name="jobCalendar" nillable="true" type="xsd:string"/> <element name="jobLocale" nillable="true" type="xsd:string"/> <element name="jobTZ" nillable="true" type="xsd:string"/> <element name="notificationTo" nillable="true" type="xsd:string"/> <element name="notifyWhenFailed" type="xsd:boolean" /> <element name="notifyWhenSuccess" type="xsd:boolean" /> <element name="notifyWhenWarning" type="xsd:boolean" /> <element name="repeatCount" type="xsd:int"/> <element name="repeatInterval" type="xsd:int"/> <element name="reportRequest" nillable="false" type="impl:ReportRequest"/> <element name="saveDataOption" type="xsd:boolean" /> <element name="saveOutputOption" type="xsd:boolean" /> <element name="scheduleBurstringOption" type="xsd:boolean" /> <element name="schedulePublicOption" type="xsd:boolean" /> <element name="startDate" nillable="true" type="xsd:dateTime"/> <element name="useUTF8Option" type="xsd:boolean" /> <element name="userJobName" nillable="true" type="xsd:string"/> </sequence> </complexType>
Description: the options to schedule a report.
<complexType name="AccessDeniedException"> <sequence /> </complexType>
Description: message returned when the user credentials do not have adequate privileges to complete an operation.
<complexType name="OperationFailedException"> <sequence /> </complexType>
Description: the message returned when an operation fails.
<complexType name="InvalidParametersException"> <sequence /> </complexType>
Description: message returned when invalid parameters are supplied for a Web service operation.
The operations available in the Oracle BI Publisher Web services can be described by the following categories:
Operations for validation of privileges
Operations to get information about reports and the repository
Operations to run and schedule reports
This section describes the input message, output message, possible exception messages and also provides sample code for each operation.
Each operation listed in the following section includes sample code. The sample code is based on Apache Axis technology. Before working with the examples you must ensure you have included the prerequisite files in your classpath and generated the required BI Publisher stub classes to import into your project.
Include the Required jar Files
Include the following jar files in your classpath (these files can be obtained from the Web):
activation.jar
mail-1.4.jar
Include xmlpserver.jar
file (installed with Oracle BI Publisher) in your classpath. This is to ensure that you have all the required request and response objects. This way you will not need to generate response and request stub objects.
Generate the Required BI Publisher Stub Classes
To generate the required BI Publisher stub classes to import to your project for this sample, perform the following:
Download the BI Publisher Web services WSDL.
Run the following in a command file:
export CLASSPATH="D:/bin/axis-1_4/lib/axis.jar;D:/bin/axis-1_4/lib/jaxrpc.jar;D:/bin/axis-1_4/lib/saaj.jar;D:/bin/axis-1_4/lib/commons-logging.jar;D:/bin/axis-1_4/lib/commons-discovery.jar;D:/bin/axis-1_4/lib/wsdl4j.jar"echo $CLASSPATH java org.apache.axis.wsdl.WSDL2Java PublicReportService.wsdl
This will generate the following BI Publisher stub classes for you to import into your project:
import com.oracle.xmlns.oxp.service.PublicReportService.ItemData; import com.oracle.xmlns.oxp.service.PublicReportService.ReportRequest; import com.oracle.xmlns.oxp.service.PublicReportService.ReportResponse; import com.oracle.xmlns.oxp.service.PublicReportService.ParamNameValue; import com.oracle.xmlns.oxp.service.PublicReportService.ReportDefinition; import com.oracle.xmlns.oxp.service.PublicReportService.ScheduleRequest; import com.oracle.xmlns.oxp.service.PublicReportService.DeliveryRequest; import com.oracle.xmlns.oxp.service.PublicReportService.EMailDeliveryOption;
Import the Required Apache Axis and Java Stub Classes
In addition to importing the BI Publisher Web service stub classes that you generated, you must also import the following Apache Axis and Java classes:
import java.io.FileOutputStream; import java.io.OutputStream; import java.util.Calendar; import org.apache.axis.client.Call; import org.apache.axis.client.Service; import org.apache.axis.encoding.XMLType; import org.apache.axis.encoding.ser.BeanDeserializerFactory; import org.apache.axis.encoding.ser.BeanSerializerFactory; import javax.xml.namespace.QName; import javax.xml.rpc.ParameterMode; import java.net.URL;
Use validateLogin to validate that a UserID and Password have the privilege to access the Oracle BI Publisher report server.
input message | validateLoginRequest
<wsdl:message name="validateLoginRequest"> <wsdl:part name="userID" type="xsd:string"/> <wsdl:part name="password" type="xsd:string"/> </wsdl:message> |
output message | validateLoginResponse
<wsdl:message name="validateLoginResponse"> <wsdl:part name="validateLoginReturn" type="xsd:boolean"/> </wsdl:message> |
Example 23-1 Sample Code for validateLogin
public static void validateLogin() throws Exception { final String bipEndpoint = "http://mycompany.com:9999/xmlpserver/services/PublicReportService?wsdl"; final String bipNamespace = "http://xmlns.oracle.com/oxp/service/PublicReportService"; final String reportPath = "/HR Manager/Employee Salary Report/Employee Salary Report.xdo"; service = new Service(); call = (Call) service.createCall(); call.setTargetEndpointAddress(new URL(bipEndpoint)); System.out.println("TESTING login Service BEGIN"); call.setOperationName(new QName(bipNamespace, "validateLogin")); call.addParameter("userID", XMLType.XSD_STRING, ParameterMode.IN); call.addParameter("password", XMLType.XSD_STRING, ParameterMode.IN); call.setReturnType(XMLType.XSD_BOOLEAN); // issue the request Boolean valid = (Boolean) call.invoke( new Object[] {"administrator", "Administrator"}); if (valid) { System.out.println("user valid"); } else { System.out.println("user invalid"); } System.out.println("Success for validateLogin"); }
Use hasReportAccess to validate that a UserID and Password have the privilege to access a specific report.
input message | hasReportAccessRequest
<wsdl:message name="hasReportAccessRequest"> <wsdl:part name="reportAbsolutePath" type="xsd:string"/> <wsdl:part name="userID" type="xsd:string"/> <wsdl:part name="password" type="xsd:string"/> </wsdl:message> |
output message | hasReportAccessResponse
<wsdl:message name="hasReportAccessResponse"> <wsdl:part name="hasReportAccessReturn" type="xsd:boolean"/> </wsdl:message> |
Possible exceptions:
InvalidParametersException
See Section 23.3.5, "Messages for Errors" for descriptions of the possible exceptions.
Example 23-2 Sample Code for hasReportAccess
public static void hasReportAccess(String reportPath) throws Exception { final String bipEndpoint = "http://mycompany.com:9999/xmlpserver/services/PublicReportService?wsdl"; //final String bipEndpoint = "http://12.123.8232.107/xmlpserver/services/PublicReportService?wsdl"; final String bipNamespace = "http://xmlns.oracle.com/oxp/service/PublicReportService"; service = new Service(); call = (Call) service.createCall(); call.setTargetEndpointAddress(new URL(bipEndpoint)); System.out.println("TESTING hasReportAccess BEGIN"); call.setOperationName(new QName(bipNamespace, "hasReportAccess")); call.addParameter("reportAbsolutePath", XMLType.XSD_STRING, ParameterMode.IN); call.addParameter("userID", XMLType.XSD_STRING, ParameterMode.IN); call.addParameter("password", XMLType.XSD_STRING, ParameterMode.IN); call.setReturnType(XMLType.XSD_BOOLEAN); // issue the request Boolean valid = (Boolean) call.invoke( new Object[] {reportPath, "administrator", "Administrator"}); if (valid==true) { System.out.println("User has access."); } else { System.out.println("User does not have access"); } System.out.println("Success for AccessLogin"); }
Use getFolderContents to get all of the items in a folder. This will return all the reports and folders contained in the specified folder. You can then use these items to determine what reports you might want to execute or what folders you may want to further search to identify a report.
input message | getFolderContentsRequest
<wsdl:message name="getFolderContentsRequest"> <wsdl:part name="folderAbsolutePath" type="xsd:string"/> <wsdl:part name="userID" type="xsd:string"/> <wsdl:part name="password" type="xsd:string"/> </wsdl:message> |
output message | getFolderContentsResponse
<wsdl:message name="getFolderContentsResponse"> <wsdl:part name="getFolderContentsReturn" type="impl:ArrayOfItemData"/> </wsdl:message> |
Possible exceptions:
InvalidParametersExceptionAccessDeniedException OperationFailedException
See Section 23.3.5, "Messages for Errors" for descriptions of the possible exceptions.
Example 23-3 Sample Code for getFolderContents
public static void getFolderContent(String reportPath) throws Exception { final String bipEndpoint = "http://mycompany.com:9999/xmlpserver/services/PublicReportService?wsdl"; final String bipNamespace = "http://xmlns.oracle.com/oxp/service/PublicReportService"; service = new Service(); call = (Call) service.createCall(); call.setTargetEndpointAddress(new URL(bipEndpoint)); System.out.println("TESTING getFolderContent Service BEGIN"); // register the ReportDefinition class QName reportDef = new QName(bipNamespace, "ReportDefinition"); call.registerTypeMapping(ReportDefinition.class, reportDef, BeanSerializerFactory.class, BeanDeserializerFactory.class); // register the ParamNameValue class QName nmvals = new QName(bipNamespace, "ParamNameValue"); call.registerTypeMapping(ParamNameValue.class, nmvals, BeanSerializerFactory.class, BeanDeserializerFactory.class); call.setOperationName(new QName(bipNamespace, "getFolderContents")); call.addParameter("reportAbsolutePath", XMLType.XSD_STRING, ParameterMode.IN); call.addParameter("userID", XMLType.XSD_STRING, ParameterMode.IN); call.addParameter("password", XMLType.XSD_STRING, ParameterMode.IN); call.setReturnClass(ItemData [].class); // issue the request ItemData items[] = (ItemData []) call.invoke( new Object[] { reportPath, "administrator", "Administrator"}); for (int i=0; i<items.length; i++) { System.out.println(items[i].getDisplayName()); } System.out.println("Success for GetFolderContent"); }
Use getReportDefinition to get information about a report such as default template, output type and a listing of template IDs. Once you have a list of template IDs you may wish to generate a report with a template other than the default.
input message | getReportDefinitionRequest
<wsdl:message name="getReportDefinitionRequest"> <wsdl:part name="reportAbsolutePath" type="xsd:string"/> <wsdl:part name="userID" type="xsd:string"/> <wsdl:part name="password" type="xsd:string"/> </wsdl:message> |
output message | getReportDefinitionResponse
<wsdl:message name="getReportDefinitionResponse"> <wsdl:part name="getReportDefinitionReturn" type="impl:ReportDefinition"/> </wsdl:message> |
Possible exceptions:
InvalidParametersException AccessDeniedException OperationFailedException
See Section 23.3.5, "Messages for Errors" for descriptions of the possible exceptions.
Example 23-4 Sample Code for getReportDefinition
public static void getReportDef(String xdofile) throws Exception { final String bipEndpoint = "http://mycompany.com:9999/xmlpserver/services/PublicReportService?wsdl"; final String bipNamespace = "http://xmlns.oracle.com/oxp/service/PublicReportService"; service = new Service(); call = (Call) service.createCall(); call.setTargetEndpointAddress(new URL(bipEndpoint)); System.out.println("BEGIN TESTING getReportDefinition"); // register the ReportDefinition class QName reportDef = new QName(bipNamespace, "ReportDefinition"); call.registerTypeMapping(ReportDefinition.class, reportDef, BeanSerializerFactory.class, BeanDeserializerFactory.class); // register the ParamNameValue class QName nmvals = new QName(bipNamespace, "ParamNameValue"); call.registerTypeMapping(ParamNameValue.class, nmvals, BeanSerializerFactory.class, BeanDeserializerFactory.class); call.setOperationName(new QName(bipNamespace, "getReportDefinition")); call.addParameter("reportAbsolutePath", XMLType.XSD_STRING, ParameterMode.IN); call.addParameter("userID", XMLType.XSD_STRING, ParameterMode.IN); call.addParameter("password", XMLType.XSD_STRING, ParameterMode.IN); call.setReturnClass(ReportDefinition.class); // issue the request ReportDefinition reportDefn = (ReportDefinition) call.invoke( new Object[] { xdofile, "administrator", "Administrator"}); System.out.println("Report Definition Returns with \n Default Output Format = " + reportDefn.getDefaultOutputFormat()); ParamNameValue params [] = reportDefn.getReportParameterNameValues(); if (params != null) { for (int i = 0; i < params.length; i++) { System.out.print("Parameter " + params[i].getName() + ":"); if (params[i].getValues() != null) { for (int j = 0; j < params[i].getValues().length; j++) System.out.print(" " + params[i].getValues()[j]); } else System.out.print(" null"); System.out.println(" - multiple values? " + params[i].isMultiValuesAllowed()); } } System.out.println("END TESTING getReportDefinition"); }
Use getReportParameters to get an array of report parameters and their default values. Once you have the list of parameters you can set parameter values before running or scheduling a report.
input message | getReportParametersRequest
<wsdl:message name="getReportParametersRequest"> <wsdl:part name="reportRequest" type="impl:ReportRequest"/> <wsdl:part name="userID" type="xsd:string"/> <wsdl:part name="password" type="xsd:string"/> </wsdl:message> |
output message | getReportParametersResponse
<wsdl:message name="getReportParametersResponse"> <wsdl:part name="getReportParametersReturn" type="impl:ArrayOfParamNameValue"/> </wsdl:message> |
Possible exceptions:
InvalidParametersException AccessDeniedException OperationFailedException
See Section 23.3.5, "Messages for Errors" for descriptions of the possible exceptions.
Example 23-5 Sample Code for getReportParameters
public static void getParameters(String xdofile) throws Exception { //final String bipEndpoint = "http://10.138.232.107/xmlpserver/services/PublicReportService?wsdl"; final String bipEndpoint = "http://mycompany.com:9999/xmlpserver/services/PublicReportService?wsdl"; final String bipNamespace = "http://xmlns.oracle.com/oxp/service/PublicReportService"; service = new Service(); call = (Call) service.createCall(); call.setTargetEndpointAddress(new URL(bipEndpoint)); System.out.println("BEGIN TESTING: getParameters Service"); // register the ReportRequest class QName reportReq = new QName(bipNamespace, "ReportRequest"); call.registerTypeMapping(ReportRequest.class, reportReq, BeanSerializerFactory.class, BeanDeserializerFactory.class); // register the ParamNameValue class QName nmvals = new QName(bipNamespace, "ParamNameValue"); call.registerTypeMapping(ParamNameValue.class, nmvals, BeanSerializerFactory.class, BeanDeserializerFactory.class); // Define parameters ParamNameValue[] paramNmVals = new ParamNameValue[2]; paramNmVals[0] = new ParamNameValue(false, false, "dept", null) ; paramNmVals[1] = new ParamNameValue(false, false, "emp", new String[] {"*"}) ; ReportRequest req = new ReportRequest("pdf", "en-US", "Simple", paramNmVals, xdofile); call.setOperationName(new QName(bipNamespace, "getReportParameters")); call.addParameter( "ReportRequest", reportReq, ParameterMode.IN ); call.addParameter("userID", XMLType.XSD_STRING, ParameterMode.IN); call.addParameter("password", XMLType.XSD_STRING, ParameterMode.IN); call.setReturnClass(ParamNameValue [].class); // issue the request ParamNameValue params [] = (ParamNameValue []) call.invoke( new Object[] { req, "administrator", "Administrator"}); if (params != null) { for (int i = 0; i < params.length; i++) { System.out.print("Parameter " + params[i].getName() + ":"); if (params[i].getValues() != null) { for (int j = 0; j < params[i].getValues().length; j++) System.out.print(" " + params[i].getValues()[j]); } else System.out.print(" null"); System.out.println(" - multiple values? " + params[i].isMultiValuesAllowed()); } } System.out.println("END TESTING: getParameters"); }
Use runReport to execute a report and return a generated document. Note that the document is returned in the specified file format.
input message | runReportRequest
<wsdl:message name="runReportRequest"> <wsdl:part name="reportRequest" type="impl:ReportRequest"/> <wsdl:part name="userID" type="xsd:string"/> <wsdl:part name="password" type="xsd:string"/> </wsdl:message> |
output message | runReportResponse
<wsdl:message name="runReportResponse"> <wsdl:part name="runReportReturn" type="impl:ReportResponse"/> </wsdl:message> |
Possible exceptions:
InvalidParametersException AccessDeniedException OperationFailedException
See Section 23.3.5, "Messages for Errors" for descriptions of the possible exceptions.
Example 23-6 Sample Code for runReport
public static void runReport() throws Exception { final String bipEndpoint = "http://mycompany.com:9999/xmlpserver/services/PublicReportService?wsdl"; final String bipNamespace = "http://xmlns.oracle.com/oxp/service/PublicReportService"; final String xdofile ="/HR Manager/Employee Salary Report/Employee Salary Report.xdo"; // set up the call object service = new Service(); call = (Call) service.createCall(); call.setTargetEndpointAddress(new URL(bipEndpoint)); // TEST Run Report System.out.println("TESTING runReport Service BEGIN"); // register the ReportRequest class QName reportReq = new QName(bipNamespace, "ReportRequest"); call.registerTypeMapping(ReportRequest.class, reportReq, BeanSerializerFactory.class, BeanDeserializerFactory.class); // register the ParamNameValue class QName nmvals = new QName(bipNamespace, "ParamNameValue"); call.registerTypeMapping(ParamNameValue.class, nmvals, BeanSerializerFactory.class, BeanDeserializerFactory.class); // register the BIPReportResponse class QName reportRespqn = new QName(bipNamespace, "ReportResponse"); call.registerTypeMapping(ReportResponse.class, reportRespqn, BeanSerializerFactory.class, BeanDeserializerFactory.class); // Default return type based on what we expect call.setOperationName( new QName(bipNamespace, "runReport" )); call.addParameter( "ReportRequest", reportReq, ParameterMode.IN ); call.addParameter("userID", XMLType.XSD_STRING, ParameterMode.IN); call.addParameter("password", XMLType.XSD_STRING, ParameterMode.IN); call.setReturnClass(ReportResponse.class); ParamNameValue[] paramNmVals = new ParamNameValue[2]; paramNmVals[0] = new ParamNameValue(false, "dept", null) ; paramNmVals[1] = new ParamNameValue(false, "emp", new String[] {"*"}) ; ReportRequest req = new ReportRequest("pdf", "en-US", "Simple", paramNmVals, xdofile); // issue the reques ReportResponse reportResp = (ReportResponse) call.invoke( new Object[] {req, "Administrator", "Administrator"} ); System.out.println("Return ReportResponse: ContentType = " + reportResp.getReportContentType()); // Save the report byte[] binaryBytes = reportResp.getReportBytes(); OutputStream out = new FileOutputStream("D:\\temp\\out.pdf"); out.write(binaryBytes); out.close(); System.out.println("Success for Run Report"); }
Use scheduleReport to schedule a report for execution and delivery to either printer, fax, email, WebDAV, ftp or simply save in the report repository. Jobs can be scheduled to run immediately, once, or on a recurring pattern and can have an end date to stop the recurrence. This operation returns JobID upon successfully scheduling the report job.
input message | scheduleReportRequest
<wsdl:message name="scheduleReportRequest"> <wsdl:part name="scheduleRequest" type="impl:ScheduleRequest"/> <wsdl:part name="userID" type="xsd:string"/> <wsdl:part name="password" type="xsd:string"/> </wsdl:message> |
output message | scheduleReportResponse
<wsdl:message name="scheduleReportResponse"> <wsdl:part name="scheduleReportReturn" type="xsd:string"/> </wsdl:message> |
Possible exceptions:
InvalidParametersException AccessDeniedException OperationFailedException
See Section 23.3.5, "Messages for Errors" for descriptions of the possible exceptions.
Example 23-7 Sample Code for scheduleReport
public static void scheduleReport() throws Exception { final String bipEndpoint = "http://mycompany.com:9999/xmlpserver/services/PublicReportService?wsdl"; final String bipNamespace = "http://xmlns.oracle.com/oxp/service/PublicReportService"; final String xdofile ="/HR Manager/Employee Salary Report/Employee Salary Report.xdo"; // set up the call object service = new Service(); call = (Call) service.createCall(); call.setTargetEndpointAddress(new URL(bipEndpoint)); // TEST Run Report System.out.println("TESTING scheduleReport Service BEGIN"); // register the ReportRequest class QName reportReq = new QName(bipNamespace, "ReportRequest"); call.registerTypeMapping(ReportRequest.class, reportReq, BeanSerializerFactory.class, BeanDeserializerFactory.class); // register the ParamNameValue class QName nmvals = new QName(bipNamespace, "ParamNameValue"); call.registerTypeMapping(ParamNameValue.class, nmvals, BeanSerializerFactory.class, BeanDeserializerFactory.class); // register the BIPReportResponse class (part of Schedule Request) QName reportRespqn = new QName(bipNamespace, "ReportResponse"); call.registerTypeMapping(ReportResponse.class, reportRespqn, BeanSerializerFactory.class, BeanDeserializerFactory.class); // register the Schedule Request class QName scheduleReq = new QName(bipNamespace, "ScheduleRequest"); call.registerTypeMapping(ReportRequest.class, reportReq, BeanSerializerFactory.class, BeanDeserializerFactory.class); // Default return type based on what we expect call.setOperationName( new QName(bipNamespace, "scheduleReport" )); call.addParameter( "ScheduleRequest", scheduleReq, ParameterMode.IN ); call.addParameter("userID", XMLType.XSD_STRING, ParameterMode.IN); call.addParameter("password", XMLType.XSD_STRING, ParameterMode.IN); call.setReturnType(XMLType.XSD_STRING); // Define Report Request Object ParamNameValue[] paramNmVals = new ParamNameValue[2]; paramNmVals[0] = new ParamNameValue(false, "dept", null) ; paramNmVals[1] = new ParamNameValue(false, "emp", new String[] {"*"}) ; ReportRequest report = new ReportRequest("pdf", "en-US", "Simple", paramNmVals, xdofile); // Define Email Delivery Options EMailDeliveryOption email = new EMailDeliveryOption("manager@mycompany.com", "Body", // bcc, boddy "manager@mycompany.com", // cc "bipublisher@oracle.com", "bipublisher@oracle.com", // from, reply to "Test Email Subject", "manager@mycompany.com" // subject, to ); // Define only email delivery DeliveryRequest delivery = new DeliveryRequest(email, null, null, null, null, null); ScheduleRequest req = new ScheduleRequest( delivery, // delivery options null, // enddate (Calendar.getInstance()) null, // job calendar "en-US", null, // job locale, timezone null, false, false, false, // notifications 1, 1, // repeat count, repeat interval report, // Report and Parameters "true", "true", // Save Data, Save Output "false", "true", // Bursting, Public null, // start date "true", // Use UTF-8 "my Job4" // job name ); // issue the request String result = (String) call.invoke( new Object[] {req, "Administrator", "Administrator"} ); System.out.println("Success for Schedule Report"); }
One of the following messages may be returned to any of the operations if there is an error that occurs in the execution of the operation.
<wsdl:message name="OperationFailedException"> <wsdl:part name="fault" type="impl:OperationFailedException"/> </wsdl:message>
<wsdl:message name="AccessDeniedException"> <wsdl:part name="fault" type="impl:AccessDeniedException"/> </wsdl:message>
<wsdl:message name="InvalidParametersException"> <wsdl:part name="fault" type="impl:InvalidParametersException"/> </wsdl:message>
As a Web service developer you may need to see the SOAP request messages being used to invoke Web services along with the SOAP response to those request messages. Oracle BI Publisher bundles the Apache Axis SOAP Monitor utility to monitor the SOAP message flow without requiring any special configuration or restarting of the server.
The client sample code sends a SOAP request to listening port 8888, and then takes advantage of Axis TCP monitor to route SOAP request to port 8080, where the PublicReportService is running. This will be a useful debugging tool for the Web service developer.
To start Axis TCP Monitor (tcpmon), from the command line enter the following:
% java org.apache.axis.utils.tcpmon
This launches the TCP monitor window. A sample of the window without any of the optional arguments is shown in the following figure:
To use the program, select a local port that tcpmon will monitor for incoming connections, a target host where it will forward such connections, and the port number on the target machine which should be "tunneled" to. Then click Add. Another tab will then display for your new tunneled connection. From there, you will see the SOAP Request and Response message, which facilitates debugging.
The following figure shows the connection tab of the TCPMonitor window:
To run tcpmonitor, enter the following:
set CLASSPATH=. set CLASSPATH=%CLASSPATH%;%WEB_HOME%\PORTAL\WEB-INF\lib\axis.jar set TCPMON_PORT=8081 if not %1.==. TCPMON_PORT=%1 java org.apache.axis.utils.tcpmon %TCPMON_PORT% %ADMINSERVER_HOSTNAME% %ADMINSERVER_PORT%
Following is the full BI Publisher PublicReportService Web Services WSDL. It is provided for those instances where BI Publisher has been deployed to a J2EE server that is not able to display this WSDL.
<?xml version="1.0" encoding="UTF-8"?> <wsdl:definitions targetNamespace="http://xmlns.oracle.com/oxp/service/PublicReportService" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://xmlns.oracle.com/oxp/service/PublicReportService" xmlns:intf="http://xmlns.oracle.com/oxp/service/PublicReportService" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <!--WSDL created by Apache Axis version: 1.3 Built on Oct 05, 2005 (05:23:37 EDT)--> <wsdl:types> <schema targetNamespace="http://xmlns.oracle.com/oxp/service/PublicReportService" xmlns="http://www.w3.org/2001/XMLSchema"> <import namespace="http://schemas.xmlsoap.org/soap/encoding/"/> <complexType name="ArrayOf_xsd_string"> <complexContent> <restriction base="soapenc:Array"> <attribute ref="soapenc:arrayType" wsdl:arrayType="xsd:string[]"/> </restriction> </complexContent> </complexType> <complexType name="ParamNameValue"> <sequence> <element name="multiValuesAllowed" type="xsd:boolean"/> <element name="name" nillable="true" type="xsd:string"/> <element name="values" nillable="true" type="impl:ArrayOf_xsd_string"/> </sequence> </complexType> <complexType name="ArrayOfParamNameValue"> <complexContent> <restriction base="soapenc:Array"> <attribute ref="soapenc:arrayType" wsdl:arrayType="impl:ParamNameValue[]"/> </restriction> </complexContent> </complexType> <complexType name="ReportRequest"> <sequence> <element name="attributeFormat" nillable="true" type="xsd:string"/> <element name="attributeLocale" nillable="true" type="xsd:string"/> <element name="attributeTemplate" nillable="true" type="xsd:string"/> <element name="parameterNameValues" nillable="true" type="impl:ArrayOfParamNameValue"/> <element name="reportAbsolutePath" nillable="true" type="xsd:string"/> </sequence> </complexType> <complexType name="AccessDeniedException"> <sequence/> </complexType> <complexType name="OperationFailedException"> <sequence/> </complexType> <complexType name="InvalidParametersException"> <sequence/> </complexType> <complexType name="ReportResponse"> <sequence> <element name="reportBytes" nillable="true" type="xsd:base64Binary"/> <element name="reportContentType" nillable="true" type="xsd:string"/> <element name="reportLocale" nillable="true" type="xsd:string"/> </sequence> </complexType> <complexType name="ReportDefinition"> <sequence> <element name="defaultOutputFormat" nillable="true" type="xsd:string"/> <element name="defaultTemplateId" nillable="true" type="xsd:string"/> <element name="parameterNames" nillable="true" type="impl:ArrayOf_xsd_string"/> <element name="reportParameterNameValues" nillable="true" type="impl:ArrayOfParamNameValue"/> <element name="templateIds" nillable="true" type="impl:ArrayOf_xsd_string"/> </sequence> </complexType> <complexType name="ItemData"> <sequence> <element name="absolutePath" nillable="true" type="xsd:string"/> <element name="creationDate" nillable="true" type="xsd:dateTime"/> <element name="displayName" nillable="true" type="xsd:string"/> <element name="fileName" nillable="true" type="xsd:string"/> <element name="lastModified" nillable="true" type="xsd:dateTime"/> <element name="lastModifier" nillable="true" type="xsd:string"/> <element name="owner" nillable="true" type="xsd:string"/> <element name="parentAbsolutePath" nillable="true" type="xsd:string"/> <element name="type" nillable="true" type="xsd:string"/> </sequence> </complexType> <complexType name="ArrayOfItemData"> <complexContent> <restriction base="soapenc:Array"> <attribute ref="soapenc:arrayType" wsdl:arrayType="impl:ItemData[]"/> </restriction> </complexContent> </complexType> <complexType name="EMailDeliveryOption"> <sequence> <element name="emailBCC" nillable="true" type="xsd:string"/> <element name="emailBody" nillable="true" type="xsd:string"/> <element name="emailCC" nillable="true" type="xsd:string"/> <element name="emailFrom" nillable="true" type="xsd:string"/> <element name="emailReplyTo" nillable="true" type="xsd:string"/> <element name="emailSubject" nillable="true" type="xsd:string"/> <element name="emailTo" nillable="true" type="xsd:string"/> </sequence> </complexType> <complexType name="FaxDeliveryOption"> <sequence> <element name="faxNumber" nillable="true" type="xsd:string"/> <element name="faxServer" nillable="true" type="xsd:string"/> </sequence> </complexType> <complexType name="FTPDeliveryOption"> <sequence> <element name="ftpServerName" nillable="true" type="xsd:string"/> <element name="ftpUserName" nillable="true" type="xsd:string"/> <element name="ftpUserPassword" nillable="true" type="xsd:string"/> <element name="remoteFile" nillable="true" type="xsd:string"/> <element name="sftpOption" type="xsd:boolean"/> </sequence> </complexType> <complexType name="LocalDeliveryOption"> <sequence> <element name="destination" nillable="true" type="xsd:string"/> </sequence> </complexType> <complexType name="PrintDeliveryOption"> <sequence> <element name="printNumberOfCopy" nillable="true" type="xsd:string"/> <element name="printRange" nillable="true" type="xsd:string"/> <element name="printSide" nillable="true" type="xsd:string"/> <element name="printTray" nillable="true" type="xsd:string"/> <element name="printerName" nillable="true" type="xsd:string"/> </sequence> </complexType> <complexType name="WebDAVDeliveryOption"> <sequence> <element name="deliveryAuthType" nillable="true" type="xsd:string"/> <element name="deliveryAuthTypeBasic" nillable="true" type="xsd:string"/> <element name="deliveryAuthTypeDigest" nillable="true" type="xsd:string"/> <element name="password" nillable="true" type="xsd:string"/> <element name="remoteFilePath" nillable="true" type="xsd:string"/> <element name="server" nillable="true" type="xsd:string"/> <element name="userName" nillable="true" type="xsd:string"/> </sequence> </complexType> <complexType name="DeliveryRequest"> <sequence> <element name="emailOption" nillable="true" type="impl:EMailDeliveryOption"/> <element name="faxOption" nillable="true" type="impl:FaxDeliveryOption"/> <element name="ftpOption" nillable="true" type="impl:FTPDeliveryOption"/> <element name="localOption" nillable="true" type="impl:LocalDeliveryOption"/> <element name="printOption" nillable="true" type="impl:PrintDeliveryOption"/> <element name="webDAVOption" nillable="true" type="impl:WebDAVDeliveryOption"/> </sequence> </complexType> <complexType name="ScheduleRequest"> <sequence> <element name="deliveryRequest" nillable="true" type="impl:DeliveryRequest"/> <element name="endDate" nillable="true" type="xsd:dateTime"/> <element name="jobCalendar" nillable="true" type="xsd:string"/> <element name="jobLocale" nillable="true" type="xsd:string"/> <element name="jobTZ" nillable="true" type="xsd:string"/> <element name="notificationTo" nillable="true" type="xsd:string"/> <element name="notifyWhenFailed" type="xsd:boolean"/> <element name="notifyWhenSuccess" type="xsd:boolean"/> <element name="notifyWhenWarning" type="xsd:boolean"/> <element name="repeatCount" type="xsd:int"/> <element name="repeatInterval" type="xsd:int"/> <element name="reportRequest" nillable="true" type="impl:ReportRequest"/> <element name="saveDataOption" type="xsd:boolean"/> <element name="saveOutputOption" type="xsd:boolean"/> <element name="scheduleBurstringOption" type="xsd:boolean"/> <element name="schedulePublicOption" type="xsd:boolean"/> <element name="startDate" nillable="true" type="xsd:dateTime"/> <element name="useUTF8Option" type="xsd:boolean"/> <element name="userJobName" nillable="true" type="xsd:string"/> </sequence> </complexType> </schema> </wsdl:types> <wsdl:message name="runReportResponse"> <wsdl:part name="runReportReturn" type="impl:ReportResponse"/> </wsdl:message> <wsdl:message name="scheduleReportResponse"> <wsdl:part name="scheduleReportReturn" type="xsd:string"/> </wsdl:message> <wsdl:message name="getReportDefinitionRequest"> <wsdl:part name="reportAbsolutePath" type="xsd:string"/> <wsdl:part name="userID" type="xsd:string"/> <wsdl:part name="password" type="xsd:string"/> </wsdl:message> <wsdl:message name="getReportParametersResponse"> <wsdl:part name="getReportParametersReturn" type="impl:ArrayOfParamNameValue"/> </wsdl:message> <wsdl:message name="getReportParametersRequest"> <wsdl:part name="reportRequest" type="impl:ReportRequest"/> <wsdl:part name="userID" type="xsd:string"/> <wsdl:part name="password" type="xsd:string"/> </wsdl:message> <wsdl:message name="InvalidParametersException"> <wsdl:part name="fault" type="impl:InvalidParametersException"/> </wsdl:message> <wsdl:message name="getFolderContentsResponse"> <wsdl:part name="getFolderContentsReturn" type="impl:ArrayOfItemData"/> </wsdl:message> <wsdl:message name="OperationFailedException"> <wsdl:part name="fault" type="impl:OperationFailedException"/> </wsdl:message> <wsdl:message name="AccessDeniedException"> <wsdl:part name="fault" type="impl:AccessDeniedException"/> </wsdl:message> <wsdl:message name="validateLoginResponse"> <wsdl:part name="validateLoginReturn" type="xsd:boolean"/> </wsdl:message> <wsdl:message name="scheduleReportRequest"> <wsdl:part name="scheduleRequest" type="impl:ScheduleRequest"/> <wsdl:part name="userID" type="xsd:string"/> <wsdl:part name="password" type="xsd:string"/> </wsdl:message> <wsdl:message name="runReportRequest"> <wsdl:part name="reportRequest" type="impl:ReportRequest"/> <wsdl:part name="userID" type="xsd:string"/> <wsdl:part name="password" type="xsd:string"/> </wsdl:message> <wsdl:message name="getFolderContentsRequest"> <wsdl:part name="folderAbsolutePath" type="xsd:string"/> <wsdl:part name="userID" type="xsd:string"/> <wsdl:part name="password" type="xsd:string"/> </wsdl:message> <wsdl:message name="getReportDefinitionResponse"> <wsdl:part name="getReportDefinitionReturn" type="impl:ReportDefinition"/> </wsdl:message> <wsdl:message name="hasReportAccessRequest"> <wsdl:part name="reportAbsolutePath" type="xsd:string"/> <wsdl:part name="userID" type="xsd:string"/> <wsdl:part name="password" type="xsd:string"/> </wsdl:message> <wsdl:message name="hasReportAccessResponse"> <wsdl:part name="hasReportAccessReturn" type="xsd:boolean"/> </wsdl:message> <wsdl:message name="validateLoginRequest"> <wsdl:part name="userID" type="xsd:string"/> <wsdl:part name="password" type="xsd:string"/> </wsdl:message> <wsdl:portType name="PublicReportService"> <wsdl:operation name="getReportParameters" parameterOrder="reportRequest userID password"> <wsdl:input message="impl:getReportParametersRequest" name="getReportParametersRequest"/> <wsdl:output message="impl:getReportParametersResponse" name="getReportParametersResponse"/> <wsdl:fault message="impl:InvalidParametersException" name="InvalidParametersException"/> <wsdl:fault message="impl:AccessDeniedException" name="AccessDeniedException"/> <wsdl:fault message="impl:OperationFailedException" name="OperationFailedException"/> </wsdl:operation> <wsdl:operation name="validateLogin" parameterOrder="userID password"> <wsdl:input message="impl:validateLoginRequest" name="validateLoginRequest"/> <wsdl:output message="impl:validateLoginResponse" name="validateLoginResponse"/> </wsdl:operation> <wsdl:operation name="runReport" parameterOrder="reportRequest userID password"> <wsdl:input message="impl:runReportRequest" name="runReportRequest"/> <wsdl:output message="impl:runReportResponse" name="runReportResponse"/> <wsdl:fault message="impl:InvalidParametersException" name="InvalidParametersException"/> <wsdl:fault message="impl:AccessDeniedException" name="AccessDeniedException"/> <wsdl:fault message="impl:OperationFailedException" name="OperationFailedException"/> </wsdl:operation> <wsdl:operation name="getReportDefinition" parameterOrder="reportAbsolutePath userID password"> <wsdl:input message="impl:getReportDefinitionRequest" name="getReportDefinitionRequest"/> <wsdl:output message="impl:getReportDefinitionResponse" name="getReportDefinitionResponse"/> <wsdl:fault message="impl:InvalidParametersException" name="InvalidParametersException"/> <wsdl:fault message="impl:AccessDeniedException" name="AccessDeniedException"/> <wsdl:fault message="impl:OperationFailedException" name="OperationFailedException"/> </wsdl:operation> <wsdl:operation name="getFolderContents" parameterOrder="folderAbsolutePath userID password"> <wsdl:input message="impl:getFolderContentsRequest" name="getFolderContentsRequest"/> <wsdl:output message="impl:getFolderContentsResponse" name="getFolderContentsResponse"/> <wsdl:fault message="impl:InvalidParametersException" name="InvalidParametersException"/> <wsdl:fault message="impl:AccessDeniedException" name="AccessDeniedException"/> <wsdl:fault message="impl:OperationFailedException" name="OperationFailedException"/> </wsdl:operation> <wsdl:operation name="scheduleReport" parameterOrder="scheduleRequest userID password"> <wsdl:input message="impl:scheduleReportRequest" name="scheduleReportRequest"/> <wsdl:output message="impl:scheduleReportResponse" name="scheduleReportResponse"/> <wsdl:fault message="impl:InvalidParametersException" name="InvalidParametersException"/> <wsdl:fault message="impl:AccessDeniedException" name="AccessDeniedException"/> <wsdl:fault message="impl:OperationFailedException" name="OperationFailedException"/> </wsdl:operation> <wsdl:operation name="hasReportAccess" parameterOrder="reportAbsolutePath userID password"> <wsdl:input message="impl:hasReportAccessRequest" name="hasReportAccessRequest"/> <wsdl:output message="impl:hasReportAccessResponse" name="hasReportAccessResponse"/> <wsdl:fault message="impl:InvalidParametersException" name="InvalidParametersException"/> </wsdl:operation> </wsdl:portType> <wsdl:binding name="PublicReportServiceSoapBinding" type="impl:PublicReportService"> <wsdlsoap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/> <wsdl:operation name="getReportParameters"> <wsdlsoap:operation soapAction=""/> <wsdl:input name="getReportParametersRequest"> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://xmlns.oracle.com/oxp/service/PublicReportService" use="encoded"/> </wsdl:input> <wsdl:output name="getReportParametersResponse"> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://xmlns.oracle.com/oxp/service/PublicReportService" use="encoded"/> </wsdl:output> <wsdl:fault name="InvalidParametersException"> <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="InvalidParametersException" namespace="http://xmlns.oracle.com/oxp/service/PublicReportService" use="encoded"/> </wsdl:fault> <wsdl:fault name="AccessDeniedException"> <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="AccessDeniedException" namespace="http://xmlns.oracle.com/oxp/service/PublicReportService" use="encoded"/> </wsdl:fault> <wsdl:fault name="OperationFailedException"> <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="OperationFailedException" namespace="http://xmlns.oracle.com/oxp/service/PublicReportService" use="encoded"/> </wsdl:fault> </wsdl:operation> <wsdl:operation name="validateLogin"> <wsdlsoap:operation soapAction=""/> <wsdl:input name="validateLoginRequest"> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://xmlns.oracle.com/oxp/service/PublicReportService" use="encoded"/> </wsdl:input> <wsdl:output name="validateLoginResponse"> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://xmlns.oracle.com/oxp/service/PublicReportService" use="encoded"/> </wsdl:output> </wsdl:operation> <wsdl:operation name="runReport"> <wsdlsoap:operation soapAction=""/> <wsdl:input name="runReportRequest"> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://xmlns.oracle.com/oxp/service/PublicReportService" use="encoded"/> </wsdl:input> <wsdl:output name="runReportResponse"> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://xmlns.oracle.com/oxp/service/PublicReportService" use="encoded"/> </wsdl:output> <wsdl:fault name="InvalidParametersException"> <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="InvalidParametersException" namespace="http://xmlns.oracle.com/oxp/service/PublicReportService" use="encoded"/> </wsdl:fault> <wsdl:fault name="AccessDeniedException"> <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="AccessDeniedException" namespace="http://xmlns.oracle.com/oxp/service/PublicReportService" use="encoded"/> </wsdl:fault> <wsdl:fault name="OperationFailedException"> <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="OperationFailedException" namespace="http://xmlns.oracle.com/oxp/service/PublicReportService" use="encoded"/> </wsdl:fault> </wsdl:operation> <wsdl:operation name="getReportDefinition"> <wsdlsoap:operation soapAction=""/> <wsdl:input name="getReportDefinitionRequest"> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://xmlns.oracle.com/oxp/service/PublicReportService" use="encoded"/> </wsdl:input> <wsdl:output name="getReportDefinitionResponse"> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://xmlns.oracle.com/oxp/service/PublicReportService" use="encoded"/> </wsdl:output> <wsdl:fault name="InvalidParametersException"> <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="InvalidParametersException" namespace="http://xmlns.oracle.com/oxp/service/PublicReportService" use="encoded"/> </wsdl:fault> <wsdl:fault name="AccessDeniedException"> <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="AccessDeniedException" namespace="http://xmlns.oracle.com/oxp/service/PublicReportService" use="encoded"/> </wsdl:fault> <wsdl:fault name="OperationFailedException"> <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="OperationFailedException" namespace="http://xmlns.oracle.com/oxp/service/PublicReportService" use="encoded"/> </wsdl:fault> </wsdl:operation> <wsdl:operation name="getFolderContents"> <wsdlsoap:operation soapAction=""/> <wsdl:input name="getFolderContentsRequest"> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://xmlns.oracle.com/oxp/service/PublicReportService" use="encoded"/> </wsdl:input> <wsdl:output name="getFolderContentsResponse"> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://xmlns.oracle.com/oxp/service/PublicReportService" use="encoded"/> </wsdl:output> <wsdl:fault name="InvalidParametersException"> <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="InvalidParametersException" namespace="http://xmlns.oracle.com/oxp/service/PublicReportService" use="encoded"/> </wsdl:fault> <wsdl:fault name="AccessDeniedException"> <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="AccessDeniedException" namespace="http://xmlns.oracle.com/oxp/service/PublicReportService" use="encoded"/> </wsdl:fault> <wsdl:fault name="OperationFailedException"> <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="OperationFailedException" namespace="http://xmlns.oracle.com/oxp/service/PublicReportService" use="encoded"/> </wsdl:fault> </wsdl:operation> <wsdl:operation name="scheduleReport"> <wsdlsoap:operation soapAction=""/> <wsdl:input name="scheduleReportRequest"> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://xmlns.oracle.com/oxp/service/PublicReportService" use="encoded"/> </wsdl:input> <wsdl:output name="scheduleReportResponse"> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://xmlns.oracle.com/oxp/service/PublicReportService" use="encoded"/> </wsdl:output> <wsdl:fault name="InvalidParametersException"> <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="InvalidParametersException" namespace="http://xmlns.oracle.com/oxp/service/PublicReportService" use="encoded"/> </wsdl:fault> <wsdl:fault name="AccessDeniedException"> <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="AccessDeniedException" namespace="http://xmlns.oracle.com/oxp/service/PublicReportService" use="encoded"/> </wsdl:fault> <wsdl:fault name="OperationFailedException"> <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="OperationFailedException" namespace="http://xmlns.oracle.com/oxp/service/PublicReportService" use="encoded"/> </wsdl:fault> </wsdl:operation> <wsdl:operation name="hasReportAccess"> <wsdlsoap:operation soapAction=""/> <wsdl:input name="hasReportAccessRequest"> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://xmlns.oracle.com/oxp/service/PublicReportService" use="encoded"/> </wsdl:input> <wsdl:output name="hasReportAccessResponse"> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://xmlns.oracle.com/oxp/service/PublicReportService" use="encoded"/> </wsdl:output> <wsdl:fault name="InvalidParametersException"> <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="InvalidParametersException" namespace="http://xmlns.oracle.com/oxp/service/PublicReportService" use="encoded"/> </wsdl:fault> </wsdl:operation> </wsdl:binding> <wsdl:service name="PublicReportServiceService"> <wsdl:port binding="impl:PublicReportServiceSoapBinding" name="PublicReportService"> <wsdlsoap:address location="http://localhost:8080/xmlpserver/services/PublicReportService"/> </wsdl:port> </wsdl:service> </wsdl:definitions>