WebSphere 8.5管理控制台部署与AdminApp部署(JAX-WS不初始化)

时间:2017-01-10 10:33:32

标签: web-services websphere jax-ws jython

我们有一个包含WAR和两个MDBS的EAR。 WAR包含许多使用例如

注释的JAX-WS Web服务
@WebService(name = "QuoteService", targetNamespace = "http://quotation.my.place.com")
@SOAPBinding(style = SOAPBinding.Style.RPC)
public interface QuoteService {
:
}

我们的web.xml是web-app version 2.5

当我通过管理控制台部署应用程序时(文件对话框选择耳朵,完成4个步骤),耳朵部署得很好。所有的webServices都是通过我认为的注释类扫描获取的,并且可以在localhost上获得:9080 / MyProj / QuoteService

但是,当我复制Command Assistance提供的管理脚本命令并尝试使用AdminApp jython对象通过脚本进行复制时,耳朵会像MDB一样进行部署,但JAX-WS webServices从未初始化?

我已经附上了提供的命令。我注意到-nodeployws标志存在,但是当我尝试使用-deployws时,我没有成功。在通过控制台进行部署时,还有其他什么能够启动JAX-WS WebServices吗?

AdminApp.install(workspace+"/"+earfile, 
'[ -nodeployws -nopreCompileJSPs -distributeApp -nouseMetaDataFromBinary
   -nodeployejb -appname ' + appname + ' -createMBeansForResources
   -noreloadEnabled -nodeployws -validateinstall warn
   -noprocessEmbeddedConfig
   -filepermission  .*\.dll=755#.*\.so=755#.*\.a=755#.*\.sl=755
   -noallowDispatchRemoteInclude -noallowServiceRemoteInclude -asyncRequestDispatchType DISABLED
   -nouseAutoLink -noenableClientModule -clientMode isolated -novalidateSchema
   -MapModulesToServers
[
    [ MyFirstListener-EJB MyProj-MyFirstList-EJB-3.0B.jar,META-INF/ejb-jar.xml
         WebSphere:cell=' +cell+ ',node=' +node+ ',server=' +server+ ' ]
    [ MySecondListener-EJB MyProj-MySecondList-EJB-3.0B.jar,META-INF/ejb-jar.xml
         WebSphere:cell=' +cell+ ',node=' +node+ ',server=' +server+ ' ]
    [ MyProj-Client-3.0B.war MyProj-Client-3.0B.war,WEB-INF/web.xml
         WebSphere:cell=' +cell+ ',node=' +node+ ',server=' +server+ ' ]
] -MetadataCompleteForModules 
[
     [ MyFirstListener-EJB MyProj-MyFirstList-EJB-3.0B.jar,META-INF/ejb-jar.xml true ]
     [ MySecondListener-EJB MyProj-MySecondList-EJB-3.0B.jar,META-INF/ejb-jar.xml true ]
     [ MyProj-Client-3.0B.war MyProj-Client-3.0B.war,WEB-INF/web.xml true ]
]
]' )

1 个答案:

答案 0 :(得分:1)

对于任何正在努力解决这个问题的人来说,解决方案就是使用     -MetadataCompleteForModules选项。对于行

MyProj-Client-3.0B.war MyProj-Client-3.0B.war,WEB-INF/web.xml true 

我必须将值从true更改为false,因为MetadataCompleteForModules指示部署管理器不会扫描工件中的注释,因为它认为模块的元数据已完成。

希望这有助于将来。

谢谢, 标记