SOAP メッセージを作成し、次のコードを使用して送信しようとしています。
try {
System.setProperty("http.proxyHost", "proxy.myproxy.com");
System.setProperty("http.proxyPort", "80");
connection = SOAPConnectionFactory.newInstance().createConnection();
response = connection.call(message, "https://www.service.com/call");
connection.close();
} catch (SOAPException e) {
e.printStackTrace();
} catch (UnsupportedOperationException e) {
e.printStackTrace();
}
finally{
System.setProperty("http.proxyHost", "");
System.setProperty("http.proxyPort", "");
}
最後に、ローカル ドメインの URL にアクセスするときにプロキシをバイパスする必要があるためです。これは一種のハックであることを知っており、他のソリューションに興味があります。ただし、実際の問題はタイムアウトを扱います。これは毎回タイムアウトしますが、SOAP メッセージを取得し、SOAPUI (同じプロキシ設定) を使用して送信すると、成功した応答が得られます。
Java コードからの応答...
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"><soapenv:Body><soapenv:Fault><faultcode>soapenv:Server</faultcode><faultstring>java.net.ConnectException: Connection timed out: no further information</faultstring></soapenv:Fault></soapenv:Body></soapenv:Envelope>