[
http://jira.codehaus.org/browse/XFIRE-888?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_88651
]
Steve Kwee commented on XFIRE-888:
----------------------------------
The following code
Method method = clazz.getDeclaredMethod("isNonProxyHost", new
Class[]{String.class});
Boolean result = (Boolean) method.invoke(proxyUtils,new Object[]{strURI});
return result.booleanValue();
returns true in any of the above configurations b), c).
The call to ps.select(uri); in ProxyUtils returns a a list with a single entry
[Direct].
As I am in a debugging Environment, my server, client and proxy are all on
localhost.
Maybe that causes the problem.
A patch could be to check if server and proxy are on the same host and to
ignore the result
of the java.net.ProxySelector in this special case.
ProxyUtils.isNonProxyHost
String proxyHost = System.getProperty("http.proxyHost", "");
if (proxyHost.equals(uri.getHost()))
return false;
By the way:
The source for xfire-java5-1.2.4.jar is not contained in the
xfire-distribution-1.2.4-sources.jar
One last question
I can see that CommonsHttpMessageSender.useProxyUtils = false suppresses the use
of ProxyUtils but how can I set this property during client creation without
modifying
xfire sources ?
I have solved my problem with a workaround and a modified version of
ProxyUtils.java
in my classpath.
> CLONE -Recognize the Java runtime system variable for HTTP proxies
> ------------------------------------------------------------------
>
> Key: XFIRE-888
> URL: http://jira.codehaus.org/browse/XFIRE-888
> Project: XFire
> Issue Type: Improvement
> Affects Versions: 1.1-RC1
> Environment: N/A
> Reporter: Steve Kwee
> Assigned To: Tomasz Sztelak
> Fix For: 1.2.4
>
> Attachments: ProxyUtils.java
>
>
> Currently it seems that the only way to specify a proxy for an XFire client
> is by doing it programatically when creating the client:
> MySoap client = stub.getMySoap();
> Client http = ((XFireProxy)
> Proxy.getInvocationHandler(client)).getClient();
> http.setProperty(CommonsHttpMessageSender.HTTP_PROXY_HOST, "localhost");
> http.setProperty(CommonsHttpMessageSender.HTTP_PROXY_PORT, "8080");
> This means that if you want to be able to transparently set a proxy you'll
> have to code some logic to check whether a property is set everywhere you
> create a client. A much more convenient way would be if the generated code
> from XFire took into account the standard Java environment properties for
> setting a proxy (as documented here:
> http://java.sun.com/j2se/1.5.0/docs/guide/net/properties.html). This would
> provide much convenience and flexibility in how to set whether or not to use
> an HTTP proxy as explained here:
> http://www.rgagnon.com/javadetails/java-0085.html.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe from this list please visit:
http://xircles.codehaus.org/manage_email