You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-user@axis.apache.org by Jiang Liu <S3...@student.rmit.edu.au> on 2007/03/23 16:06:52 UTC
Re: [Axis2] problem with proxy setting
Hi Vincent
Thanks you reply this mail so long after the original one, even myself already give it up. :-)
First really want to thank you that tip me modify server stub file directly but not at Client class. As this is not mentioned in the tutorial (both at http://ws.apache.org/axis2/1_1_1/http-transport.html and http://wso2.org/node/161), i guess it will be more helpful if someone could clarify them in the online tutorials.
Now "Connection Refused" exception is gone, instead, i got 407 server authentication fault. I can make sure that my settings are correct. I can use Axis1 to successfully make the call.
Here are the new exceptions:
C:\GlobalWeather\client\build\classes>java
-Djava.ext.dirs=h:\lib net.webservicex.www.Client
- ntlm authentication scheme selected
- DES encryption is not available.
org.apache.commons.httpclient.auth.AuthenticationException: DES encryption is no
t available.
at org.apache.commons.httpclient.auth.NTLM.getCipher(NTLM.java:118)
at org.apache.commons.httpclient.auth.NTLM.encrypt(NTLM.java:164)
at org.apache.commons.httpclient.auth.NTLM.hashPassword(NTLM.java:466)
at org.apache.commons.httpclient.auth.NTLM.getType3Message(NTLM.java:417
)
at org.apache.commons.httpclient.auth.NTLMScheme.authenticate(NTLMScheme
.java:344)
at org.apache.commons.httpclient.HttpMethodDirector.authenticateProxy(Ht
tpMethodDirector.java:319)
at org.apache.commons.httpclient.HttpMethodDirector.authenticate(HttpMet
hodDirector.java:231)
at org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMe
thodDirector.java:169)
at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.jav
a:396)
at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.jav
a:346)
at org.apache.axis2.transport.http.AbstractHTTPSender.executeMethod(Abst
ractHTTPSender.java:541)
at org.apache.axis2.transport.http.SOAPOverHTTPSender.send(SOAPOverHTTPS
ender.java:119)
at org.apache.axis2.transport.http.CommonsHTTPTransportSender.writeMessa
geWithCommons(CommonsHTTPTransportSender.java:335)
at org.apache.axis2.transport.http.CommonsHTTPTransportSender.invoke(Com
monsHTTPTransportSender.java:204)
at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:674)
at org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisO
peration.java:237)
at org.apache.axis2.description.OutInAxisOperationClient.execute(OutInAx
isOperation.java:202)
at net.webservicex.www.GlobalWeatherStub.GetWeather(GlobalWeatherStub.ja
va:345)
at net.webservicex.www.Client.main(Client.java:23)
Caused by: java.security.NoSuchAlgorithmException: Cannot find any provider supp
orting DES/ECB/NoPadding
at javax.crypto.Cipher.getInstance(DashoA12275)
at org.apache.commons.httpclient.auth.NTLM.getCipher(NTLM.java:113)
... 18 more
- Failure authenticating with NTLM <any realm>@proxy.cs.rmit.edu.au:8080
org.apache.axis2.AxisFault: HTTP Transport error : '407' - 'Proxy Authentication
Required'; nested exception is:
org.apache.axis2.AxisFault: HTTP Transport error : '407' - 'Proxy Authen
tication Required'; nested exception is:
org.apache.axis2.AxisFault: HTTP Transport error : '407' - 'Proxy Authen
tication Required'; nested exception is:
org.apache.axis2.AxisFault: HTTP Transport error : '407' - 'Proxy Authen
tication Required'
In my GlobalWeatherStub class, the modification is:
public GlobalWeatherStub(org.apache.axis2.context.ConfigurationContext configurationContext, java.lang.String targetEndpoint)
throws org.apache.axis2.AxisFault {
//To populate AxisService
populateAxisService();
populateFaults();
HttpTransportProperties.ProxyProperties proxyProperties = new HttpTransportProperties.ProxyProperties();
proxyProperties.setProxyName("proxy.cs.rmit.edu.au");
proxyProperties.setProxyPort(8080);
proxyProperties.setDomain("proxy.cs.rmit.edu.au");
proxyProperties.setPassWord("myPass");
proxyProperties.setUserName ("myUN");
//in order to makesure that we use HTTP 1.0
Options options = new Options();
options.setProperty(org.apache.axis2.transport.http.HTTPConstants.HTTP_PROTOCOL_VERSION ,
HTTPConstants.HEADER_PROTOCOL_10);
options.setProperty(org.apache.axis2.transport.http.HTTPConstants.PROXY,
proxyProperties);
_serviceClient = new org.apache.axis2.client.ServiceClient(configurationContext,_service);
_serviceClient.setOptions(options);
configurationContext = _serviceClient.getServiceContext().getConfigurationContext();
_serviceClient.getOptions().setTo(new org.apache.axis2.addressing.EndpointReference(
targetEndpoint));
}
Any suggestion?
Regards
Jiang Liu
-----Original Message-----
From: Vincent Flipo <na...@yahoo.fr>
To: S3075163@student.rmit.edu.au
Date: Mon, 19 Mar 2007 14:17:46 +0100
Subject: [Axis2] problem with proxy setting
It seems that you don't do anything with the option Object when
instantiated.
According to me, you should try to modify the stub code.
So that the ServiceClient object ( defined in the stub) use your Options
object.
with the method : "serviceClient.setOptions()"
In the stub, the modified code should be similar as the code below (
i'm not sure it works but i'm studying the problem):
// Basic and NTLM Authentication Axis2 uses commons-httpclient's
preemptive authentication scheme to support Basic and NTLM Authentication.
// the following lines defines preemptive authentication tor support
Basic & NTLM
HttpTransportProperties.ProxyProperties proxyProperties = new
HttpTransportProperties.ProxyProperties();
proxyProperties.setProxyName("proxy.cs.rmit.edu.au");
proxyProperties.setProxyPort(8080);
proxyProperties.setDomain("proxy.cs.rmit.edu.au");
proxyProperties.setPassWord("tl111822");
proxyProperties.setUserName("ljiang");
//in order to makesure that we use HTTP 1.0
Options options = new Options();
// defines HTTP protocol version
options.setProperty(org.apache.axis2.transport.http.HTTPConstants.HTTP_PROTOCOL_VERSION,
HTTPConstants.HEADER_PROTOCOL_10);
options.setProperty(org.apache.axis2.transport.http.HTTPConstants.PROXY,
proxyProperties);
try {
ServiceClient serviceClient = new ServiceClient();
serviceClient.setOptions(options);
} catch (AxisFault e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Vincent Flipo
J2EE Architect
___________________________________________________________________________
Yahoo! Mail réinvente le mail ! Découvrez le nouveau Yahoo! Mail et son interface révolutionnaire.
http://fr.mail.yahoo.com
=======================
---------------------------------------------------------------------
To unsubscribe, e-mail: axis-user-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-user-help@ws.apache.org