Hi JB,
Thanks for your reply. Will cxf-bc provider solve the problem?
When talking to the same sharepoint site directly from CXF, the basic auth
below works.
AuthorizationPolicy authorization = new AuthorizationPolicy();
authorization.setUserName(user);
authorization.setPassword(password);
httpConduit .setAuthorization(authorization);
Can I do the same with servicemix cxf-bc? I tried the xbean and basic auth
below but basic_auth configuration seems to be ignored. Is there something
wrong with my xbean?
xbean.xml:
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:cxfbc="http://servicemix.apache.org/cxfbc/1.0"
xmlns:ssdir="http://schemas.microsoft.com/sharepoint/soap/directory/">
<cxfbc:provider wsdl="classpath:service.wsdl"
locationURI="http://...../usergroup.asmx"
service="ssdir:UserGroup"
endpoint="UserGroupSoap12"
useJBIWrapper="false"
busCfg="classpath:basic_auth.xml"
interfaceName="ssdir:UserGroupSoap">
</cxfbc:provider>
</beans>
basic_auth.xml:
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:sec="http://cxf.apache.org/configuration/security"
xmlns:http="http://cxf.apache.org/transports/http/configuration"
xmlns:jaxws="http://java.sun.com/xml/ns/jaxws"
xsi:schemaLocation="
http://cxf.apache.org/configuration/security
http://cxf.apache.org/schemas/configuration/security.xsd
http://cxf.apache.org/transports/http/configuration
http://cxf.apache.org/schemas/configuration/http-conf.xsd
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">
<http:conduit name="{http://..../}:UserGroupSoap12.http-conduit">
<http:authorization>
<sec:UserName>user</sec:UserName>
<sec:Password>password</sec:Password>
</http:authorization>
</http:conduit>
</beans>
tcpmon response:
HTTP/1.1 401 Unauthorized
Server: Microsoft-IIS/6.0
WWW-Authenticate: NTLM
WWW-Authenticate: Basic realm="....."
X-Powered-By: ASP.NET
........
401 UNAUTHORIZED
Jean-Baptiste Onofré wrote:
>
> Hi Lee,
>
> in fact, regarding the code, it seems that the base auth is not
> supported in the new HTTP endpoint as it was in the old one. I see that
> Guillaume has commented the basicAuthentication attribute (I will check
> why).
>
> The new HTTP provider endpoint uses an attribute jettyClient. I think
> that we can define the basicAuthentication in this jettyClient bean.
>
> Nevertheless, I recommand to rollback to the "old" HTTP endpoint. I will
> raised and manage some Jira to improve the basic authentication in new
> endpoints (at least the documentation).
>
> Concerning your initial error, I think that you need to define the host
> and the domain for a NTLM authentication. Unfortunately it's not
> possible in the HTTP endpoint basicAuthentication attribute.
>
> Is it possible to you to avoid the usage of NTLM scheme ?
>
> Regards
> JB
>
> LeeCK wrote:
>> Hi JB,
>>
>> Is basic auth implemented for soap-provider? I get the exception below:
>> Caused by: org.springframework.beans.InvalidPropertyException: Invalid
>> property
>> 'basicAuthentication' of bean class
>> [org.apache.servicemix.http.endpoints.HttpSo
>> apProviderEndpoint]: No property 'basicAuthentication' found
>>
>> If not, may I know how to get basic auth working with the "old" provider?
>>
>> Many thanks.
>>
>>
>> Jean-Baptiste Onofré wrote:
>>> Hi Lee,
>>>
>>> right, the soapAction attribute is not available on the new HTTP
>>> endpoint. The documentation is not up to date.
>>>
>>> Try without the soapAction attribute to see if the SA/SU deploy
>>> correctly.
>>>
>>> Regards
>>> JB
>>>
>>> LeeCK wrote:
>>>> Hi JB,
>>>>
>>>> I tried the xbean below but xbean service unit failed to deploy.
>>>> <http:soap-provider service="mys:MyService" endpoint="soap"
>>>>
>>>> locationURI="http://localhost:5555/MyService/usergroup.asmx"
>>>>
>>>> soapAction="http://schemas.microsoft.com/sharepoint/soap/directory/GetGroupInfo">
>>>>
>>>> </http:soap-provider>
>>>>
>>>> Exception:
>>>> Caused by: org.springframework.beans.InvalidPropertyException: Invalid
>>>> property 'soapAction' of bean class
>>>> [org.apache.servicemix.http.endpoints.HttpSoapProviderEndpoint]: No
>>>> property
>>>> 'soapAction' found
>>>>
>>>> Thanks.
>>>>
>>>>
>>>> Jean-Baptiste Onofré wrote:
>>>>> Hi Lee,
>>>>>
>>>>> please, try to use the new HTTP endpoints like this:
>>>>>
>>>>> <http:soap-provider service="mys:MyService" endpoint="soap"
>>>>> locationURI="http:/....">
>>>>> soapAction="...">
>>>>> <http:basicAuthentication>
>>>>> <http:basicAuthCredentials username="testuser"
>>>>> password="testpass"
>>>>> />
>>>>> </http:basicAuthentication>
>>>>> </http:soap-provider>
>>>>>
>>>>> Keep us posted
>>>>>
>>>>> Regards
>>>>> JB
>>>>>
>>>>>
>>>
>>
>
>
--
View this message in context:
http://www.nabble.com/basic-authentication-of-http-provider-tp25147640p25167223.html
Sent from the ServiceMix - User mailing list archive at Nabble.com.