我有两个共享一些命名空间的webservices实现(使用相同的对象 - 示例中的对象C)。 我想发布它如此
1)客户端将共享生成的对象(相同的对象C stub)
2)我可以在一个端口上运行booth webservices,只需更改url就可以访问它们,如bellow
http://localhost:6690/WS/A?wsdl
http://localhost:6690/WS/B?wsdl
package a.wsdl.xxx.com;
@WebService(targetNamespace = "a.wsdl.xxx.com", serviceName = "A", name = "A")
public class A{
@WebMethod
public C a(){...}
}
// --------------------------------------------- -------------------
package a.wsdl.xxx.com;
@WebService(targetNamespace = "b.wsdl.xxx.com", serviceName = "B", name = "B")
public class B{
@WebMethod
public C b(){...}
}
// --------------------------------------------- -------------------
package xxx.com;
public class C{
String s;
....
}
答案 0 :(得分:1)
是的,我刚创建了两个war文件greeting1.war和greeting2.war。它们中的每一个都实现了一个hello-world接口,如下所示,只有类名称不同Greeting1
和Greeting2
。然后我把它们都部署到了jboss。两者都可以通过http://localhost:8080/greeting1?wsdl和http://localhost:8080/greeting2?wsdl
package my.webservice;
import javax.jws.WebService;
import javax.jws.WebMethod;
@WebService
public class Greeting1 {
@WebMethod
public String greetClient(String user)
{
return "hello " + user;
}
}
答案 1 :(得分:-1)
两个或多个应用程序无法侦听同一端口。