在weblogic.xml中设置jar包的引用方式
<weblogic-web-app>
<container-descriptor>
<prefer-web-inf-classes>true</prefer-web-inf-classes>
</container-descriptor>
</weblogic-web-app>
但是报出了以下错误
2010-3-19 13:40:48 com.sun.xml.ws.transport.http.servlet.WSServletContextListene
r contextInitialized
信息: WSSERVLET12: JAX-WS context listener initializing
2010-3-19 13:40:48 com.sun.xml.ws.transport.http.servlet.WSServletContextListene
r contextInitialized
严重: WSSERVLET11: failed to parse runtime descriptor: java.lang.NoSuchMethodErr
or: javax.jws.WebService.portName()Ljava/lang/String;
java.lang.NoSuchMethodError: javax.jws.WebService.portName()Ljava/lang/String;
at com.sun.xml.ws.model.RuntimeModeler.getPortName(RuntimeModeler.java:1
299)
at com.sun.xml.ws.server.EndpointFactory.getDefaultPortName(EndpointFact
ory.java:376)
at com.sun.xml.ws.transport.http.DeploymentDescriptorParser.parseAdapter
s(DeploymentDescriptorParser.java:234)
at com.sun.xml.ws.transport.http.DeploymentDescriptorParser.parse(Deploy
mentDescriptorParser.java:147)
at com.sun.xml.ws.transport.http.servlet.WSServletContextListener.contex
tInitialized(WSServletContextListener.java:108)
at weblogic.servlet.internal.EventsManager$FireContextListenerAction.run
(EventsManager.java:376)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(Authenticate
dSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:
121)
at weblogic.servlet.internal.EventsManager.notifyContextCreatedEvent(Eve
ntsManager.java:82)
at weblogic.servlet.internal.WebAppServletContext.preloadResources(WebAp
pServletContext.java:1616)
at weblogic.servlet.internal.WebAppServletContext.start(WebAppServletCon
text.java:2761)
at weblogic.servlet.internal.WebAppModule.startContexts(WebAppModule.jav
a:889)
at weblogic.servlet.internal.WebAppModule.start(WebAppModule.java:333)
at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleSta
teDriver.java:204)
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineD
river.java:26)
at weblogic.application.internal.flow.ModuleStateDriver.start(ModuleStat
eDriver.java:60)
at weblogic.application.internal.flow.ScopedModuleDriver.start(ScopedMod
uleDriver.java:200)
at weblogic.application.internal.flow.ModuleListenerInvoker.start(Module
ListenerInvoker.java:117)
at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleSta
teDriver.java:204)
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineD
river.java:26)
at weblogic.application.internal.flow.ModuleStateDriver.start(ModuleStat
eDriver.java:60)
at weblogic.application.internal.flow.StartModulesFlow.activate(StartMod
ulesFlow.java:26)
at weblogic.application.internal.BaseDeployment$2.next(BaseDeployment.ja
va:635)
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineD
river.java:26)
at weblogic.application.internal.BaseDeployment.activate(BaseDeployment.
java:212)
at weblogic.application.internal.DeploymentStateChecker.activate(Deploym
entStateChecker.java:154)
at weblogic.deploy.internal.targetserver.AppContainerInvoker.activate(Ap
pContainerInvoker.java:80)
at weblogic.deploy.internal.targetserver.operations.AbstractOperation.ac
tivate(AbstractOperation.java:566)
at weblogic.deploy.internal.targetserver.operations.ActivateOperation.ac
tivateDeployment(ActivateOperation.java:136)
at weblogic.deploy.internal.targetserver.operations.ActivateOperation.do
Commit(ActivateOperation.java:104)
at weblogic.deploy.internal.targetserver.operations.StartOperation.doCom
mit(StartOperation.java:139)
at weblogic.deploy.internal.targetserver.operations.AbstractOperation.co
mmit(AbstractOperation.java:320)
at weblogic.deploy.internal.targetserver.DeploymentManager.handleDeploym
entCommit(DeploymentManager.java:815)
at weblogic.deploy.internal.targetserver.DeploymentManager.activateDeplo
ymentList(DeploymentManager.java:1222)
at weblogic.deploy.internal.targetserver.DeploymentManager.handleCommit(
DeploymentManager.java:433)
at weblogic.deploy.internal.targetserver.DeploymentServiceDispatcher.com
mit(DeploymentServiceDispatcher.java:161)
at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallb
ackDeliverer.doCommitCallback(DeploymentReceiverCallbackDeliverer.java:181)
at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallb
ackDeliverer.access$100(DeploymentReceiverCallbackDeliverer.java:12)
at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallb
ackDeliverer$2.run(DeploymentReceiverCallbackDeliverer.java:67)
at weblogic.work.ServerWorkManagerImpl$WorkAdapterImpl.run(ServerWorkMan
agerImpl.java:518)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:181)
<2010-3-19 下午01时40分48秒 CST> <Warning> <HTTP> <BEA-101162> <User defined lis
tener com.sun.xml.ws.transport.http.servlet.WSServletContextListener failed: com
.sun.xml.ws.transport.http.servlet.WSServletException: WSSERVLET11: failed to pa
rse runtime descriptor: java.lang.NoSuchMethodError: javax.jws.WebService.portNa
me()Ljava/lang/String;.
com.sun.xml.ws.transport.http.servlet.WSServletException: WSSERVLET11: failed to
parse runtime descriptor: java.lang.NoSuchMethodError: javax.jws.WebService.por
tName()Ljava/lang/String;
at com.sun.xml.ws.transport.http.servlet.WSServletContextListener.contex
tInitialized(WSServletContextListener.java:118)
at weblogic.servlet.internal.EventsManager$FireContextListenerAction.run
(EventsManager.java:376)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(Authenticate
dSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:
121)
at weblogic.servlet.internal.EventsManager.notifyContextCreatedEvent(Eve
ntsManager.java:82)
Truncated. see log file for complete stacktrace
java.lang.NoSuchMethodError: javax.jws.WebService.portName()Ljava/lang/String;
at com.sun.xml.ws.model.RuntimeModeler.getPortName(RuntimeModeler.java:1
299)
at com.sun.xml.ws.server.EndpointFactory.getDefaultPortName(EndpointFact
ory.java:376)
at com.sun.xml.ws.transport.http.DeploymentDescriptorParser.parseAdapter
s(DeploymentDescriptorParser.java:234)
at com.sun.xml.ws.transport.http.DeploymentDescriptorParser.parse(Deploy
mentDescriptorParser.java:147)
at com.sun.xml.ws.transport.http.servlet.WSServletContextListener.contex
tInitialized(WSServletContextListener.java:108)
Truncated. see log file for complete stacktrace
>
在网上搜索到得解决方法
This fixed it:
Re: Deploying JAX-WS on WebLogic 9.2
Posted: Apr 9, 2008 6:48 AM in response to: xenocid2000
Reply
IMO the simplest way of getting JAX-WS (Metro 1.1 distribution) to work on WLS 9.2 is:
1. create an EAR with your war embedded in it
2. in META-INF/weblogic-application.xml of your ear you should put
<prefer-application-packages>
<package-name>javax.jws.*</package-name>
<package-name>javax.xml.soap.*</package-name>
</prefer-application-packages>
This prevents you from having to tamper with the classpath in startup scripts.
3. required libraries: put the webservices*.jar from the lib directory in the Metro distribution to WEB-INF/lib of your war application.
That's it (at least from me, using a stock 9.2MP2 installation).
HTH
Jorg
Copied from http://forums.java.net/jive/thread.jspa?messageID=216363
Also refer:
http://blog.jonschneider.com/2009/02/getting-jax-ws-to-work-with-weblogic-92.html
http://www.jroller.com/gmazza/entry/deploying_metro_and_cxf_based
http://forums.oracle.com/forums/thread.jspa?threadID=857671
分享到:
相关推荐
在WebLogic服务器上部署JAX-WS服务时,可能会遇到一些配置问题。JAX-WS(Java API for XML Web Services)是Java平台上的一个标准,用于创建和部署Web服务。WebLogic作为一款强大的Java EE应用服务器,支持JAX-WS...
此外,开源项目如Apache CXF提供了更丰富的功能,如支持WS-Security、MTOM(Message Transmission Optimization Mechanism)等高级特性。 **JAX-WS的未来** 随着微服务架构和RESTful API的流行,JAX-WS在新项目中...
4. **WS-I(Web Services Interoperability Organization)**:提供了一系列的规范,确保不同平台的Web服务能够互操作。 **三、JAX-WS实现步骤** 1. **创建服务接口**:定义一个Java接口,该接口的方法对应于Web...
本文档主要介绍了使用 Myeclipse 8.5 开发基于 JAX-WS 的 Web Service 实例的步骤,涵盖了 Web 服务程序和客户端程序的基本流程,以及在 Weblogic 10.3.4 中部署 Web 服务的步骤。 一、Web 服务开发环境 * JAVA ...
在实际应用中,JAX-WS通常与Java EE服务器(如Tomcat、JBoss或WebLogic)一起使用,或者在Java SE环境中通过Apache CXF、Metro等实现库来提供和使用Web服务。开发者可以利用JAX-WS的强大功能,轻松地构建符合SOA...
标题 "metro-default.xml" 描述的是一个在WebLogic 12服务器上部署JAX-WS Web服务时遇到的问题。当尝试发布Web服务时,系统可能会返回一个错误,提示找不到"metro-default.xml"文件。这个问题通常涉及到Java API for...
5. **Deployable Artifact**:JAX-WS服务可以部署到应用服务器上,如Tomcat、JBoss或WebLogic等,以便其他客户端可以通过网络调用。 在压缩包"webservice的jar"中,可能包含的类和库有: - `javax.xml.ws.*` 包:...
- **安全设置**:WebLogic支持WS-Security标准,允许设置证书、数字签名和消息加密等安全策略。 5. **源码开发与工具** - **源码开发**:使用Eclipse或IntelliJ IDEA等IDE,可以方便地创建和调试JAX-WS Web服务。...
此外,JAX-WS还支持WS-I(Web Services Interoperability)规范,确保跨平台和跨语言的互操作性。 JAX-RS则专注于REST(Representational State Transfer)风格的Web服务。REST是一种轻量级、基于HTTP的架构风格,...
7. **容器集成**:在实际项目中,Web Service通常部署在应用服务器(如Tomcat、JBoss、WebLogic等)上,这些服务器通常提供对JAX-WS的集成和支持,简化部署和管理。 总结来说,Java 6通过内置的JAX-WS简化了Web ...
CXF的主要功能包括对多种Web Services标准的支持,如SOAP、Basic Profile、WS-Addressing、WS-Policy、WS-ReliableMessaging和WS-Security。其前端编程模型多样,实现了JAX-WS API,并支持无注解的简单前端,便于...
- WS-Security(Web Services Security)标准提供了一套机制,如使用数字签名和加密来保护Web服务的安全。 6. **RESTful Web服务** - 除了SOAP,Java也支持基于REST(Representational State Transfer)风格的Web...
- **WebLogic 支持的标准**:列出了 WebLogic Server 支持的一系列标准和技术规范,包括 SOAP、SAAJ、WSDL、JAX-RPC、Web 服务安全(WS-Security)、UDDI、JAX-R 等。 - **BEA 实现的 Web 服务规范**:具体说明了 ...
JAX-WS使得Java开发者能够轻松地创建符合WS-I标准的SOAP Web服务。通过注解驱动的编程模型,开发者可以快速地定义服务接口和实现,而无需编写大量的XML配置文件。结合Servlet容器和额外的框架如CXF,可以在多种环境...
- JAX-WS (Java API for XML Web Services) 是Java平台上的WebService标准,用于创建符合WS-I基本Profile的SOAP服务。它提供了从Java类到WSDL的自动绑定。 - Axis2是Apache基金会的一个开放源码项目,用于构建和...
以上各章内容组合在一起,构成了一套完整的Java EE学习路线,涵盖了从基础到高级的各个方面,为读者提供了在WebLogic和Eclipse环境下开发企业级应用的全面指导。通过深入理解和实践这些知识点,开发者能够熟练地构建...
- 部署服务:将服务打包到JAR或WAR文件中,部署到J2EE服务器,如Tomcat或WebLogic。 - 消费服务:客户端通过WSDL文件了解服务接口,使用JAX-WS的`Service`类实例化客户端代理,调用服务。 5. **安全性与事务管理*...
常见的安全机制包括SSL/TLS加密、数字签名、SOAP消息安全以及WS-Security等标准。 9. **Web服务的测试和调试**: 如使用SOAPUI工具进行SOAP Web服务的测试,或者使用Postman进行RESTful服务的测试。 10. **Web服务...