0

JaxB を使用してローカルの XML ファイルを読み込もうとしています。この XML ファイルには、HTTPS を使用している DTD へのリンクが含まれています (それを変更することはできません)。問題は、私の会社では、独自の証明書を挿入する 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