0

我正在尝试使用 JaxB 读取本地 XML 文件。此 XML 文件包含一个指向 DTD 的链接,该链接使用 HTTPS(我无法打开它)。问题是,在我的公司中,我们位于插入自己的证书的 HTTP 代理后面。我想我的老板想确保我们不会在 Heise 或其他事情上浪费时间。当然,JAXB 不承认这是一个有效的证书,并给了我一个 java.net.ConnectException。我信任 URL,如何跳过证书检查?

这是问题的最小示例:

XML:

   <?xml version="1.0" standalone="no"?>
   <!DOCTYPE hallo SYSTEM  "https://www.example.com/my.dtd" >
   <xmlroot>
      <name>John Peel</name>
   </xmlroot>

和代码:

import java.io.File;
import javax.xml.bind.*;
import javax.xml.bind.annotation.*;

public class JaxBTest
{
    public static void main(String[] args)
    {
            System.setProperty("http.proxyHost", "12.34.56.78");
            System.setProperty("http.proxyPort", "8080");

            XmlRoot var = JAXB.unmarshal( new File("bla.xml"), XmlRoot.class );
            System.out.println("var: "+var.name);
    }
}

@XmlRootElement
class XmlRoot
 {
@XmlElement( name = "name" )
 public String name;
 }
4

0 回答 0