code_junkie

WebServiceTransportException: Unauthorized [401] in Spring-WS

Nov 11th, 2011
343
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.15 KB | None | 0 0
  1. <bean id="webServiceTemplate" class="org.springframework.ws.client.core.WebServiceTemplate">
  2. <constructor-arg ref="messageFactory"/>
  3. <property name="messageSender">
  4. <bean class="org.springframework.ws.transport.http.CommonsHttpMessageSender">
  5. <property name="credentials">
  6. <bean class="org.apache.commons.httpclient.UsernamePasswordCredentials">
  7. <constructor-arg value="john"/>
  8. <constructor-arg value="secret"/>
  9. </bean>
  10. </property>
  11. </bean>
  12. </property>
  13. </bean>
  14.  
  15. public List<String> getAll() {
  16. List<String> carTypes = new ArrayList<String>();
  17.  
  18. try {
  19. Source source = new ResourceSource(request);
  20. JDOMResult result = new JDOMResult();
  21.  
  22.  
  23. SaajSoapMessageFactory soapMessageFactory = new SaajSoapMessageFactory(MessageFactory.newInstance());
  24.  
  25. WebServiceTemplate template = new WebServiceTemplate(soapMessageFactory);
  26.  
  27. HttpClientParams clientParams = new HttpClientParams();
  28. clientParams.setSoTimeout(60000);
  29. clientParams.setConnectionManagerTimeout(60000);
  30. clientParams.setAuthenticationPreemptive(true);
  31.  
  32. HttpClient client = new HttpClient(clientParams);
  33. client.getState().setCredentials(AuthScope.ANY,
  34. new UsernamePasswordCredentials("username", "password"));
  35.  
  36. CommonsHttpMessageSender messageSender = new CommonsHttpMessageSender(client);
  37.  
  38. template.setMessageSender(messageSender);
  39. template.sendSourceAndReceiveToResult(SERVICE_URI,
  40. source, result);
  41.  
  42. // Handle the XML
  43.  
  44. } catch (IOException e) {
  45. throw new RuntimeException(e);
  46. } catch (SOAPException e) {
  47. throw new RuntimeException(e);
  48. }
  49.  
  50. return carTypes;
  51. }
  52.  
  53. <constructor-arg value="john"/>
  54. <constructor-arg value="secret"/>
  55.  
  56. <property name="userName" value="john" />
  57. <property name="password" value="secret" />
  58.  
  59. public MyHttpClient(HttpClientParams params, UsernamePasswordCredentials usernamePasswordCredentials) {
  60. super(params);
  61. getState().setCredentials(AuthScope.ANY, usernamePasswordCredentials);
  62. }
Add Comment
Please, Sign In to add comment