1

リモートWebサービスを呼び出すためのJAX-WSクライアントを作成しました。呼び出しはSSLトンネルを介して実行され、中間プロキシがあります。これはメソッド呼び出しのコードです:

RemoteWSCredentials cred = new RemoteWSCredentials();
cred.setUserid("username");
cred.setPassword("password");
URL url = new URL("https://hostname/webservicelocation"); //the exposed url
System.setProperty("https.proxyHost", "ipHostnameProxy"); //set proxy properties
System.setProperty("https.proxyPort", "portProxy");
    try {
        SSLContext sslContext = SSLContext.getInstance("SSL"); //instance SSLContext

        // set up a TrustManager that trusts everything
        sslContext.init(null, new TrustManager[]{new X509TrustManager() {
                public X509Certificate[] getAcceptedIssuers() {

                    return null;
                }

                public void checkClientTrusted(X509Certificate[] certs,
                        String authType) {

                }

                public void checkServerTrusted(X509Certificate[] certs,
                        String authType) {                        

                }
            }}, new SecureRandom());

        HttpsURLConnection.setDefaultSSLSocketFactory(
                sslContext.getSocketFactory());

        HttpsURLConnection.setDefaultHostnameVerifier(new HostnameVerifier() {
            public boolean verify(String arg0, SSLSession arg1) {

                return true;
            }
        });     
  } catch (KeyManagementException ex) {
         System.err.println("KeyManagementException: " + ex.getMessage());
    } catch (NoSuchAlgorithmException ex) {
         System.err.println("NoSuchAlgorithmException: " + ex.getMessage());
    }

RemoteWSService ws = new RemoteWSService(url);  //instance WS Service 
boolean result =   ws.exposedService(cred);

コードはRemoteWSServicews= new RemoteWSService(url);で失敗します。報告される例外は次のとおりです。

スレッド"main"の例外com.sun.xml.internal.ws.streaming.XMLStreamReaderException:XMLリーダーエラー:javax.xml.stream.XMLStreamException:[row、col]でのParseError:[14,3]メッセージ:要素タイプ「meta」は、一致する終了タグ「」で終了する必要があります。

そしてそれは次の原因によるものです:

javax.xml.stream.XMLStreamException:[row、col]:[14,3]でのParseErrorメッセージ:要素タイプ "meta"は、一致する終了タグ""で終了する必要があります。

Webサービスがどこにデプロイされているのかわかりません。ローカルマシンで呼び出して、SSLトンネルとプロキシなしで公開されたテストURLを呼び出そうとすると、コードは正常に機能します。

誰か助けてもらえますか?

4

1 に答える 1

3

さて、私はそれを解決しました。エラーは、不完全なURLを呼び出した場合です。たとえば、「hostname/webservicelocation」を呼び出しました。ただし、完全なURLは'hostname / webservicelocation / service/RemoteService';です。com.sun.xml.internal.ws.streaming.XMLStreamReaderExceptionが検出された理由がわかりません!!! とにかくみんなに感謝します!!!! さよなら

于 2014-08-07T12:24:06.007 に答える