Contributions
Re: soap monitor behavior w/ soapui as client vs an external java program as client
I am using these certs on soap monitor. I am sending a cert to soap mon and using the keystore, truststore having this cert with soap monitor. Do I also need to configure truststore and keystore for my java client? Sachin15 years agoPlace ReadyAPI QuestionsReadyAPI Questions1.2KViews0likes0Commentssoap monitor behavior w/ soapui as client vs an external java program as client
Ole/Robert, I observed that soapui monitor interaction changes when I issue a web service request using soapui as a client vs when issued the same request using external java app as client. Here are more details on scenario: Using soap monitor as http tunnel when: 1. Our application sends a message X with ssl cert abcd.pfx attached to it to an external web service. If I test this behavior within soapui where I use soapui as my client and send this message X with ssl cert to external web service it works fine. That is to say that soap monitor setup as http tunnel captures messages as expected. soapui client => sends message X with ssl cert => soap monitor as http tunnel at localhost:8081 => ext web service 2. Now if I use our application as a client to send message X with ssl cert abcd.pfx to the same web service and try to capture messages using exact same soap monitor set up exact same way then that does not work. instead I see an error in our application log. java app => sends message X with ssl cert => soap monitor as http tunnel at localhost:8081 => ext web service The error I see in application log is result of interaction between our app and soap monitor and this error is: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target What could be going wrong here? Thanks, Sachin15 years agoPlace ReadyAPI QuestionsReadyAPI Questions2.7KViews0likes3CommentsRe: Capturing traffic between local webservice and external ssl based webservice
Robert, I figured this one out. Basically there is a bug underlying soapui monitor with http tunnel functionality. This bug is such that if there is anything wrong with http keystore or truststore then it throws error on console but does not actually start the monitor. It however shows you the monitor in UI so user feels monitor has started but actually it has not. That is why I was getting Connection refused because the monitor was not at all running on port 8081. Please note this bug for future references so you guys can fix it. I do have another follow up questions as I progressed further on this. But I shall create a separate topic for that Thanks, Sachin15 years agoPlace ReadyAPI QuestionsReadyAPI Questions873Views0likes0CommentsRe: Capturing traffic between local webservice and external ssl based webservice
No. I don't have proxy set up. What did you try? Did you try connection to external web service via http tunnel soap monitor and invoke this connection using a local webservice using local web server? thanks, Sachin15 years agoPlace ReadyAPI QuestionsReadyAPI Questions4.5KViews0likes0CommentsRe: Capturing traffic between local webservice and external ssl based webservice
Robert, I just tried my exercise directly in soapui but soapui http tunnel monitor is not listening on localhost:8081. Is it possible that the bug you fixed earlier in order to get "tunnel > global proxy > external web service" could have created another bug? I ask this because I am using your nightly build as of october 9th. The one you suggested after you got "tunnel > global proxy > external service" thing working. And I do remember before I tried this build that my soapui tunnel monitor was working Please let me know Sachin15 years agoPlace ReadyAPI QuestionsReadyAPI Questions4.5KViews0likes0CommentsRe: Capturing traffic between local webservice and external ssl based webservice
Robert, See here is what I feel but you can correct me if I am wrong. soap ui suggests that user point to localhost:8081 when 8081 tunnel is running as soapui monitor. This can perhaps work if you point to localhost:8081 and keeping rest of url for webservice same only if you do this from within soapui. I have tried this from one soapui to another soapui instance and that works too. In this case what I doing is invoking tomcat localhost call to an ip:port/monitorServiceInSoapUI. Do you think this would work? Essentially can we invoke a call to soapui monitor running as tunnel and that call is invoked from external tomcat? Attached is the snapshot of my tunnel setup. Thanks, Sachin15 years agoPlace ReadyAPI QuestionsReadyAPI Questions4.5KViews0likes0CommentsRe: Capturing traffic between local webservice and external ssl based webservice
The error I typed is the error in my localhost tomcat log. But no error in soapui log. The error I get back in soapui is internal server error that is reported by my local host tomcat service.15 years agoPlace ReadyAPI QuestionsReadyAPI Questions4.5KViews0likes0CommentsRe: Capturing traffic between local webservice and external ssl based webservice
Hi Robert, I tried this option. My request goes to my local webservice at http://localhost:8080. Then I can see in the logs that it is issuing request to external web service at http://www.abcd.com/soap/externalWebService with the message that is supposed to be sent to this service. At this point in time I get error I/O error: Connection refused; nested exception is java.net.ConnectException: Connection refused org.springframework.ws.client.WebServiceIOException: I/O error: Connection refused; nested exception is java.net.ConnectException: Connection refused It appears that when issue request from my local webservice to an http tunnel monitor in soapui the monitor is not aware of how to handle it. However if I try the same thing (that is issuing of request to external web service) manually inside soapui where I issue soapui request with message to external web service and create soap monitor tunnel to external web service then that works as expected. Any ideas why? thanks, Sachin15 years agoPlace ReadyAPI QuestionsReadyAPI Questions4.5KViews0likes0CommentsCapturing traffic between local webservice and external ssl based webservice
Hi Robert, Consider a case where I am issuing a HTTP request to my webservice running on localhost:8080. This webservice then in turn sends HTTPS request to an external webservice. I want to monitor traffic between our localhost:8080 and external webservice. I am trying to do this by setting up soapui monitor as a proxy running at localhost:8081. My local webservice is configured to send request to endpoint, say, https://www.abcd.com/soap/externalService using security certificate. My local service also uses concept of a proxy server and that is where I register localhost:8081 as a proxy server. I have setup soapui monitor at localhost:8081 using Http proxy method (not the tunnel method). When I set up this monitor I also gave it an incoming-ws config where I specify by signature certificate that is required by external web service. Here is the problem: When I issue the request to my local web service at localhost:8080, my webservice internally sends request to the proxy at localhost:8081. But then I receive a response back from localhost:8081 saying: - I/O error: Connection has been shutdown: javax.net.ssl.SSLException: Unrecognized SSL message, plaintext connection?; nested exception is javax.net.ssl.SSLException: Connection has been shutdown: javax.net.ssl.SSLException: Unrecognized SSL message, plaintext connection? org.springframework.ws.client.WebServiceIOException: I/O error: Connection has been shutdown: javax.net.ssl.SSLException: Unrecognized SSL message, plaintext connection?; nested exception is javax.net.ssl.SSLException: Connection has been shutdown: javax.net.ssl.SSLException: Unrecognized SSL message, plaintext connection? I feel that proxy is having a plain socket and not able to send ssl message coming from my local web service on plain http proxy connection. I also tried using http tunnel for this purpose where tunnel listens on localhost:8081 and my webservice is still configured to use localhost:8081 as proxy. In that case I get "connection refused error". Any thoughts in getting this running? Thanks in advance, Sachin15 years agoPlace ReadyAPI QuestionsReadyAPI Questions9.2KViews0likes11Comments