Forum Discussion
25 Replies
Sort By
- SmartBear_SuppoSmartBear Alumni (Retired)Hi,
This is in our backlog [SOAPUI-3736] and is being worked on.
On a unrelated note, pipes in URLs are considered unsafe. Pipes are known to be incompatible with several applications, including Firefox and Ruby on Rails.
Have a nice weekend!
Henrik
SmartBear Software - Ton636ContributorHi, just wanted to let you know that we are also affected by this issue. 4.0.1 works fine, in 4.5 several test cases broke, we had to change the global http parameter "Preencoded Endpoints" and then encode the | char in our template usage.
We are aware that pipes are considered unsafe, unfortunately this is a legacy application that we need to support. A fix for this issue would be most appreciated as we are contemplating rolling back to soapUI 4.0.1 as an alternative.
Ton Vlaming - SmartBear_SuppoSmartBear Alumni (Retired)I just wanted to let you know that the issue is in progress. It will probably be in a nightly build soon. We'll get back to you then.
Regards
Henrik
SmartBear Software - NAVTEQOccasional ContributorHi,
was this issue fixed in SoapUI 4.5.1?
Thanks,
Josef - SmartBear_SuppoSmartBear Alumni (Retired)Hi Josef,
it should have been - can you confirm?
regards!
/Ole
SmartBear Software - NAVTEQOccasional ContributorHi Ole,
sorry, still getting the same error.
Mon Jul 16 14:05:54 CEST 2012:ERROR:java.net.URISyntaxException: Illegal character in path at index 36: http://server:6080/service/layer/usr|jwegne|test
java.net.URISyntaxException: Illegal character in path at index 36: http://server:6080/service/layer/usr|jwegne|test
at java.net.URI$Parser.fail(URI.java:2810)
at java.net.URI$Parser.checkChars(URI.java:2983)
at java.net.URI$Parser.parseHierarchical(URI.java:3067)
at java.net.URI$Parser.parse(URI.java:3015)
at java.net.URI.<init>(URI.java:577)
at org.apache.http.client.utils.URIUtils.createURI(URIUtils.java:106)
at com.eviware.soapui.impl.wsdl.submit.filters.HttpRequestFilter.filterHttpRequest(HttpRequestFilter.java:226)
at com.eviware.soapui.impl.wsdl.submit.filters.RestRequestFilter.filterRestRequest(RestRequestFilter.java:39)
at com.eviware.soapui.impl.wsdl.submit.filters.AbstractRequestFilter.filterAbstractHttpRequest(AbstractRequestFilter.java:39)
at com.eviware.soapui.impl.wsdl.submit.filters.AbstractRequestFilter.filterRequest(AbstractRequestFilter.java:31)
at com.eviware.soapui.impl.wsdl.submit.transports.http.HttpClientRequestTransport.sendRequest(HttpClientRequestTransport.java:184)
at com.eviware.soapui.impl.wsdl.WsdlSubmit.run(WsdlSubmit.java:123)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:680)
Thanks,
Josef - SmartBear_SuppoSmartBear Alumni (Retired)Hi Josef,
for soapUI 4.5 we switched to an updated HTTP stack (httpclient 4.x) - this is unfortunately more strict in its URL handling and thus does not accept | as part of a URL - just as defined in the specification for URLs (RFC 1738, Dec. '94):
"...Only alphanumerics [0-9a-zA-Z], the special characters "$-_.+!*'()," [not including the quotes - ed], and reserved characters used for their reserved purposes may be used unencoded within a URL."
On the other hand - soapUI should URLEncode these pipes unless you have the "preencoded endpoints" option selected in the global HTTP options - do you!?
regards,
/Ole
SmartBear Software - NAVTEQOccasional ContributorHi,
I double checked, but "preencoded endpoints" is not checked. And the problem seems to be java.net.URI; it does not seem to like pipes (tested with groovy 2.0 and JDK 1.7):
groovy:000> new URI('http://server:6080/service/layer/usr|jwegne|test');
ERROR java.net.URISyntaxException:
Illegal character in path at index 36: http://server:6080/service/layer/usr|jwegne|test
at groovysh_evaluate.run (groovysh_evaluate:2)
...
groovy:000> new URI('http://server:6080/service/layer/usr%7Cjwegne%7Ctest');
===> http://server:6080/service/layer/usr%7Cjwegne%7Ctest
groovy:000>
Thanks and best regards,
-Josef - SmartBear_SuppoSmartBear Alumni (Retired)Hi!
Try encoding your URL before passing it to URI as suggested here: http://stackoverflow.com/questions/1828 ... is-in-java - NAVTEQOccasional ContributorHi,
thanks for the suggestion. We can handle pipes in our code just fine. But we cannot use SoapUI Pro 4.5 for development/testing; only SoapUI Pro 4.0 works.
The problem persists since 4.5 Beta 1 (5 months for now). Can you please finally fix it/work around this issue by encoding the URL in SoapUI?
Thank you very much,
-Josef
Related Content
- 8 years agosandrino