我正在将一个作为web服务公开的无状态EJB从JBoss7迁移到WildFly 10 (当然,我有点晚了)。
web服务过去可以由http://localhost:8080/vmwWS/vmw访问,迁移到WildFly可以得到http://localhost:8080//vmwWS/WSVMWBean,而我还没有找到改变这种情况的方法。
这是web服务类
[...]
@Interceptors(TracingInterceptor.class)
@Stateless
@WebService(endpointInterface = "com.mydomain.WSVMW")
@WebContext(contextRoot="/vmwWS", urlPattern ="/vmw", authMethod="BASIC", secureWSDLAccess = false)
@SecurityDomain("JBossWS")
@RolesAllowed({ "Read", "Write" })
public class WSVMWBean implements WSVMW {
[...]界面:
[...]
@WebService(name = "vmw")
@SOAPBinding(style = Style.DOCUMENT)
@Local
public interface WSVMW {
[...]以及jboss-webservice.xml:
<?xml version="1.0" encoding="UTF-8"?>
<webservices xmlns="http://www.jboss.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.jboss.com/xml/ns/javaee http://www.jboss.com/xml/ns/javaee/jbossws-web-services_1_0.xsd"
version="1.1">
<context-root>vmwWS</context-root>
<port-component>
<ejb-name>WSVMWBean</ejb-name>
<port-component-name>WSVMWBean</port-component-name>
<port-component-uri>/vmw</port-component-uri>
<auth-method>BASIC</auth-method>
</port-component>
</webservices>日志上写着:
22:16:59,520 INFO [org.jboss.ws.cxf.metadata] (MSC service thread 1-8) JBWS024061: Adding service endpoint metadata: id=WSVMWBean
address=http://localhost:8080/<ejb-jar-name>/vmwWS/WSVMWBean
implementor=com.mydomain.WSVMWBean
serviceName={http://vmw.mydomain.com/}/vmwWS
portName={http://vmw.mydomain.com/}WSVMWBeanPort
annotationWsdlLocation=null
wsdlLocationOverride=null
mtomEnabled=false我怎样才能找回以前的行为?
发布于 2016-05-31 20:09:56
简单地说,这就是修复它的区别:
-import org.jboss.wsf.spi.annotation.WebContext;
+import org.jboss.ws.api.annotation.WebContext;https://stackoverflow.com/questions/37533561
复制相似问题