On Fri, 2005-11-18 at 17:27 +0100, Karl Ostendorf wrote:
> Hello,
> 
> Our Axis 1.3 SOAP application to access Microsoft's Mappoint web services 
> stopped working after switching to http-client v3RC4 from v3RC3.  
> Specifically we started receiving 401 (Unauthorized) responses under RC4 
> where in RC3 it just worked.  After some debugging I traced the problem down 
> to the HttpMethodDirector.promptForCredentials method lines 856-857.  Under 
> RC4 the call to params.getParameter to get the CredentialsProvider returns a 
> null while under RC3 it returns a valid CredentialsProvider.
> 
> The java code to access the MapPoint services we generated from the MapPoint 
> WSDL file using WSDL2Java from the Axis 1.3 package.  MapPoint authenticates 
> clients via the DIGEST method and because the built-in Axis web client 
> doesn't support DIGEST we followed the documentation and configured Axis to 
> use the commons http-client.  Additionally, we are accessing the service via 
> SSL on the staging servers.
> 
> 
> I have included the code to reproduce the problem below.  If any http-client 
> developer would like to tackle this problem please contact me.  I might be 
> able to supply the login credentials to our account in order to spare someone 
> from having to create a new account and uploading the necessary polygon data 
> to the servers.
> 

Karl,

Please send me the wire log [1] generated with 3.0rc4 that exhibits the
problem and with 3.0rc4 that does not

Oleg

[1] http://jakarta.apache.org/commons/httpclient/logging.html


> The code below retrieves a URL for a polygon on the servers.
> 
> 
>   public String getUrl(int entityId) throws MalformedURLException,
>       javax.xml.rpc.ServiceException, RemoteException {
> 
>     log.info("EntityID: " + entityId);
> 
>     FindServiceLocator flocator = new FindServiceLocator();
>     FindServiceSoap_PortType finder = flocator.getFindServiceSoap();
>     ((FindServiceSoap_BindingStub) finder).setUsername(this.username);
>     ((FindServiceSoap_BindingStub) finder).setPassword(this.password);
> 
>     // location
>     FindFilter filter = new FindFilter();
>     filter.setEntityTypeName(ENTITY_TYPE);
>     FindByIDSpecification spec = new FindByIDSpecification();
>     spec.setDataSourceName(DS_POLYGONS);
>     spec.setEntityIDs(new int[] { entityId });
>     spec.setFilter(filter);
> 
>     FindResults found = finder.findByID(spec);
> 
>   }
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to