3 Replies Latest reply on Aug 23, 2011 12:38 PM by WebolutionDesigns

    WSDL with Digest Authentication

    WebolutionDesigns Level 1

      I have the opportunity to work with a client's WSDL (that doesn;t sound nice ). This particular WSDL uses Digest authentication. Has anyone ever done something like this before? I am going to try it and see what results I get. WIll post back any necessary code/messages.



        • 1. Re: WSDL with Digest Authentication
          WebolutionDesigns Level 1

          ok...I think I may have the digest authentication thing licked utilizing cflogin (I did not realize it handled digest). But am having trouble getting the WSDL to work with either cfinvoke or createobject. I would appreciate any assistance.


          Here is the WSDL url...




          I also have some documentation from the vendor, but still have difficulties. I will try to figure out how to attach the doc, but here is a sampling that might help...


          This system provides VIN decoding report information to ESP Data Solutions, Inc. customers who are

          interested in purchasing the “raw” data, rather than the HTML or PDF - formatted version available

          off the VinLINK Report Web site (http://www.vinlink.com/).

          The basics of the system :

          it receives a request consisting of:

          • Encrypted authentication information (user id and password using digest authentication)

          • VIN

          • Reporting level desired (BASIC Report,Factory Equipment Data Decode Report (FEDOR))

          • Reporting language desired (‘ENG’ - American English or ‘ESP‘ - Mexican Spanish)

          The VinLINK System than will a reply with the data available to satisfy the request.


          Vin Specification (use method: getVinSpecification() )

          This data set contains a basic vehicle information decoded from a VIN of total of 50 attributes

          • 2. Re: WSDL with Digest Authentication
            WebolutionDesigns Level 1

            ok...an update...I think I may have figured out the web service request, but I cannot seem to link the rquest with the security header. As I mentioned earlier, I was able to use cflogin to perfomr the digest authentication, but I cannot tie the two together. When I tried the following code...



            stUser = structNew();

            stUser.USERNAME_PROPERTY = "yada";

            stUser.PASSWORD_PROPERTY = "yada";

            stUser.language = "eng";

            stVindecode.VIN = "1FMCUo4112KA7126";

            stVindecode.reportType = "BASIC";

            ws = createObject("webservice", "http://ws.vinlink.com/VLWS/services/Decoder?wsdl");



            I get the following error...
            The fault returned when invoking the web service operation is:<br> <pre>AxisFault faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Client faultSubcode: faultString: WSS4JInHandler: Request does not contain required Security header faultActor: faultNode: faultDetail: {http://xml.apache.org/axis/}stackTrace:WSS4JInHandler: Request does not contain required Security header at org.apache.axis.message.SOAPFaultBuilder.createFault(SOAPFaultBuilder.java:221) at org.apache.axis.message.SOAPFaultBuilder.endElement(SOAPFaultBuilder.java:128) at org.apache.axis.encoding.DeserializationContext.endElement(DeserializationContext.java:10 87) at org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown Source) at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanEndElement(Unknown Source) at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch( Unknown Source) at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source) at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source) a... ''</pre>

            • 3. Re: WSDL with Digest Authentication
              WebolutionDesigns Level 1

              Ok...could not tie the two together, but in dealing with the vendor, I discovered they did have a basic authentication. So I used cfhttp. If anyone does come up with a way to use Diget auth, I would like to know.