我是jax-ws的网络服务的新手,我和其他人有点混淆 文件。我正在做一个简单的问候测试,我正在尝试解释一些事情。
我在Glassfish上成功安装了我的Web服务。我还用独立的javaoutside服务器测试了它。我的例子来自javaee5教程示例中的helloservice。 (http://java.sun.com/javaee/5/docs/tutorial/doc/docinfo.html)
在web.xml中,我有这个部分:
... <servlet-mapping> <servlet-name>HelloService</servlet-name> <url-pattern>/hello</url-pattern> </servlet-mapping> ...在sun-jaxws.xml中
... <endpoint name='HelloService' implementation='helloservice.endpoint.Hello' url-pattern='/hello'/> ...
并在sun-web.xml中:
... <context-root>/helloservice</context-root> ...
我看到web.xml中指定的上下文根与sun-jaxws.xml中的上下文根相同。
sun-web.xml中的上下文根,是否重要或仅用于EAR文件?
我可以从2个不同的地址访问我的wsdl文件: http://localhost:8080/helloservice/hello?wsdl http://localhost:8080/helloservice/HelloService?wsdl 我无法解释第二个问题。它从何而来 ? 它是端点地址的配置吗? 为什么我们可以通过上下文和服务名称两种方式访问Web服务? 请向我解释
由于
答案 0 :(得分:0)
您可以通过多种方式为您的服务配置网址,在您的项目中,您可以在3个不同的位置定义网址,大多数时候在多个地方定义某些内容并不是一个好主意。
因为您已经为服务定义了两条不同的路径,一条用于jax-ws,另一条用于sun-web(glassfish配置文件),最终会定义到同一服务。