Getting Started with BIP Web Service
Web Services - Description Language (WSDL)
http://<host>:<port>/xmlpserver/services/PublicReportService?wsdl
How to generate the BI Publisher Stub Classes
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;
See Eclipse - How to consume a web service (OBIEE) with WTP ?
See Java - Axis (Web Services / SOAP / WSDL engine)
Include the following jar files in your classpath
With the linux find command, you will find xmlpserver.jar:
find OracleBI_Home -name xmlpserver.jar
OracleBI_Home/oc4j_bi/j2ee/home/applications/xmlpserver/xmlpserver/WEB-INF/lib/xmlpserver.jar
Enveloppe:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:pub="http://xmlns.oracle.com/oxp/service/PublicReportService">
<soapenv:Header/>
<soapenv:Body>
<pub:validateLogin>
<pub:userID>gerar600bip</pub:userID>
<pub:password>gerar600bip</pub:password>
</pub:validateLogin>
</soapenv:Body>
</soapenv:Envelope>
Java Class:
import java.net.URL;
import javax.xml.namespace.QName;
import javax.xml.rpc.ParameterMode;
import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
import org.apache.axis.encoding.XMLType;
public class ValidateLogin {
public static void validateLogin() throws Exception {
final String bipEndpoint = "http://bipserver:bipserverport/xmlpserver/services/PublicReportService";
final String bipNamespace = "http://xmlns.oracle.com/oxp/service/PublicReportService";
// final String reportPath = "/HR Manager/Employee Salary Report/Employee Salary Report.xdo";
Service service = new Service();
Call call = (Call) service.createCall();
call.setTargetEndpointAddress(new URL(bipEndpoint));
System.out.println("TESTING login Service BEGIN");
// Operation definition
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[] {
"gerardnico",
"gerardnico"
});
if (valid) {
System.out.println("user valid");
} else {
System.out.println("user invalid");
}
System.out.println("Success for validateLogin");
}
public static void main(String[] args) throws Exception {
validateLogin();
}
}
Output:
TESTING login Service BEGIN
user valid
Success for validateLogin