2017-01-10 32 views
0

我们有一个包含WAR和两个MDBS的EAR。该WAR包含了一些JAX-WS Web服务的标注了例如WebSphere 8.5管理控制台部署与AdminApp部署(JAX-WS不初始化)

@WebService(name = "QuoteService", targetNamespace = "http://quotation.my.place.com") 
@SOAPBinding(style = SOAPBinding.Style.RPC) 
public interface QuoteService { 
: 
} 

我们的web.xml是web应用程序2.5版

当我部署通过管理控制台(文件对话框的应用程序中选择耳朵,经过4个步骤)耳朵部署良好。所有的web服务都是通过一个注释类扫描来获取的,我可以在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

对于其他任何人为此而努力,该解决方案是与 -MetadataCompleteForModules选项。对于线

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

我不得不从true值更改为false作为MetadataCompleteForModules指示部署管理器不扫描其认为完成该模块的元数据标注的神器。

希望这可以帮助未来的人。

谢谢, 马克。