我正在使用Glassfish 4应用服务器中的SOAP Web服务。 SOAP服务本身正在工作,但我想在指定的上下文或路径下发布它。但我找不到任何解决办法。
这是我的服务:
@WebService(
serviceName = "HelloPersonService",
targetNamespace = "http://example.nl/hellopersonservice/1.0",
portName = "HelloPersonServicePort",
wsdlLocation = "WEB-INF/wsdl/my.wsdl",
endpointInterface="my.HelloPersonServicePortType")
public class HelloPersonServiceImpl
implements HelloPersonServicePortType {
@Override
public HelloPersonServiceResponseType greetPerson(HelloPersonServiceRequestType helloPersonServiceRequest) {
return null;
}
}
此服务在此网址下可用:
/webservice/HelloPersonService
但我想将其移至:
/webservice/collection/HelloPersonService
你知道怎么做吗?
非常感谢, arres
答案 0 :(得分:2)
我终于可以管理它来配置webservice的路径。这可以通过添加jax-ws deploymentdescriptor“sun-jaxws.xml”来实现。
可以为每个服务添加一个名为“url-pattern”的参数。
@Dubas谢谢你的帮助。你的提示指向正确的方向。
答案 1 :(得分:1)
如果您正在使用JAX-WS servlet,请更改servlet路径以指向所需的路径。
如果您正在使用自动JAX-WS生成(如Websphere 7),您应该尝试将serviceName =“HelloPersonService”更改为serviceName =“collection / HelloPersonService”
有关servlet的更多信息:Change JAX-WS Service URL
答案 2 :(得分:0)
在您的发布商课程中, 您可以根据自己的要求更改已发布的端点URL。
Endpoint.publish("http://localhost:8888/webservice/HelloPersonService", new HelloPersonServiceImpl());
Endpoint.publish("http://localhost:8888/webservice/collection/HelloPersonService", new HelloPersonServiceImpl());