Forums

Home » Liferay Portal » Deutsch

Combination View Flat View Tree View
Threads [ Previous | Next ]
Rolf Buchholz
Problem mit Oracle Maps
February 3, 2012 12:40 AM
Answer

Rolf Buchholz

Rank: New Member

Posts: 2

Join Date: January 21, 2011

Recent Posts

Hallo zusammen,

Ich nutze die Liferay -Community-Edition 5.2.3. um GIS-Daten anzuzeigen, die durch die Oracle-Fusion-Middleware 11g, den MapViewer, bereitgestellt werden.

Für die Client-Seite stellt Oracle dabei verschiedene APIs zur Verfügung, darunter eine Java-API und eine JavaScript API, auch bekannt als Oracle Maps. Mit der Java-API kann ich problemlos auf die Server URL, etwa http://localhost:7001/mapviewer zugreifen und die generierten Maps mittels JSF-Portlets darstellen.

Mit der JavaScript API klappt das leider nicht. Da diese API aber sehr viel leistungsstärker ist, würde ich sie gerne im Verbund mit Liferay einsetzen.
Dass es sich dabei um eine Liferay-Thematik handelt, schliesse ich aus der Tatsache, dass ich, wenn ich die Daten über einen bloßen Tomcat oder gar eine pure HTML-Seite abfrage, eine Map zurückgeliefert bekomme, sobald ich dasselbe aber aus dem Portlet heraus versuche, passiert nichts.

Das letzte, was ich sehen kann ist, dass ein XmlHttpRequest an den Applikation-Server, also den MapViewer, abgesetzt wird. Es gibt keine Antwort darauf, keine Fehlermeldung, nichts.

Kann jemand helfen? Gibt es vielleicht einen Liferay-Konfigurationschalter oder dergleichen, mit dem diese Kommunikation unterbunden wird? Ich nehme an, der XmlHttpRequest deutet auf Ajax hin.

Leider habe ich in den Foren dazu nichts gefunden.

Vielen Dank im Voraus.
Armin Cyrus Dahncke
RE: Problem mit Oracle Maps
February 3, 2012 5:36 AM
Answer

Armin Cyrus Dahncke

LIFERAY STAFF

Rank: Junior Member

Posts: 80

Join Date: August 12, 2008

Recent Posts

Hallo,

ich kenne mich zwar in Liferay 5.2.3 nicht mehr so richtig aus, ist schon ein paar releases her ;). Noch weniger mit JSF basierten Frameworks, aber da Ihrer Bescheibung nach eine normale Webapplikation die Map zurückliefern kann sollten Sie mal debuggen und sich die Response von dem Portlet im Debugger anschauen.
Wenn ich in einem Portlet zum Bespiel eine Resource (Bild, XML usw. ) zurückgeben möchte verwende ich eine spezielle ResourceURL, die ich direkt adressieren und aufrufen kann.
Olaf Kock
RE: Problem mit Oracle Maps
February 3, 2012 7:07 AM
Answer

Olaf Kock

LIFERAY STAFF

Rank: Liferay Legend

Posts: 1842

Join Date: September 23, 2008

Recent Posts

Könnte es an der Same Origin Policy liegen?

Die geschilderten Umstände reichen auf jeden Fall nicht zu einer detaillierten Analyse aus - ich wüsste nicht, was sonst gegen ein Funktionieren sprechen würde.

Ach so: Und zu einem Update würde ich auch raten. 5.2.3 ist inzwischen doch schon recht alt.
Rolf Buchholz
RE: Problem mit Oracle Maps
February 6, 2012 5:18 AM
Answer

Rolf Buchholz

Rank: New Member

Posts: 2

Join Date: January 21, 2011

Recent Posts

Hallo zusammen,

danke schon mal für die Antworten.

Dass wir Liferay in der Version 5.2.3 benutzen, liegt an unserem Kunden. Wir haben schon mal die EE in der Version 6 empfohlen, aber das Samenkorn muss erst noch aufgehen.

Debuggen ist leichter gesagt als getan. Vielleicht fehlen mir auch die Kenntnisse. Aber ich führe JavaScriptCode aus:

<script language="Javascript" src="http://localhost:7001/mapviewer/fsmc/jslib/oraclemaps.js"></script>

<script language=javascript>
function showMap()
{
var baseURL = "http://localhost:7001/mapviewer";
var mapCenterLon = 53.635;
var mapCenterLat = 10.006;
var mapZoom = 3;
var mpoint = MVSdoGeometry.createPoint(mapCenterLon,mapCenterLat,8307);
var mapview = new MVMapView(document.getElementById("map"), baseURL);
mapview.addMapTileLayer(new MVMapTileLayer("hhairport.TL_HH_AIRPORT_GROUND"));
mapview.setCenter(mpoint);
mapview.setZoomLevel(mapZoom);
mapview.display();
}
</script>

Wenn das geschehen ist, positioniert oraclemaps.js das erzeugte Bild in einem <div id="map" style="left:0px; top:0px; width:100%; height:60%"></div>.

Theoretisch jedenfalls.

Ich kann das bis zum XmlHttpRequest im FireBug für Mozilla nachverfogen, aber dann hört es halt einfach auf.

Gruß Rolf
André Bunse
RE: Problem mit Oracle Maps
March 16, 2012 12:43 PM
Answer

André Bunse

Rank: Junior Member

Posts: 85

Join Date: March 15, 2012

Recent Posts

Hallo Rolf,

bin zwar nicht mit Oracle Maps vertraut, dafür aber sehr gut mit JavaScript und OpenLayers.

Vorab eine kurze Info zu den Script-Tags:

Das Attribut "language" ist deprecated und führt im Strict-Mode zu Problemen.

Ich vermute mal, dass es beim zweiten Tag zu einem Copy&Paste-Problem gekommen ist oder?

Wie auch immer, ich würde vorab schon mal die Tags umstellen auf:

1<script type="text/javascript" ..


Rolf Buchholz:

Debuggen ist leichter gesagt als getan. Vielleicht fehlen mir auch die Kenntnisse. Aber ich führe JavaScriptCode aus:

<script language="Javascript" src="http://localhost:7001/mapviewer/fsmc/jslib/oraclemaps.js"></script>

<script language=javascript>


Punkt 2 wäre das Attribut "id" der Map. Ich meine gelesen zu haben, dass für eigene HTML-Elemente immer als
Prefix der Portlet-Namespace (<portlet:namespace />) verwendet werden sollte.

Keine Ahnung, ob das bereits zur Lösung beiträgt, aber vielleicht können wir uns dem eigentlichen Problem annähern.
Da ich ein OpenLayers-Portlet in Planung habe, werde ich bald in einer ähnlichen Situation sein.


Keep on coding
André