2009-04-30 9 views
0

Apache CXF를 사용하여 HTTPS를 통해 웹 서비스에 액세스하는 데 사용하려고하는 다음 코드가 있습니다. 그러나 내 메시지가 사라질 때마다 내 코드가 끝날 때까지는 아무것도 얻지 못합니다. 누군가가 내 코드를 한 번 넘겨 줄 수 있고 내가 잘못한 일을하는 경우 알려줄 수 있습니까? SoapUI를 통해 서비스에 액세스하려고 했으므로 괜찮습니다. 따라서 CXF 코드에있는 내용이어야하지만 뭘 모르는 지요! 어떤 도움CXF & SSL : Timeout Troubles

DepositImplService ss = new DepositImplService(WSDL_LOCATION, 
    SERVICE_NAME); 
PortType port = ss.getPortTypePort(); 

Client client = ClientProxy.getClient(port); 

HTTPConduit conduit = (HTTPConduit) client.getConduit(); 
HTTPClientPolicy httpClientPolicy = conduit.getClient(); 
httpClientPolicy.setConnectionTimeout(30000); 
httpClientPolicy.setReceiveTimeout(30000); 
conduit.setClient(httpClientPolicy); 

AuthorizationPolicy authPolicy = new AuthorizationPolicy(); 
authPolicy.setUserName("foo"); 
authPolicy.setPassword("bar"); 
conduit.setAuthorization(authPolicy); 

TLSClientParameters parameters = new TLSClientParameters(); 
parameters.setSecureSocketProtocol("SSL"); 
conduit.setTlsClientParameters(parameters); 

client.getInInterceptors().add(new LoggingInInterceptor()); 
client.getOutInterceptors().add(new LoggingOutInterceptor()); 

UploadRequestT doc = new UploadRequestT(); 
BufferedReader reader = new BufferedReader(new FileReader(new File(
    "C:\\rawmessage.txt"))); 
String documentStr = ""; 
String currLine = ""; 
while ((currLine = reader.readLine()) != null) { 
    documentStr += currLine; 
} 

doc.setDoc(documentStr); 
doc.setOwner("43"); 
port.upload(doc); 

답변

0

SoapUI의 응답 시간은 무엇인가에 대한

감사합니다?

모니터를 통해 이것을 실행하여 올바른 장소로 보내고 있는지 확인 했습니까?

내 CXF 코드는 다음과 같습니다

 PService phsService = new PService(url, SERVICE_NAME); 
     P p = phsService.getPHSPort(); 
     LOG.info("Calling Web Service : getHs"); 

     StringArray ar = p.getHs(); 

     for (String hn: ar.getItem()) { 
     LOG.info("Calling : getHName : " + hn); 
     Dto nDto = p. getHName (hn); 

     // process the result 

     } 

이 서비스는 반환 90secs에 대한 소요 및 응답 시간은 거의 순간이었다 잘

+0

실행됩니다. 모니터링 도구에 대한 좋은 아이디어 - 그것이 나에게 어떤 의미인지 알게 될 것입니다. –