Foros

Inicio » Liferay Portal » Deutsch

Vista combinada Visión Plana Vista de árbol
Discusiones [ Anterior | Siguiente ]
Rolf Buchholz
Problem mit Oracle Maps
3 de febrero de 2012 0:40
Respuesta

Rolf Buchholz

Ranking: New Member

Mensajes: 2

Fecha de incorporación: 21 de enero de 2011

Mensajes recientes

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
3 de febrero de 2012 5:36
Respuesta

Armin Cyrus Dahncke

LIFERAY STAFF

Ranking: Junior Member

Mensajes: 80

Fecha de incorporación: 12 de agosto de 2008

Mensajes recientes

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
3 de febrero de 2012 7:07
Respuesta

Olaf Kock

LIFERAY STAFF

Ranking: Liferay Legend

Mensajes: 3516

Fecha de incorporación: 23 de septiembre de 2008

Mensajes recientes

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
6 de febrero de 2012 5:18
Respuesta

Rolf Buchholz

Ranking: New Member

Mensajes: 2

Fecha de incorporación: 21 de enero de 2011

Mensajes recientes

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
16 de marzo de 2012 12:43
Respuesta

André Bunse

Ranking: Junior Member

Mensajes: 85

Fecha de incorporación: 15 de marzo de 2012

Mensajes recientes

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é