我想对我们的一些网络服务进行一些 junit 测试。不仅仅是调用 Java 代码,而是通过javax.xml.ws.Endpoint
JAX-WS 堆栈来确保一切正常工作。我们使用 Java 7 中的默认实现进行测试——根据 wsimport 的 Metro 2.2.4——以及 Java 6 中的默认实现用于生产。
然而,典型的 http 绑定需要一个 TCP/IP 端口来绑定,我想知道是否有可能避免 TCP/IP 层,同时保留 JAX-WS 堆栈的其余部分。
似乎 com.sun.xml.ws.transport.local.InVmServer 支持“in-vm”传输,它正是这样做的,但我在理解相当简洁的文档以及如何启动它并从在 Maven 调用的 junit 4 测试中。
所以,我的问题是:我如何 - 在 maven 调用的 junit 设置中 - 使用“in-vm”传输(可能使用执行程序)启动端点,并从客户端调用它,然后关闭端点. 另外,您对此有何经验?