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