2017-05-24 22 views
6

Teradata UDFを使用してJAVAサーバーに接続しようとしていますが、ここに私のコードはあります.HOSTを "localhost"、PORT(整数)を "9091"、PEMファイルロケーションなどが提供されていますが、関数は常にキャッチブロックから抜け出します。私はexit(0)がTeradata UDFで許可されていないことを知っています。私はそれをデバッグのためだけに使用しました。同じコードがサーバーに接続します。 UDF。 Teradataの場合の通信に使用できるポート、またはTeradataでサーバーへのSSL接続がサポートされているかどうかを教えてください。 サーバはタイプ要求の引数を受け入れ、結果ともにvector <struct>の両方の型を返します。TeradataとJavaサーバーの接続

Response CplusplusClient::startClient(DeTokenizationRequest request) { 
    boost::shared_ptr<TSSLSocketFactory> factory(new TSSLSocketFactory()); 
    factory->loadPrivateKey(PRIVATE_KEY.c_str()); 
    factory->loadCertificate(CERTIFICATE.c_str()); 
    factory->loadTrustedCertificates(TRUSTED_CERTIFICATE.c_str()); 
    factory->authenticate(true); 
    boost::shared_ptr<TSSLSocket> socket = factory->createSocket(HOST,PORT); 

    boost::shared_ptr<TTransport> transport(new TBufferedTransport(socket)); 
    boost::shared_ptr<TProtocol> protocol(new TBinaryProtocol(transport)); 
    XSecurityServiceClient client(protocol); 

    Response result; 

try { 
    transport->open(); 
    client.requested(result, request); 
    transport->close(); 
    } catch (TException& tx) { 
    exit(0); 
    } 
    return result; 
} 
} 
+1

を働いていましたか? –

+0

はい前にそのセクションを追加しました。サーバーからの許可が拒否されました@Kevin Postlewaite –

答えて

0

9092にポートを変更し、それはそれはcatchブロックで終了した場合、スタックトレースがTExceptionから存在してはならない

関連する問題