- PR -

weblogic9.0Jでのデプロイエラーについて

1
投稿者投稿内容
未記入
会議室デビュー日: 2006/06/14
投稿数: 9
投稿日時: 2006-06-14 16:55
現在、Weblogic6.1からWeblogic9.0Jに移行しようとしているのですが、
デプロイ時に必ず以下の2つのエラーが出て、失敗します。
※2つ続けてログ表示されます


-----------------------------------------------
@
[HTTP:101064][WebAppModule(91Beta:MyApplication)] Web アプリケーション "D:\deployments\production\MyApplication\91Beta\app\MyApplication" の記述子を解析できません。 weblogic.application.ModuleException: Unmarshaller failed at weblogic.servlet.internal.WebAppModule.loadDescriptor(WebAppModule.java:758) at weblogic.servlet.internal.WebAppModule.prepare(WebAppModule.java:260) at weblogic.application.internal.flow.ModuleListenerInvoker.prepare(ModuleListenerInvoker.java:90) at weblogic.application.internal.flow.DeploymentCallbackFlow$1.next(DeploymentCallbackFlow.java:318) at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:26) at weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(DeploymentCallbackFlow.java:53) at weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(DeploymentCallbackFlow.java:43) at weblogic.application.internal.BaseDeployment$1.next(BaseDeployment.java:615) at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:26) at weblogic.application.internal.BaseDeployment.prepare(BaseDeployment.java:236) at weblogic.application.internal.DeploymentStateChecker.prepare(DeploymentStateChecker.java:147) at weblogic.deploy.internal.targetserver.AppContainerInvoker.prepare(AppContainerInvoker.java:61) at weblogic.deploy.internal.targetserver.operations.ActivateOperation.createAndPrepareContainer(ActivateOperation.java:191) at weblogic.deploy.internal.targetserver.operations.ActivateOperation.doPrepare(ActivateOperation.java:84) at weblogic.deploy.internal.targetserver.operations.AbstractOperation.prepare(AbstractOperation.java:197) at weblogic.deploy.internal.targetserver.DeploymentManager.handleDeploymentPrepare(DeploymentManager.java:724) at weblogic.deploy.internal.targetserver.DeploymentManager.prepareDeploymentList(DeploymentManager.java:1137) at weblogic.deploy.internal.targetserver.DeploymentManager.handlePrepare(DeploymentManager.java:224) at weblogic.deploy.internal.targetserver.DeploymentServiceDispatcher.prepare(DeploymentServiceDispatcher.java:109) at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.doPrepareCallback(DeploymentReceiverCallbackDeliverer.java:166) at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.access$100(DeploymentReceiverCallbackDeliverer.java:12) at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer$2.run(DeploymentReceiverCallbackDeliverer.java:54) at weblogic.work.ServerWorkManagerImpl$WorkAdapterImpl.run(ServerWorkManagerImpl.java:518) at weblogic.work.ExecuteThread.execute(ExecuteThread.java:207) at weblogic.work.ExecuteThread.run(ExecuteThread.java:179) Caused by: weblogic.descriptor.BeanAlreadyExistsException: Bean already exists: "weblogic.j2ee.descriptor.ServletBeanImpl@300f8024(/Servlets[DownloadError])" at weblogic.descriptor.internal.ReferenceManager.registerBean(ReferenceManager.java:191) at weblogic.j2ee.descriptor.WebAppBeanImpl.setServlets(WebAppBeanImpl.java:871) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at com.bea.staxb.runtime.internal.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:48) at com.bea.staxb.runtime.internal.RuntimeBindingType$BeanRuntimeProperty.setValue(RuntimeBindingType.java:450) at com.bea.staxb.runtime.internal.AttributeRuntimeBindingType$QNameRuntimeProperty.fillCollection(AttributeRuntimeBindingType.java:385) at com.bea.staxb.runtime.internal.MultiIntermediary.getFinalValue(MultiIntermediary.java:52) at com.bea.staxb.runtime.internal.AttributeRuntimeBindingType.getFinalObjectFromIntermediary(AttributeRuntimeBindingType.java:145) at com.bea.staxb.runtime.internal.UnmarshalResult.unmarshalBindingType(UnmarshalResult.java:185) at com.bea.staxb.runtime.internal.UnmarshalResult.unmarshalDocument(UnmarshalResult.java:154) at com.bea.staxb.runtime.internal.UnmarshallerImpl.unmarshal(UnmarshallerImpl.java:65) at weblogic.descriptor.internal.MarshallerFactory$1.createDescriptor(MarshallerFactory.java:138) at weblogic.descriptor.DescriptorManager.createDescriptor(DescriptorManager.java:254) at weblogic.descriptor.DescriptorManager.createDescriptor(DescriptorManager.java:283) at weblogic.application.descriptor.AbstractDescriptorLoader.createDescriptor(AbstractDescriptorLoader.java:344) at weblogic.application.descriptor.CachingDescriptorLoader.createDescriptor(CachingDescriptorLoader.java:188) at weblogic.application.descriptor.AbstractDescriptorLoader.createDescriptor(AbstractDescriptorLoader.java:328) at weblogic.application.descriptor.AbstractDescriptorLoader.getDescriptor(AbstractDescriptorLoader.java:237) at weblogic.application.descriptor.AbstractDescriptorLoader.getRootDescriptorBean(AbstractDescriptorLoader.java:217) at weblogic.application.descriptor.AbstractDescriptorLoader.getPlanMergedDescriptor(AbstractDescriptorLoader.java:574) at weblogic.application.descriptor.AbstractDescriptorLoader.getPlanMergedDescriptorBean(AbstractDescriptorLoader.java:543) at weblogic.servlet.internal.WebAppDescriptor.getWebAppBean(WebAppDescriptor.java:134) at weblogic.servlet.internal.WebAppModule.loadDescriptor(WebAppModule.java:754) ... 24 more weblogic.application.ModuleException: Unmarshaller failed



A
Bean already exists: "weblogic.j2ee.descriptor.ServletBeanImpl@300f8024(/Servlets[DownloadError])"

-----------------------------------------------

対応方法をご存知の方、ご教授ねがいます。

なお、モジュールの配置は、以下のとおりです。
D:\deployments\production\MyApplication\91Beta
  \app\MyApplication
         \common
         \WEB-INF
             --web.xml
             --weblogic.xml
  \plan
   --Plan.xml

山本 裕介
ぬし
会議室デビュー日: 2003/05/22
投稿数: 2415
お住まい・勤務地: 恵比寿
投稿日時: 2006-06-14 17:40
まず、せっかくですから WLS9.1 か、そろそろ出そうな 9.2 に移行してはいかがでしょう。
9.0 から大幅に不具合が修正されています。
http://edocs.beasys.co.jp/e-docs/wls/docs91/issues/known_resolved.html

デプロイできない原因ですが、「述子を解析できません」とありますのでデプロイメントデスクリプタに誤りがあるのではないでしょうか。
J2EE1.3と1.4ではDDの定義が DTD ベースから XML Schema ベースに変更になっています。
J2EE1.4 として DD が valid であるか確認してみてはいかがでしょう。

[ メッセージ編集済み 編集者: インギ 編集日時 2006-06-14 17:41 ]
未記入
会議室デビュー日: 2006/06/14
投稿数: 9
投稿日時: 2006-06-15 10:40
ご返答ありがとうございます。

とりあえず、WLS9.1をインストールしました。
これだけでは、解決しませんでしたが、
ご指摘の通り、「記述子を解析できません」に着目し、
web.xmlの記述を見直してみました。

以下2点を改善すると、エラーは取れました。
ありがとうございました。

@同じ内容のタグを2回書いていた

<servlet>
<servlet-name>ABC</servlet-name>
<jsp-file>ABC.jsp</jsp-file>
</servlet>
<servlet>
<servlet-name>ABC</servlet-name>
<jsp-file>ABC.jsp</jsp-file>
</servlet>

⇒ 1つだけにしました。

Alocationタグに"/"がなかった

<error-page>
<error-code>500</error-code>
<location>ErrorPage.jsp</location>
</error-page>
⇒ "/"をつけました
<location>/ErrorPage.jsp</location>
1

スキルアップ/キャリアアップ(JOB@IT)