Java 中未正确创建 SOAP 请求 URI

SOAP request URI no being created correctly in Java

我正在尝试找出为什么我的 SOAP 请求中的 HTTP header 无效。我有一个我尝试发送的 SOAPMessage:

SOAPMessage soapResponse = soapConnection.call(soapMessage, new URL("http", HOST_URL_NO_PORT, SERVER_PORT,
                    PAGE_NAME));

值是(例如):

private static final Integer SERVER_PORT = 1234; 
private static final String HOST_URL_NO_PORT = "server.domain.comp";
private static final String PAGE_NAME = "com.webservice/services/" +
            "myservice";

我知道 SOAPMessage 的 xml 部分很好,因为当我放入 SoapUI 时它工作正常。但是当我使用 WireShark 嗅探时,http header 的完整服务器 URI 看起来像:

http://server.domain.comp:1234http://server.domain.comp:1234/com.webservice/services/myservice

当来自 SoapUI 的看起来像

http://server.domain.comp:1234/com.webservice/services/myservice

为什么添加了两次主机?我也尝试过将直接 URI 作为字符串传递,但它仍然是一样的。

我解决了这个问题。不确定它是 IntelliJ 还是实际的 JDK。可能一直在使用错误的 JDK 或尝试更早的 java 兼容性(例如 1.5 或其他)。

但我将我的项目 JDK 从 1.7 换成了 1.8。并且有效