开发者

Error deploying web application on Weblogic 10.3 using maven 2: "Can't find wsdl /wsdls/wsat.wsdl"

I'm using maven for deploying a web application in my Weblogic 10.3 server remotely. I created my pom file based on the indication on this previous question:

Using maven as build tool for Weblogic 10.3

My pom.xml file is:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.balfourbeatty.horizon.maven.test</groupId>
  <artifactId>maven-test-webapp</artifactId>
  <packaging>war</packaging>
  <version>1.0-SNAPSHOT</version>
  <name>maven-test-webapp Maven Webapp</name>
  <url>http://maven.apache.org</url>

  <properties>
    <weblogic.version>10.3</weblogic.version>
  </properties>


  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.myfaces.trinidadbuild</groupId>
        <artifactId>maven-jdev-plugin</artifactId>
      </plugin>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>weblogic-maven-plugin</artifactId>
        <version>2.9.1</version>
        <configuration>
          <name>maven-test-webapp</name>
          <adminServerHostName>******************</adminServerHostName>
          <adminServerPort>****</adminServerPort>
          <adminServerProtocol>t3</adminServerProtocol>
          <userId>******</userId>
          <password>*****</password>
          <upload>true</upload>
          <remote>true</remote>
          <verbose>true</verbose>
          <debug>true</debug>
          <targetNames>WLS_Spaces</targetNames>
          <noExit>true</noExit>
          <projectPackaging>war</projectPackaging>
        </configuration>
        <dependencies>
          <dependency>
            <groupId>com.sun</groupId>
            <artifactId>tools</artifactId>
            <version>1.6</version>
            <scope>system</scope>
            <systemPath>${java.home}/../lib/tools.jar</systemPath>
          </dependency>
          <dependency>
            <groupId>weblogic</groupId>
            <artifactId>weblogic</artifactId>
            <version>${weblogic.version}</version>
          </dependency>
          <dependency>
            <groupId>weblogic</groupId>
            <artifactId>webservices</artifactId>
            <version>${weblogic.version}</version>
          </dependency>
          <dependency>
            <groupId>weblogic</groupId>
            <artifactId>com.bea.core.utils.full</artifactId>
            <version>${weblogic.version}</version>
            <scope>provided</scope>
          </dependency>
          <dependency>
            <groupId>weblogic</groupId>
            <artifactId>com.bea.core.i18n</artifactId>
            <version>${weblogic.version}</version>
            <scope>provided</scope>
          </dependency>
          <dependency>
            <groupId>weblogic</groupId>
            <artifactId>com.bea.core.weblogic.rmi.client</artifactId>
            <version>${weblogic.version}</version>
            <scope>provided</scope>
          </dependency>
          <dependency>
            <groupId>weblogic</groupId>
            <artifactId>javax.enterprise.deploy</artifactId>
            <version>${weblogic.version}</version>
            <scope>provided</scope>
          </dependency>
          <dependency>
            <groupId>weblogic</groupId>
            <artifactId>webserviceclient</artifactId>
            <version>${weblogic.version}</version>
            <scope>provided</scope>
          </dependency>
          <dependency>
            <groupId>weblogic</groupId>
            <artifactId>com.bea.core.weblogic.security.wls</artifactId>
            <version>${weblogic.version}</version>
            <scope>provided</scope>
          </dependency>
          <dependency>
            <groupId>weblogic</groupId>
            <artifactId>com.bea.core.weblogic.security.identity</artifactId>
            <version>${weblogic.version}</version>
            <scope>provided</scope>
          </dependency>
          <dependency>
            <groupId>weblogic</groupId>
            <artifactId>com.bea.core.weblogic.security</artifactId>
            <version>${weblogic.version}</version>
            <scope>provided</scope>
          </dependency>
          <dependency>
            <groupId>weblogic</groupId>
            <artifactId>wlclient</artifactId>
            <version>${weblogic.version}</version>
            <scope>provided</scope>
          </dependency>
          <dependency>
            <groupId>weblogic</groupId>
            <artifactId>com.bea.core.transaction</artifactId>
            <version>${weblogic.version}</version>
            <scope>provided</scope>
          </dependency>
          <dependency>
            <groupId>weblogic</groupId>
            <artifactId>com.bea.core.utils.classloaders</artifactId>
            <version>${weblogic.version}</version>
            <scope>provided</scope>
          </dependency>
          <dependency>
            <groupId>weblogic</groupId>
            <artifactId>wljmsclient</artifactId>
            <version>${weblogic.version}</version>
            <scope>provided</scope>
          </dependency>
          <dependency>
            <groupId>weblogic</groupId>
            <artifactId>com.bea.core.management.core</artifactId>
            <version>${weblogic.version}</version>
            <scope>provided</scope>
          </dependency>
          <dependency>
            <groupId>weblogic</groupId>
            <artifactId>wls-api</artifactId>
            <version>${weblogic.version}</version>
            <scope>provided</scope>
          </dependency>
          <dependency>
            <groupId>weblogic</groupId>
            <artifactId>com.bea.core.descriptor</artifactId>
            <version>${weblogic.version}</version>
            <scope>provided</scope>
          </dependency>
          <dependency>
            <groupId>weblogic</groupId>
            <artifactId>com.bea.core.logging</artifactId>
            <version>${weblogic.version}</version>
            <scope>provided</scope>
          </dependency>
          <dependency>
            <groupId>weblogic</groupId>
            <artifactId>com.bea.core.weblogic.socket.api</artifactId>
            <version>${weblogic.version}</version>
            <scope>provided</scope>
          </dependency>
          <dependency>
            <groupId>weblogic</groupId>
            <artifactId>com.bea.core.weblogic.security.digest</artifactId>
            <version>${weblogic.version}</version>
            <scope>provided</scope>
          </dependency>
          <dependency>
            <groupId>weblogic</groupId>
            <artifactId>com.bea.core.weblogic.workmanager</artifactId>
            <version>${weblogic.version}</version>
            <scope>provided</scope>
          </dependency>
          <dependency>
            <groupId>weblogic</groupId>
            <artifactId>com.bea.core.weblogic.lifecycle</artifactId>
            <version>${weblogic.version}</version>
            <scope>provided</scope>
          </dependency>
          <dependency>
            <groupId>weblogic</groupId>
            <artifactId>com.bea.core.utils.wrapper</artifactId>
            <version>${weblogic.version}</version>
            <scope>provided</scope>
          </dependency>
          <dependency>
            <groupId>weblogic</groupId>
            <artifactId>wlsafclient</artifactId>
            <version>${weblogic.version}</version>
            <scope>provided</scope>
          </dependency>
          <dependency>
            <groupId>weblogic</groupId>
            <artifactId>com.bea.core.management.jmx</artifactId>
            <version>${weblogic.version}</version>
            <scope>provided</scope>
          </dependency>
          <dependency>
            <groupId>weblogic</groupId>
            <artifactId>com.bea.core.descriptor.wl</artifactId>
            <version>${weblogic.version}</version>
            <scope>provided</scope>
          </dependency>
    <dependency>
      <groupId>weblogic</groupId>
      <artifactId>javax.mail</artifactId>
      <version>10.3</version>
    </dependency>
        </dependencies>
      </plugin>
    </plugins>
    <finalName>maven-test-webapp</finalName>
  </build>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.codehaus.mojo</groupId>
      <artifactId>weblogic-maven-plugin</artifactId>
      <version>2.9.1</version>
    </dependency>
  </dependencies>


<distributionManagement>
  <!-- use the following if you're not using a snapshot version. -->
  <repository>
    <id>internal</id>
    <name>Archiva Managed Internal Repository</name>
    <url>http://localhost:8180/archiva/repository/internal</url>
  </repository>
  <!-- use the following if you ARE using a snapshot version. -->
  <snapshotRepository>
    <id>snapshots</id>
    <name>Archiva Managed Snapshot Repository</name>
    <url>http://localhost:8180/archiva/repository/snapshots</url>
  </snapshotRepository>
</distributionManagement>  

</project>

All the dependencies are already resolved properly, as they are in the local archiva repository.

The application does not contain any web-service, being just a "hello world" application. Complete tree after executing maven install is:

C:.
│   pom.xml
│
├───src
│   └───main
│       ├───resources
│       └───webapp
│           │   index.jsp
│           │
│           └───WEB-INF
│                   web.xml
│
└───target
    │   maven-test-webapp.war
    │
    ├───classes
    ├───maven-archiver
    │       pom.properties
    │
    ├───maven-test-webapp
    │   │   index.jsp
    │   │
    │   ├───META-INF
    │   └───WEB-INF
    │       │   web.xml
    │       │
    │       ├───classes
    │       └───lib
    │               ant-1.6.5.jar
    │               maven-artifact-2.0.jar
    │               maven-plugin-api-2.0.jar
    │               plexus-utils-1.0.4.jar
    │               weblogic-10.3.jar
    │               weblogic-maven-plugin-2.9.1.jar
    │               webservices-10.3.jar
    │
    └───war
        └───work
                webapp-cache.xml

The error I get is:

[BasicOperation.execute():423] : Initiating deploy operation for app, maven-test-webapp, on targets:
[BasicOperation.execute():425] :    WLS_Spaces
Task 14 initiated: [Deployer:149026]deploy application maven-test-webapp on WLS_Spaces.
dumping Exception stack
Task 14 failed: [Deployer:149026]deploy application maven-test-webapp on WLS_Spaces.
Target state: deploy failed on Server WLS_Spaces
weblogic.wsee.ws.WsException: When processing WebService module 'maven-test-webapp.war'.  Can't find wsdl /wsdls/wsat.wsdl
        at weblogic.wsee.deploy.WSEEWebModule.loadWsdlDefinitions(WSEEWebModule.java:159)
        at weblogic.wsee.deploy.WSEEModule.loadWsdl(WSEEModule.java:334)
        at weblogic.wsee.deploy.WSEEAnnotationProcessor.isWsdlHasPolicy(WSEEAnnotationProcessor.java:312)
        at weblogic.wsee.deploy.WSEEAnnotationProcessor.process(WSEEAnnotationProcessor.java:91)
        at weblogic.wsee.deploy.WSEEAnnotationProcessor.process(WSEEAnnotationProcessor.java:51)
        at weblogic.wsee.deploy.WSEEModule.prepare(WSEEModule.java:102)
        at weblogic.wsee.deploy.ServletDeployListener.contextPrepared(ServletDeployListener.j开发者_如何学JAVAava:26)
        at weblogic.servlet.internal.EventsManager$FireContextPreparedAction.run(EventsManager.java:503)
        at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
        at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
        at weblogic.servlet.internal.EventsManager.notifyContextPreparedEvent(EventsManager.java:162)
        at weblogic.servlet.internal.WebAppServletContext.initContextListeners(WebAppServletContext.java:1782)
        at weblogic.servlet.internal.WebAppServletContext.prepare(WebAppServletContext.java:1136)
        at weblogic.servlet.internal.HttpServer.doPostContextInit(HttpServer.java:449)
        at weblogic.servlet.internal.HttpServer.loadWebApp(HttpServer.java:424)
        at weblogic.servlet.internal.WebAppModule.registerWebApp(WebAppModule.java:924)
        at weblogic.servlet.internal.WebAppModule.prepare(WebAppModule.java:356)
        at weblogic.application.internal.flow.ScopedModuleDriver.prepare(ScopedModuleDriver.java:176)
        at weblogic.application.internal.flow.ModuleListenerInvoker.prepare(ModuleListenerInvoker.java:199)
        at weblogic.application.internal.flow.DeploymentCallbackFlow$1.next(DeploymentCallbackFlow.java:391)
        at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:83)
        at weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(DeploymentCallbackFlow.java:59)
        at weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(DeploymentCallbackFlow.java:43)
        at weblogic.application.internal.BaseDeployment$1.next(BaseDeployment.java:1221)
        at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:83)
        at weblogic.application.internal.BaseDeployment.prepare(BaseDeployment.java:367)
        at weblogic.application.internal.SingleModuleDeployment.prepare(SingleModuleDeployment.java:39)
        at weblogic.application.internal.DeploymentStateChecker.prepare(DeploymentStateChecker.java:154)
        at weblogic.deploy.internal.targetserver.AppContainerInvoker.prepare(AppContainerInvoker.java:60)
        at weblogic.deploy.internal.targetserver.operations.ActivateOperation.createAndPrepareContainer(ActivateOperation.java:207)
        at weblogic.deploy.internal.targetserver.operations.ActivateOperation.doPrepare(ActivateOperation.java:98)
        at weblogic.deploy.internal.targetserver.operations.AbstractOperation.prepare(AbstractOperation.java:217)
        at weblogic.deploy.internal.targetserver.DeploymentManager.handleDeploymentPrepare(DeploymentManager.java:747)
        at weblogic.deploy.internal.targetserver.DeploymentManager.prepareDeploymentList(DeploymentManager.java:1216)
        at weblogic.deploy.internal.targetserver.DeploymentManager.handlePrepare(DeploymentManager.java:250)
        at weblogic.deploy.internal.targetserver.DeploymentServiceDispatcher.prepare(DeploymentServiceDispatcher.java:159)
        at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.doPrepareCallback(DeploymentReceiverCallbackDeliverer.java:157)
        at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.access$000(DeploymentReceiverCallbackDeliverer.java:12)
        at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer$1.run(DeploymentReceiverCallbackDeliverer.java:45)
        at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:516)
        at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
        at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)

Does anyone have any idea on what could the problem be?

Many thanks!


I'm pretty sure you're not supposed to have the following dependencies in an "hello word" webapp:

ant-1.6.5.jar
maven-artifact-2.0.jar
maven-plugin-api-2.0.jar
plexus-utils-1.0.4.jar
weblogic-10.3.jar
weblogic-maven-plugin-2.9.1.jar
webservices-10.3.jar

I suspect weblogic to detect one of these jar (the latest?) and to treat your application as a WebService module. I would thus do some cleanup:

  • I'm not sure you need to declare the weblogic-maven-plugin as a dependency (if you do, use a provided scope, you don't want it and its dependencies in the webapp).
  • You should not package the weblogic JAR in the webapp (mark it as provided).
  • You should not package the webservices JAR in the webapp (mark it as provided).

Then, try again.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜