© Copyright International Business Machines Corporation 2006. Minden jog fenntartva. Az USA kormányzati felhasználóinak jogkorlátozása: A használatot, a másolást és a nyilvánosságra hozatalt az IBM® Corporation vállalattal kötött GSA ADP Schedule Contract korlátozza.
Portálprojekt minta importálásakor, vagy a Mintagaléria "Új portálprojekt" varázslójának használatakor megszakadt hivatkozás figyelmeztetőüzenet jelenik meg a Problémák nézetben.
A Rational® Developer ezen változatában a Portáltervező csak HTML, cHTML és WML kódú megjelenítéseket támogat. Ha egy importált projektben más leírónyelvet adott meg egy oldalhoz vagy címkéhez, akkor a Rational Developer fenntartja ezeket, de szerkesztésükre nincs mód. Ezek a leírónyelvek nem jelennek meg a Tulajdonságok nézetben.
Ha nem rendel színpalettát egy oldalhoz, akkor a WebSphere® Portal 6 az alapértelmezett palettát használja. Ha viszont a Portáltervezőben nincs megadva színpaletta, akkor a rendszer az alapértelmezett paletta helyett az elődoldal színpalettáját használja.
Az Új portálprojekt varázslóban egy portálkiszolgáló változat kijelölése nem frissíti automatikusan a cél futási környezetet. A portál kiszolgáló verzióját és a cél futási környezet beállításait manuálisan kell szinkronizálni. A 6.0.0.x portálkiszolgáló változathoz például a WebSphere Portal 6.0 futási környezetet, az 5.1.0.x portálkiszolgáló verzióhoz pedig a WebSphere Portal 5.1 futási környezetet kell kiválasztania. Ha a cél futási környezet nincs szinkronizálva a portálverzióval, akkor a portál kiszolgáló a projekt telepítésekor sérültté vagy használhatatlanná válik.
A WebSphere Portal 6.0 változatában a CSS tartalomtípus JSP fájlok (amilyen például a styles.jsp vagy a styles_theme.jspf), Stílusok párbeszédablakkal módosításánál a JSP kifejezéseknek meg jelenniük a párbeszédablakban. Ezeket a kifejezéseket nem lehet módosítani a párbeszédablakban, csak a CSS tervező forráspanelén.
Ha a JSR168 Faces portál kisalkalmazásoknál az alábbi eszközök valamelyikét használja egy szolgáltatás ügynök előállításához a Faces JSP-ben, akkor az előállított oldalkód sem a WebSphere Portal 6.0 sem a WebSphere Portal 5.1 változatán nem fog megfelelően működni. Az érintett eszközök:
- Oldaladatok nézet
- Java™ komponens (metódushívással)
- Webszolgáltatás
- EJB szekció komponens
- Paletta nézet
- Java komponens (metódushívással)
- Webszolgáltatás
- EJB szekció komponens
- Beszúrás > Adatok menüpont az Oldaltervező előugró menüjében vagy az ablak menüjében
- Java komponens (metódushívással)
- Webszolgáltatás
- EJB szekció komponens
Ezt a jsf-portletbridge.jar fájlban található új JSR168 Faces portál kisalkalmazás futási környezet megvalósítás okozza, amely más más mint a korábbi megvalósítás.
Ha az új megvalósításban a Faces JPS-k oldalkód komponensei nem maradnak meg a portál kisalkalmazás művelet és előállítás fázisa között, ha kérés hatókörű kezelt komponensként vannak deklarálva. Az előállított webszolgáltatás ügyfélkódban az oldalkód komponens a webszolgáltatás eredményét tárolja ideiglenesen a művelet fázisban. De mivel a kérés hatókörben van, ezért az előállítási fázisban új példány kerül létrehozásra. Ebből kifolyólag az ideiglenesen tárolt eredmény elveszik.
Két lehetséges megoldás van:
- Helyezze a komponenst egy szekció hatókörbe (a faces-config.xml fájlban lehet beállítani). Ez annyira egyszerű, hogy csak egy sort kell megváltoztatni a konfigurációs fájlban.
- A másik megoldás nem annyira egyszerű mint az első, de ez az ajánlott eljárás ha szolgáltatás ügyfelet valósít meg JSR168 portál kisalkalmazásokban. Ez a JSR168 portál kisalkalmazás programozás követendő eljárása, és sokkal jobb Vissza gombot és könyvjelző támogatást tesz lehetővé.
- Ha a webszolgáltatást a művelet fázisban kell meghívni, például mert a szolgáltatás eredményétől függően más cél oldal jelenik meg, akkor módosítania kell az eredmény ideiglenes tárolásának módját. Az oldalkód komponens helyi változója helyett használjon feldolgozási paramétert vagy portál kisalkalmazás munkamenetet. Az információk művelet fázisból feldolgozás fázisba való átadásának ajánlott módja a feldolgozási paraméterek használata, habár ez a megoldás csak karaktersorozat értékeket támogat. Az az eredmény egy összetett típusok, akkor portál kisalkalmazás munkamenetet kell használni.
- Példa kódrész a feldolgozási paraméterek értékeinek beállítására JSF művelet metóduson belül az oldalkód komponensben:
PortletResponse response = (PortletResponse)getFacesContext().getExternalContext().getResponse();
((ActionResponse)response).setRenderParameter("resultValue", resultValue);
- Példa kódrész a portál kisalkalmazás munkamenet értékeinek beállítására JSF művelet metóduson belül az oldalkód komponensben:
PortletRequest request = (PortletRequest)getFacesContext().getExternalContext().getRequest();
request.getPortletSession().put("resultValue", resultValue);
- Ha a szolgáltatást nem kell meghívni a művelet fázisban, akkor a szolgáltatás meghívását elhalaszthatja a webszolgáltatás eredmény komponensének lekérdező metódusáig. A JSF művelet metódusa a bemeneti értéket egy feldolgozási kérés paraméterbe helyezi ha az érték egy karaktersorozat, vagy a portál kisalkalmazás munkamenetbe, ha a bemeneti érték összetett típusú. Utána lekéri a webszolgáltatás eredmény komponens lekérdező metódusából, így fel lehet használni a szolgáltatás meghívásához.
- Példa kódrész a feldolgozási paraméter bemeneti értékének beállítására JSF művelet metóduson belül az oldalkód komponensben:
PortletResponse response = (PortletResponse)getFacesContext().getExternalContext().getResponse();
((ActionResponse)response).setRenderParameter("inputValue", inputValue);
- Példa kódrész a bemeneti érték lekérésére az eredmény lekérdező metódusával:
PortletRequest request = (PortletRequest)getFacesContext().getExternalContext().getRequest();
String inputValue = request.getParameter("inputValue");
- Ne feledje, hogy egy feldolgozási paraméter használata az információk átadásához a feldolgozási fázisnak további előnyöket biztosít, a jobb Vissza gomb és könyvjelző támogatást.
A portál projektek importálásakor a következő kérdés üzenet jelenhet meg: "A következő munkaterület fájlok nem konzisztensek a szerkesztővel. Frissítse a szerkesztőt a munkaterület tartalmával". Kattintson az Igen gombra.
A portál kisalkalmazás alkalmazás azonosítójának megadása a JSR 168 specifikáció szerint nem kötelező, de a Rational® Developer nem teszi közzé a helyes azonosítóval nem rendelkező portál kisalkalmazásokat. A Rational Developer nem állít elő portál kisalkalmazást ilyen azonosító nélkül. Lehetséges hogy a portál kisalkalmazás úgy került létrehozásra, hogy egy másik forrásból importálta. A probléma megkerülése érdekében nyissa meg a projekt portál kisalkalmazás telepítés leíróját, és adja hozzá a portál kisalkalmazás alkalmazás azonosítóját a forrás oldalon. Például:
<portlet-app xmlns=... version=... xmlns:xsi=... xsi:schemaLocation=... id="ÍRJA_BE_IDE_AZ_AZONOSÍTÓT">
...
</portlet-app>
Ha a rendszer Leállítva kiszolgáló állapotot észlel de a kiszolgáló fut, akkor először győződjön meg róla, hogy a beállított SOAP/RMI kapcsolat portok helyesek, illetve hogy a WebSphere biztonsági hitelesítési információk helyesek a kiszolgáló szerkesztőben. Ha nem, akkor a rendszer soha nem fogja észlelni az Elindítva kiszolgáló állapotot. Ha az információk helyesek és a kiszolgáló állapota még mindig Leállítva, akkor elképzelhető hogy a WebSphere Application Server 6.1 és a WebSphere Portal 6.0 együttes használatával van probléma.
Az a legáltalánosabb helyzet, hogy a WebSphere Application Server 6.1 kiszolgáló a helyi számítógépre van telepítve, és egy új munkaterületet indít. A WebSphere Application Server 6.1 kiszolgáló automatikusan létrehozásra és inicializálásra kerül ezen az új munkaterületen, és ezért a WebSphere Portal 6.0 nem tud megfelelően működni. Ez akkor is előfordulhat, ha először egy WebSphere Application Server 6.1 kiszolgálót majd egy WebSphere Portal 6.0 kiszolgálót hoz létre.
A megoldás hogy újra kell indítani a Rational terméket ugyanazzal a munkaterülettel. A WebSphere Portal 6.0 kiszolgáló példánynak ezután megfelelően kell működnie egészen addig, amíg a WebSphere Application Server 6.1 kiszolgáló inicializálásra nem kerül, azaz amíg az állapota üres, és nem Leállítva vagy Elindítva.
A portál kisalkalmazások nem jelennek meg az oldalakon a saját portál projekt futtatása vagy 6.0 portálra telepítése után. A probléma hatásának minimalizálása érdekében csak a konfigurációt telepítse, ha a teljes telepítésre nincs szükség.
Ha a problémába ütközik, akkor próbálja meg a portál projektnek csak a konfigurációját telepíteni a portál kisalkalmazások telepítése nélkül. Ennek hatására a portál kisalkalmazások általában megfelelően kerülnek feldolgozásra.
Ha új Üzleti folyamat üzenetet és WSDL fájlt hoz létre a Dokumentum-literál stílusban, akkor elképzelhető hogy a bemeneti és kimenet üzenetek nevei nem jelennek meg a varázsló második oldalán. Az üzeneteket ettől még ki tudja választani, és meg tudja jeleníteni a részletes információikat a varázsló jobboldalán. Az előállított kód helyes lesz annak ellenére, hogy az üzenetnevek nem jelennek meg a varázslóban.
Ha az együttműködő varázslóval hoz létre forrás vagy cél portál kisalkalmazásokat és a JSR 168 portál kisalkalmazás projekt több portál kisalkalmazás típust is tartalmaz, például egy alap portál kisalkalmazást és egy struts portál kisalkalmazást, akkor az alapértelmezett művelet paraméter a varázslóban helytelen lehet.
Az alap és felület portál kisalkalmazásokban az alapértelmezett művelet paraméternek ACTION_NAME_PARAM-nak kell lennie, de a felhasználó választhat más értéket is.
A Struts alkalmazásoknál a művelet paraméternek spf_strutsAction-nek kell lennie.
Az egyedi név alapértelmezett értékei a feladat oldal tárolókban:
WebSphere Portal v6.0: ibm.portal.MyTasks
WebSphere Portal v5.1: wps.MyTasksHa a Portál tervezőben a fentiektől eltérő egyedi névvel rendelkező másik oldalt használ, akkor a rendszer nem ismeri fel az oldalt feladat oldal tároló oldalként a WebSphere Portal termékben a telepítése után.
Kerülő megoldás: A telepítés után a következő lépések végrehajtásával módosítsa a TaskPageContainerUniqueName paraméter értékét a Saját feladatok portál kisalkalmazásban:
1. Nyissa meg az Adminisztráció > Portál kisalkalmazás kezelés > Portál kisalkalmazások elemet.
2. Kattintson a Saját feladatok portál kisalkalmazás Portál kisalkalmazás beállítása gombjára.
3. Kattintson a TaskPageContainerUniqueName paraméter Szerkesztés gombjára.
4. Cserélje le az értéket az új egyedi névre a Portál tervezővel az alábbi értékek használatával:WebSphere Portal v6.0: ibm.portal.MyTasks
WebSphere Portal v5.1: wps.MyTasks
5. Kattintson az OK gombra.
Ha egy portál projektet a Rational Developer 6.x termékből vett át a Rational Developer 7.0 munkaterületre, akkor ez telepítési hibákat okozhat, és a NoModuleFileException kivétel jelentkezhet. Ha ez megtörténik, akkor a probléma kijavításához végezze el az alábbi lépéseket.
- Ez az eljárás feltételezi, hogy már létrehozott egy "wps" EAR projektet a hibás portál projekt telepítési műveletből.
- Nyissa meg az application.xml fájlt az újonnan létrehozott wps EAR projektből.
- Győződjön meg róla, hogy az application.xml az alábbiakhoz hasonlóan néz ki:
<module id="WebModule_1163447032109">
<web>
<web-uri>wps.war</web-uri>
<context-root>wps</context-root>
</web>
</module>
<module id="WebModule_WSRP">
<web>
<web-uri>wps_facade.war</web-uri>
<context-root>/wsrp</context-root>
</web>
</module>
<module id="EjbModule_1">
<ejb>wp.scheduler.ejb.jar</ejb>
</module>
<security-role id="SecurityRole_1">
<description>Mindenki a vállalatban.</description>
<role-name>Mindenki szerep</role-name>
</security-role>
<security-role id="SecurityRole_2">
<description>A vállalat összes hitelesített felhasználója</description>
<role-name>Összes szerep</role-name>
</security-role>
<security-role id="SecurityRole_3">
<description>Nincsenek felhasználók a vállalatban.</description>
<role-name>Nincs szerep</role-name>
</security-role>
- Pontosabban a tartalomnak:
- Tartalmaznia kell egy webmodul meghatározást a wps.war fájlhoz "wps" értékre állított content-root beállítással.
- Nem tartalmazhat több webmodul meghatározást "wps" értékre állított content-root beállítással.
- Tartalmaznia kell egy webmodul meghatározást a wps_facade.war fájlhoz "/wsrp" értékre állított content-root beállítással.
- Tartalmaznia kell egy Vállalati JavaBean komponens modul meghatározást a wp.scheduler.ejb.jar fájlhoz.
- Tartalmaznia kell biztonsági szerep meghatározást a "Mindenki szerep", "Összes szerep" és "Nincs szerep" beállításokhoz.
- Mentse el és tegye közzé ismét.
A WebSphere Portal 6.0 változatában lévő elavult jsf-ibm.jar fájl miatt néhány JSF komponens nem jelenik meg megfelelően a portál kisalkalmazásokban ha az osztálybetöltő mód PARENT_FIRST értékre van állítva a portál kisalkalmazás webmodulon. Ez azért van, mert ha az osztálybetöltő mód PARENT_FIRST értékre van állítva, akkor a rendszer a WebSphere Portal 6.0 változatában található jsf-ibm.jar fájlt használja a portál kisalkalmazás webmodulban tárolt másolat helyett.
Ez csak a jsf-ibm.jar fájl azon komponenseit érinti, amelyek megfelelnek a http://www.ibm.com/jsf/html_extended URI-nek. A Faces IBM és a Faces JSR168 portál kisalkalmazásokat is érinti.
A rendszer az alábbi helyzetekben PARENT_FIRST értékre állítja a portál kisalkalmazás webmodul osztálybetöltő módját, így nincs szükség a módosításra:
A probléma megkerülése érdekében nyissa meg az application.xml fájlt a portál kisalkalmazás projektet tartalmazó EAR fájlban, majd nyissa meg a "Telepítés" lapot. Az "Alkalmazás" részben keresse meg az EAR-t és a portál kisalkalmazás projektet megjelenítő fát. Válassza ki a portál kisalkalmazás projektet, és módosítsa az "Osztálybetöltő mód" "PARENT_FIRST" beállítását "PARENT_LAST" beállításra. Elképzelhető hogy ismét közzé kell tennie az alkalmazást ahhoz, hogy a módosítások életbe lépjenek a cél kiszolgálón.
- Ha a portál kisalkalmazást a Rational Developer 7. változata telepítette.
- Ha a portált először az EAR fájl használatával a WebSphere alkalmazáskiszolgálóra telepítette, majd az xmlAccess paranccsal beállította a WebSphere Portal környezetben.
Ha a portál kisalkalmazást közvetlenül a WebSphere Portal környezetben telepítette a WAR fájl használatával a WebSphere Portal adminisztrációs oldaláról vagy az xmlAccess parancsból, akkor az osztálybetöltő mód már PARENT_LAST értékre van állítva. Ebben az esetben a portál kisalkalmazás mindenféle kerülő megoldás nélkül is megfelelően fog működni.
Ha a Rational Developer 6.x változatával létrehozott 5.1.0.1 portál projektet importál Portál adatcserével egy Rational Developer 7.0 munkaterületre, akkor a "Futtatás WebSphere Portal 5.1 tesztkörnyezetben" funkció hibába ütközhet.
Kerülő megoldás: Az alábbi lépések végrehajtásával módosítsa a .portalsettings fájl tartalmát:
1. Nyissa meg az Ablak > Perspektíva megnyitása > Egyéb... ablakot.
2. Válassza az Erőforrás elemet, majd kattintson az OK gombra a Perspektíva megnyitása párbeszédablakban.
3. Bontsa ki a portál projektet a Navigátor nézetben.
4. Válassza ki a .portalsettings fájlt, és nyissa meg a Szövegszerkesztővel.
5. Szúrja be az alábbiakat.
<?xml version="1.0" encoding="UTF-8"?>
<portalSettings>
<portal-version version="5.1.0.1"/>
<portlets-ear-project portlets-ear-project-name=""/>
<process-integration mytaskspage-uniquename="wps.MyTasks"/>
</portalSettings>
A Portál és portál kisalkalmazás példák importálása varázsló használatához meg kell adni a "Webfejlesztő (speciális)" beállítást. A képesség engedélyezéséhez nyissa meg a Súgó > Üdvözlet oldalt, majd az Üdvözlet oldalon kattintson a képernyő sarkában látható "Szerepek engedélyezése" gombra. A bekapcsoláshoz válassza ki a "Webfejlesztő (speciális)" szerepet. A módosítások életbelépéséhez indítsa újra a varázslót vagy a Mintagalériát.