2016-11-01 18 views
0

良い一日で働いていないタイムアウト、およびこれまでのところ、次の解決策は、私は任意のサードパーティのライブラリなしでソリューションを得ることができる最も近いと思われるが、それは動作しません。 :(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()); 
+0

電話をかける前に、SOAPメッセージの内容を印刷しようとしていますか? – mwangi

+0

私は実際にです。デバッグの目的で、メッセージを送信する前にログに記録します。 – kwm

+0

メッセージを送信する前にログに記録しないでください。何らかの理由であなたの石鹸のメッセージをクリアします。最初にSOAPメッセージを送信する前に、SOAPメッセージを記録または出力するコードをコメントアウトしてください。これで動作するはずです。 – mwangi

答えて

0

それを送信する前にメッセージを記録しません。何らかの理由であなたの石鹸のメッセージをクリアします。最初にSOAPメッセージを送信する前に、SOAPメッセージを記録または出力するコードをコメントアウトしてください。これで動作するはずです。

関連する問題