Use the WSDL file from http://server:port/rpe/services/RPEService?wsdl, to generate a topdown Web Service Client application. The following sample code publishes a document specification file remotely without using the API:
StatusResponse statusResponse = null; Integer serviceRunResponse; RPEServiceStub stub = new RPEServiceStub(http://localhost:8080/rpe/services/RPEService?wsdl); stub._getServiceClient().getOptions().setProperty(Constants.Configuratio n.ENABLE_MTOM, Constants.VALUE_TRUE); stub._getServiceClient().getOptions().setTimeOutInMilliSeconds(10000); RunReportFile request = (RunReportFile) RunReportFile.class.newInstance(); AttachmentType attachment = new AttachmentType(); Base64Binary base64Binary = new Base64Binary(); File docSpecFile = new File("c:/docSpec.dsx"); FileDataSource fileDataSource = new FileDataSource(docSpecFile); DataHandler dataHandler = new DataHandler(fileDataSource); base64Binary.setBase64Binary(dataHandler); ContentType_type0 param = new ContentType_type0(); param.setContentType_type0(dataHandler.getContentType()); base64Binary.setContentType(param); attachment.setFileName(docSpecFile.toURI().toString()); attachment.setBinaryData(base64Binary); request.setRunReportFile(attachment); serviceRunResponse = Integer.valueOf(stub.runReportFile(request).getRunReportFileResponse()); RPEServiceStub.GetStatus getStatus = (RPEServiceStub.GetStatus) RPEServiceStub.GetStatus.class.newInstance(); getStatus.setGetStatus(serviceRunResponse); statusResponse = stub.getStatus(getStatus).getGetStatusResponse(); // 2 = "engine running" status while ((statusResponse.getEngineStatus() == 2) || (!statusResponse.getMessage().equalsIgnoreCase("no message"))) { Thread.sleep(1000); if (!statusResponse.getMessage().equalsIgnoreCase("no message")) { System.out.println(statusResponse.getMessage()); } statusResponse = stub.getStatus(getStatus).getGetStatusResponse(); } // 3 = "engine finnished" status if (statusResponse.getEngineStatus() == 3) { RPEServiceStub.GetOutput getOutput = (RPEServiceStub.GetOutput) RPEServiceStub.GetOutput.class.newInstance(); getOutput.setGetOutput(serviceRunResponse); stub.getOutput(getOutput).getGetOutputResponse(); URL url = new URL("http://localhost:8080/rpe/services/ RPEService?wsdl"); String remoteResultPageURL = url.getProtocol() + "://" + url.getHost() + ":" + url.getPort() + "/rpe/DownloadPage?reportID=" + String.valueOf(serviceRunResponse); System.out.println("URL of the result page: " + remoteResultPageURL); String remoteResult = url.getProtocol() + "://" + url.getHost() + ":" + url.getPort() + "/rpe/DownloadFile?reportID=" + String.valueOf(serviceRunResponse); System.out.println("URL of the result archive: " + remoteResult); }