Hello there,
I'm trying to integrate a web application built with Smart GWT technology and a report server which is Jasper Report Server. What I'm trying to do is display the jasper reports inside a modal (Windows class with a HTMLPane inside). Inside the iFrame the Jasper report would be displayed with its viewer. This is the source that I'm using:
Ok, first install the whole Jasper server in a local environment (on my computer) and it works correctly as I thought (with localhost). The report was displayed correctly in the iFrame ...
Now, I have configured the Jasper server on a virtual machine hosted on AWS. Likewise, I have also deployed my application in another separate virtual machine, in the same hosting (both belong to a private network).
When I access my web application (the one that is hosted on AWS) in my browser (my computer), when trying to open a Jasper report, the iframe stays loading forever. If I open the console and inspect the Network (Chrome) section, I notice that it is repeatedly calling the same resources, without ending ... (unless I close the browser).
The IP that I'm using to access the server is the public one and I would like to know if I need a piece of code to avoid this behavior.
If I make the application that is hosted on AWS run my local reporting server, if it is showing it ... (which confuses me a bit).
I'm trying to integrate a web application built with Smart GWT technology and a report server which is Jasper Report Server. What I'm trying to do is display the jasper reports inside a modal (Windows class with a HTMLPane inside). Inside the iFrame the Jasper report would be displayed with its viewer. This is the source that I'm using:
Code:
DataSource jasperDS = CrimsonDataSource.getDataSource("JasperReportDTO");
Criteria criteria = new Criteria("report_id",reportId);
jasperDS.fetchData(criteria, new DSCallback() {
@Override
public void execute(DSResponse dsResponse, Object data, DSRequest dsRequest) {
Record[] recordArray = dsResponse.getData();
if (recordArray != null && recordArray.length > 0) {
Record record = recordArray[0];
if(record != null && record.getAttribute("report_url") != null) {
final String url = record.getAttribute("report_url") + parameters;
final Window popupWindowModal = new Window();
popupWindowModal.setTitle("Jasper Report Server");
popupWindowModal.setWidth("1000px");
popupWindowModal.setHeight("690px");
popupWindowModal.setIsModal(true);
popupWindowModal.setShowMinimizeButton(false);
popupWindowModal.setShowModalMask(true);
popupWindowModal.centerInPage();
popupWindowModal.setCanDragReposition(false);
final HTMLPane htmlPane = new HTMLPane();
htmlPane.setHeight100();
htmlPane.setWidth100();
htmlPane.setContentsType(ContentsType.PAGE);
htmlPane.setContentsURL(url);
popupWindowModal.addItem(htmlPane);
RootLayoutPanel.get().add(popupWindowModal);
} else {
LOGGER.info("No record found for this report.");
}
}
}
});
Now, I have configured the Jasper server on a virtual machine hosted on AWS. Likewise, I have also deployed my application in another separate virtual machine, in the same hosting (both belong to a private network).
When I access my web application (the one that is hosted on AWS) in my browser (my computer), when trying to open a Jasper report, the iframe stays loading forever. If I open the console and inspect the Network (Chrome) section, I notice that it is repeatedly calling the same resources, without ending ... (unless I close the browser).
The IP that I'm using to access the server is the public one and I would like to know if I need a piece of code to avoid this behavior.
If I make the application that is hosted on AWS run my local reporting server, if it is showing it ... (which confuses me a bit).
Comment