déploiement d'un application Resin sous Weblogic [Weblogic] - Java - Programmation
Marsh Posté le 27-05-2004 à 18:45:34
Citation : ChildCountException: missing servlet-name in servlet |
ca parait clair non ? dans ton web.xml, il y a une balise servlet qui n'a pas de fils servlet-name.
je serait étonné que ca fonctionne tel quel sous resin ...
Marsh Posté le 28-05-2004 à 09:18:25
bien pas si clair pour moi. Le web.xml fonctionne bien avec Resin (si peu que je change pour les bons répertoires). Toutes mes balises servlet de mon web.xml ont des attribus servlet-name avec une valeur.
Marsh Posté le 28-05-2004 à 09:25:52
chimical a écrit : bien pas si clair pour moi. Le web.xml fonctionne bien avec Resin (si peu que je change pour les bons répertoires). Toutes mes balises servlet de mon web.xml ont des attribus servlet-name avec une valeur. |
ben pourtant il te dit que non ...
Marsh Posté le 28-05-2004 à 10:22:19
j'ai modifié le web.xml en passant les <... x=y /> en
<...>
<x>y</x>
</...>
et ça marche. Apparement, contrairement à Resin, Weblogic n'aime pas les attributs dans les balises et veut absolument des balises filles.
Marsh Posté le 28-05-2004 à 10:24:49
ReplyMarsh Posté le 01-06-2004 à 09:59:12
Non je peux certifier qu'un web.xml d'une application tournant sous Resin à de très fortes chances de se voir modifier sous Weblogic 8.1 pour les raisons suivantes:
- attributs qui ne semblent pas être reconnus sous weblogic et imposent de devenir des balises filles:
servlet-name=nom => <servlet-name>nom</servlet-name>
- balises qui n'existent pas sous weblogic (et inversement):
par ex: <run-at> disparait sous Weblogic
- un ordre des balises filles différents
Marsh Posté le 01-06-2004 à 10:25:17
chimical a écrit : Non je peux certifier qu'un web.xml d'une application tournant sous Resin à de très fortes chances de se voir modifier sous Weblogic 8.1 pour les raisons suivantes: |
Houla ...
où est ce que tu as vu qu'on pouvait faire servlet-name=nom ?
le web.xml doit respecter une DTD qui ne permet pas ce genre de choses : http://java.sun.com/dtd/web-app_2_3.dtd
la balise run-at n'existe pas ...
l'ordre est défini par la DTD => y a pas de doute sur l'ordre des balises. Remarque : ce dernier point n'est plus vrai en Servlet 2.4 pour lequel l'ordre des balises n'a plus d'importance (la vérification du web.xml se fait par un XML Schema, plus par une DTD)
Marsh Posté le 01-06-2004 à 10:25:27
uriel a écrit : bizarre ca, les 2 sont pourtant bon en terme XML |
Marsh Posté le 01-06-2004 à 10:57:14
merci pour ces precisions sur la DTD, je ne savais pas tout ça. Je m'en suis rendu compte avec Weblogic
run-at est une balise qui fonctionne dans le web.xml sous Resin, elle permet de lancer des servlet à des heures données.
En fait j'ai developpé à partir d'une application web tournant sous Resin. Donc le fichier web.xml était déjà créé. Il semble d'ailleurs suivre les exemples proposés sur caucho.
Marsh Posté le 01-06-2004 à 12:03:14
ReplyMarsh Posté le 01-06-2004 à 12:06:18
uriel a écrit : quoi? l'utilisation des attributs est interdit en XML? |
c'est la dtd qui impose la distinction attribut/element, mais certaines versions de resin sont effectivement assez souples.
et le run-at, je confirme, c'est specifique à resin
Marsh Posté le 01-06-2004 à 14:04:17
the real moins moins a écrit : c'est la dtd qui impose la distinction attribut/element, mais certaines versions de resin sont effectivement assez souples. |
Et de ce fait, ca a un namespace specifique j'espere...
A+,
Marsh Posté le 01-06-2004 à 14:08:32
je pense pas, jpense qu'ils ont augmenté le dtd. mais tout ça a changé sur les versions plus récentes hein
Marsh Posté le 01-06-2004 à 14:12:20
Sauf que t'as pas le droit de modifier une DTD standard (si j'ai bien compris, c'est le cas ici) comme ca, pour tes propres besoins. Il y a des manieres prevues pour etendre une DTD (les namespace) et c'est pas fait pour les chiens.
A+,
Marsh Posté le 01-06-2004 à 14:14:55
pas le droit? comment ça?
et puis bon, j'y suis pour rien moi
Marsh Posté le 01-06-2004 à 15:14:43
the real moins moins a écrit : c'est la dtd qui impose la distinction attribut/element, mais certaines versions de resin sont effectivement assez souples. |
tin les lourds !!!
the real moins moins a écrit : mais tout ça a changé sur les versions plus récentes hein |
ha, quand même ...
gilou a écrit : Il y a des manieres prevues pour etendre une DTD (les namespace) et c'est pas fait pour les chiens. |
ouais mais bon, les namespaces sont récents ... c'est pas encore vraiment rentré dans les moeurs ...
Marsh Posté le 01-06-2004 à 15:18:02
benou a écrit : tin les lourds !!! |
t'es pas obligé d'utiliser ces features en plus hein
Marsh Posté le 01-06-2004 à 15:50:15
the real moins moins a écrit : t'es pas obligé d'utiliser ces features en plus hein |
mauvaise excuse
la moindre des choses ce serait qu'ils génèrent le vrai web.xml à partir de leur fichier propriétaire si c'est juste pour faciliter l'ecriture, mais là carrément nul
tu sais bien que c'est à force de faire des trucs comme ca que tu flingues l'intéropérabilité
Marsh Posté le 01-06-2004 à 15:56:14
ben ouais mais si t'utilises cette feature tu sais que tu fais une croix sur l'interoperabilité, et basta. et puis comme dit, c résolu dans les versions plus recente je pense, et puis meme à l'époque, y'avait possiblement une solution annexe (du style avoir un resin-web.xml a coté du web.xml pour declarer les trucs custom)
Marsh Posté le 01-06-2004 à 15:57:35
mon tient toujours
Marsh Posté le 01-06-2004 à 15:58:25
spa ma faute si t'es frustré de la grosse daube qu'est tomcat
Marsh Posté le 01-06-2004 à 16:01:20
the real moins moins a écrit : |
nan mais je trouve que tenter les développeurs avec ce genre de trucs c'est pas une bonne idée ...
Marsh Posté le 01-06-2004 à 16:02:28
ben.
ouais.
ecris leur
Marsh Posté le 01-06-2004 à 16:05:09
the real moins moins a écrit : ben. |
m'en fous, je me sers de tomcat
Marsh Posté le 27-05-2004 à 17:43:38
J'ai developpé une application sous Resin. J'aimerais la déployer sous Weblogic. J'ai créé un domaine en mode developpement. Dans le répertoire application j'ai copié mon application 'datafrig_xfra'.
Je retrouve donc:
-domaine
- application
- datafrig_xfra
- WEB-INF
Dans webinf j'ai mon fichier web.xml que je n'ai pas modifié.
Quand je vais dans l'admin et que j'essai de deployer l'application en tant que Web Application Module il me marque:
Exception:weblogic.management.ApplicationException: Prepare failed. Task Id = 5 Module: datafrig_xfra Error: [HTTP:101179][HTTP] Error occurred while parsing descriptor in Web application "C:\Etude_Websphere_Weblogic\bea\user_projects\domains\
domainDatafrig\applications\datafrig_xfra" [Path="C:\Etude_Websphere_Weblogic\bea\user_projects\domains\
domainDatafrig\applications", URI="datafrig_xfra" weblogic.xml.dom.ChildCountException: missing child servlet-name in servlet at weblogic.xml.dom.DOMUtils.getElementByTagName(DOMUtils.java:147) at ...
j'ai du oublier des étapes mais lesquelles ? Apparement ça vient des descripteurs mais lesquels, web.xml, config.xml, weblogic.xml (d'ailleurs ce dernier n'était nul part, alors j'en ai pris un d'un des exemples, il contient quasi rien, et je l'ai mis dans WEB-INF)
Message édité par chimical le 27-05-2004 à 17:58:14