在指定的Path下发布Jax-WS Webservice

时间:2014-02-24 16:21:20

标签: java web-services soap jax-ws

我正在使用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

3 个答案:

答案 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());