良い一日で働いていないタイムアウト、およびこれまでのところ、次の解決策は、私は任意のサードパーティのライブラリなしでソリューションを得ることができる最も近いと思われるが、それは動作しません。 :(SoapConnectionはwildfly 10
私は外部のWebサービスを呼び出すと、単にSOAPメッセージを渡しています。私は、スタブできWSDLを持っていません。
私はつまり、何のコンテナを使用していない同じコードをテストしました。中にmainメソッドに私のideとそれがそこに働くとき、私はそれが無視されたり、jbossによってオーバーライドされたように見えます。
readtimeoutの設定を変更するためにstandalone.xmlのプロパティを見つけることができません。 Webサービスの呼び出しのみ
私のデバッグログは、ログに何も表示されず、それはexeではないことを示唆していますcuted。私は、setReadTimeout(1)のためにすぐにエラーが発生することを期待しています。
誰でもアイデアがありますか?
SOAPConnectionFactory soapConnectionFactory = SOAPConnectionFactory.newInstance();
SOAPConnection soapConnection = soapConnectionFactory.createConnection();
URL endpoint = new URL (null, ENDPOINT, new URLStreamHandler() {
@Override
protected URLConnection openConnection(URL u) throws IOException {
LOG.debug("1.");
URL clone = new URL (u.toString());
LOG.debug("2.");
URLConnection connection = clone.openConnection();
LOG.debug("3.");
connection.setConnectTimeout (10000);//10 seconds
LOG.debug("4.");
connection.setReadTimeout (1);//1 ms
LOG.debug("5.");
return connection;
}
});
SOAPMessage soapResponse = soapConnection.call(soapMsg, endpoint);
私は、次のように呼び出し行を編集readtimeout作品が、私は、http 500を得るが、URLが正しい場合:
SOAPMessage soapResponse = soapConnection.call(soapMsg, endpoint.getContent());
電話をかける前に、SOAPメッセージの内容を印刷しようとしていますか? – mwangi
私は実際にです。デバッグの目的で、メッセージを送信する前にログに記録します。 – kwm
メッセージを送信する前にログに記録しないでください。何らかの理由であなたの石鹸のメッセージをクリアします。最初にSOAPメッセージを送信する前に、SOAPメッセージを記録または出力するコードをコメントアウトしてください。これで動作するはずです。 – mwangi