weblogic 9.2 与CXF Service,java.lang.NoSuchMethodError: javax.jws.WebService.portName()Ljava/lan g/String

WebLogic

There are two ways to deploy a CXF WAR archive in WebLogic. (Note: This has been validated on WebLogic9.2.)

Put jars in endorsed folder

  • Put the geronimo-ws-metadata_2.0_spec-1.1.1.jar in the $Weblogic_Home/jdk_../jre/lib/endorsed folder.
  • Deploy the CXF war in weblogic.
    (This way is not recommended, since it might break the application server itself. The method below is preferred, as it impacts a single module only.)

Pack war in an ear, deploy the ear with weblogic-application.xml

  • Create a standard J2EE application.xml file in the META-INF folder. (Take $CXF_HOME/samples/java_first_spring_support for example)
    "1.0" encoding="UTF-8"?>
    "-//Sun Microsystems, Inc.//DTD J2EE Application 1.3//EN"
    		"http://java.sun.com/dtd/application_1_3.dtd">
    
    	spring_http
    	
    		
    			spring_http.war
    			spring
    		
    	
    
    
  • Create a weblogic-application.xml (Weblogic specific) in the META-INF folder.
    "1.0" encoding="UTF-8"?>
    "http://www.bea.com/ns/weblogic/90">
    	
    		webapp.encoding.default
    		UTF-8
    	
    	
    		javax.jws.*
    	
    
    

The prefer-application-packages element you see above sets up WebLogic's Filtering Classloader. Each class whose package matches one of the package-name elements listed will be searched for first within the EAR before relying on the WebLogic system classloader's version. If a package for a particular class is not listed here, WebLogic will try to load its own (possibly older) version first, so if you are getting deployment errors due to any particular class you might wish to add its package here.

Also note you can, and may need to, specify other options in the weblogic-application.xml file such as XML processing factories as shown here. See the WebLogic guide for more information.

  • Run "jar cvf ..." command to create the ear and then deploy it. Alternatively, this blog entry provides a Mavenized method of building the EAR.

你可能感兴趣的:(weblogic 9.2 与CXF Service,java.lang.NoSuchMethodError: javax.jws.WebService.portName()Ljava/lan g/String)