I've been forced to write quite a few CXF clients to Microsoft services,
I think the mailing list is littered with my questions about that.  Is
this a service someone developed using Microsoft tools, or a service
produced by Microsoft?  That's a Great Plains reference? I've often had
trouble with figuring the security mechanism from a MS wsdl, so I tend
to go pragmatic and start here:

1) What does the service reply with when you call it from CXF?  If it's
something as simple as WS-S, you ought to get a complaint about missing
security headers.

2) It sounds like you have a functional .NET implementation.  Log the
packets from that implementation and take a look at what's going in.  

Best,
Nate


-----Original Message-----
From: Bruno Melloni [mailto:bruno.mell...@chickasaw.net] 
Sent: Thursday, March 11, 2010 9:20 AM
To: 'users@cxf.apache.org'
Subject: Service authentication credentials

I am trying to access a Microsoft-developed service that requires
authentication.  Being Microsoft, they do not document anything at the
web service level since they want you to use Visual Studio which creates
a .NET proxy that is capable of using NTLM to supply the
username/password to the underlying web service.  I *think* that they
are following web services standards for the underlying web service.

Of course, I am trying to use a CXF client to access the underlying web
service from Java.  I used wsdl2java to generate the java classes, but I
see no credentials-related information (which you do see in the .NET
proxy).  That makes me suspect that they must be in the stored in the
SOAP headers and that in CXF we access them in a different way. 

I could use any clues on how to:

a) Figure out how authentication is being done for this web service.

b) Figure out how to provide the credentials to the web service when
called.  I am using the Spring approach to get the CXF client proxy and
my current configuration looks like:

  <jaxws:client id="gpClient"
address="http://myServer.myDomain/DynamicsGPWebServices/DynamicsGPServic
e.asmx"  
 
serviceClass="com.microsoft.schemas.dynamics.gp._2006._01.DynamicsX0020G
PSoap" />

Needless to say, my experience with CXF is not too deep (created and
called a few services via the Spring method - the simplest), and my
knowledge of web services authentication is zero.  Unfortunately CXF's
documentation isn't very helpful for someone at my stage of learning
CXF.  I'll appreciate any help I can get.

I tried to attach a copy of the WSDL for the service that I'm trying to
access, but it exceeds the size limits for this mailing list.

Reply via email to