You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by ni...@apache.org on 2006/10/20 10:06:33 UTC
svn commit: r466027 - in /incubator/cxf/trunk:
api/src/main/java/org/apache/cxf/message/
rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/support/
rt/transports/http/src/main/java/org/apache/cxf/transport/http/
rt/transports/http/src/test/java/org/...
Author: ningjiang
Date: Fri Oct 20 01:06:29 2006
New Revision: 466027
URL: http://svn.apache.org/viewvc?view=rev&rev=466027
Log:
[CXF-162] Implemented Basic authentication client side
Modified:
incubator/cxf/trunk/api/src/main/java/org/apache/cxf/message/Message.java
incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/support/ContextPropertiesMapping.java
incubator/cxf/trunk/rt/transports/http/src/main/java/org/apache/cxf/transport/http/HTTPConduit.java
incubator/cxf/trunk/rt/transports/http/src/test/java/org/apache/cxf/transport/http/HTTPConduitTest.java
Modified: incubator/cxf/trunk/api/src/main/java/org/apache/cxf/message/Message.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/api/src/main/java/org/apache/cxf/message/Message.java?view=diff&rev=466027&r1=466026&r2=466027
==============================================================================
--- incubator/cxf/trunk/api/src/main/java/org/apache/cxf/message/Message.java (original)
+++ incubator/cxf/trunk/api/src/main/java/org/apache/cxf/message/Message.java Fri Oct 20 01:06:29 2006
@@ -37,6 +37,8 @@
String MIME_HEADERS = "org.apache.cxf.mime.headers";
+ String USERNAME = Message.class.getName() + ".USERNAME";
+ String PASSWORD = Message.class.getName() + ".PASSWORD";
String PROTOCOL_HEADERS = Message.class.getName() + ".PROTOCOL_HEADERS";
String RESPONSE_CODE = Message.class.getName() + ".RESPONSE_CODE";
String ENDPOINT_ADDRESS = Message.class.getName() + ".ENDPOINT_ADDRESS";
Modified: incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/support/ContextPropertiesMapping.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/support/ContextPropertiesMapping.java?view=diff&rev=466027&r1=466026&r2=466027
==============================================================================
--- incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/support/ContextPropertiesMapping.java (original)
+++ incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/support/ContextPropertiesMapping.java Fri Oct 20 01:06:29 2006
@@ -38,6 +38,11 @@
static {
cxf2jaxwsMap.put(Message.ENDPOINT_ADDRESS,
BindingProvider.ENDPOINT_ADDRESS_PROPERTY);
+ cxf2jaxwsMap.put(Message.USERNAME,
+ BindingProvider.USERNAME_PROPERTY);
+ cxf2jaxwsMap.put(Message.PASSWORD,
+ BindingProvider.PASSWORD_PROPERTY);
+
cxf2jaxwsMap.put(Message.HTTP_REQUEST_METHOD,
MessageContext.HTTP_REQUEST_METHOD);
cxf2jaxwsMap.put(Message.RESPONSE_CODE,
@@ -49,6 +54,10 @@
jaxws2cxfMap.put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY,
Message.ENDPOINT_ADDRESS);
+ jaxws2cxfMap.put(BindingProvider.USERNAME_PROPERTY,
+ Message.USERNAME);
+ jaxws2cxfMap.put(BindingProvider.PASSWORD_PROPERTY,
+ Message.PASSWORD);
jaxws2cxfMap.put(MessageContext.HTTP_REQUEST_METHOD,
Message.HTTP_REQUEST_METHOD);
jaxws2cxfMap.put(MessageContext.HTTP_RESPONSE_CODE,
Modified: incubator/cxf/trunk/rt/transports/http/src/main/java/org/apache/cxf/transport/http/HTTPConduit.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/transports/http/src/main/java/org/apache/cxf/transport/http/HTTPConduit.java?view=diff&rev=466027&r1=466026&r2=466027
==============================================================================
--- incubator/cxf/trunk/rt/transports/http/src/main/java/org/apache/cxf/transport/http/HTTPConduit.java (original)
+++ incubator/cxf/trunk/rt/transports/http/src/main/java/org/apache/cxf/transport/http/HTTPConduit.java Fri Oct 20 01:06:29 2006
@@ -174,7 +174,11 @@
URLConnection connection =
connectionFactory.createConnection(getProxy(), currentURL);
connection.setDoOutput(true);
-
+ //TODO using Message context to deceided HTTP send properties
+ connection.setConnectTimeout((int)getClient().getConnectionTimeout());
+ connection.setReadTimeout((int)getClient().getReceiveTimeout());
+ connection.setUseCaches(false);
+
if (connection instanceof HttpURLConnection) {
String httpRequestMethod = (String)message.get(Message.HTTP_REQUEST_METHOD);
HttpURLConnection hc = (HttpURLConnection)connection;
@@ -183,15 +187,6 @@
} else {
hc.setRequestMethod("POST");
}
- }
-
- //TODO using Message context to deceided HTTP send properties
- connection.setConnectTimeout((int)getClient().getConnectionTimeout());
- connection.setReadTimeout((int)getClient().getReceiveTimeout());
-
- connection.setUseCaches(false);
- if (connection instanceof HttpURLConnection) {
- HttpURLConnection hc = (HttpURLConnection)connection;
if (getClient().isAutoRedirect()) {
//cannot use chunking if autoredirect as the request will need to be
//completely cached locally and resent to the redirect target
@@ -225,7 +220,8 @@
}
return new URL(result);
}
-
+
+
/**
* @return the reference associated with the target Destination
*/
@@ -636,9 +632,9 @@
private void setPolicies(Message message, Map<String, List<String>> headers) {
AuthorizationPolicy authPolicy = getAuthorization();
AuthorizationPolicy newPolicy = message.get(AuthorizationPolicy.class);
- String userName = null;
- String passwd = null;
- if (null != newPolicy) {
+ String userName = (String)message.get(Message.USERNAME);
+ String passwd = (String)message.get(Message.PASSWORD);
+ if (null != newPolicy && null != userName) {
userName = newPolicy.getUserName();
passwd = newPolicy.getPassword();
}
Modified: incubator/cxf/trunk/rt/transports/http/src/test/java/org/apache/cxf/transport/http/HTTPConduitTest.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/transports/http/src/test/java/org/apache/cxf/transport/http/HTTPConduitTest.java?view=diff&rev=466027&r1=466026&r2=466027
==============================================================================
--- incubator/cxf/trunk/rt/transports/http/src/test/java/org/apache/cxf/transport/http/HTTPConduitTest.java (original)
+++ incubator/cxf/trunk/rt/transports/http/src/test/java/org/apache/cxf/transport/http/HTTPConduitTest.java Fri Oct 20 01:06:29 2006
@@ -140,7 +140,9 @@
contentTypes.add("text/xml");
contentTypes.add("charset=utf8");
headers.put("content-type", contentTypes);
- message.put(Message.PROTOCOL_HEADERS, headers);
+ message.put(Message.PROTOCOL_HEADERS, headers);
+ message.put(Message.USERNAME, "BJ");
+ message.put(Message.PASSWORD, "value");
}
private HTTPConduit setUpConduit(boolean send) throws Exception {
@@ -356,6 +358,9 @@
message.put(HTTPConduit.HTTP_CONNECTION, connection);
if (expectHeaders) {
+ connection.addRequestProperty(EasyMock.eq("Authorization"),
+ EasyMock.eq("Basic Qko6dmFsdWU="));
+ EasyMock.expectLastCall();
connection.addRequestProperty(EasyMock.eq("content-type"),
EasyMock.eq("text/xml"));
EasyMock.expectLastCall();