【问题标题】:SOAP Web Service in GlassFish Java EE ApplicationGlassFish Java EE 应用程序中的 SOAP Web 服务
【发布时间】:2017-12-05 18:00:59
【问题描述】:

我根据 Java EE 指南使用 JAX-WS 注释构建了一个 SOAP Web 服务。

@WebService( name = "PersonDataExposureService" )
public class PersonDataExposureWebServiceBean {
...
@WebMethod
public PersonList retrieveAllPeople() { ... 
    // get the data and return it ... 
}
... more methods ...
}

使用 NetBeans 向导在 NetBeans 中构建的 Java EE 应用程序中将 Web 服务部署到 GlassFish。应用程序在与 Web 服务相同的 WAR 中部署并呈现 UI 并正常运行。

我正在尝试根据 Java EE 文档中的一些示例验证 SOAP Web 服务的可用性...

http://localhost:8080/DemoApplication-war/PersonDataExposureService?wsdl

http://localhost:8080/DemoApplication-war/PersonDataExposureService?retrieveAllPeople

其中 DemoApplication-war 是 NetBeans Java EE 向导生成的 WAR。

我收到一个错误:

HTTP Status 404 - Not Found

type Status report

message Not Found

description The requested resource is not available.

如何通过 URL 直接访问 Web 服务,让 WSDL 和 Web 服务方法直接在浏览器中呈现?

我做错了什么?

【问题讨论】:

    标签: jakarta-ee soap netbeans jax-ws


    【解决方案1】:

    为 NetBeans IDE 中 WAR 导航树的“Web 服务”部分的 PersonDataExposureService 节点调用“测试 Web 服务”会产生:

    http://localhost:8080/DemoApplication-war/PersonDataExposureWebServiceBeanService?Tester
    

    这允许从浏览器直接测试 Web 服务接口。

    随后可以通过以下方式访问 WSDL:

    http://localhost:8080/DemoApplication-war/PersonDataExposureWebServiceBeanService?wsdl
    

    重定向的命名有点混乱,但它有效。目前还不清楚为什么在 Web 服务名称后面附加了一个额外的“服务”。如果有人可以对生成的名称提供更多说明,这将很有帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-02-16
      • 2013-04-06
      • 2011-01-07
      • 2014-09-23
      • 1970-01-01
      • 1970-01-01
      • 2019-05-23
      相关资源
      最近更新 更多