4 Replies Latest reply on Oct 24, 2008 6:50 AM by Crazy_Tuna

    Consuming Web Service Issues

    Crazy_Tuna Level 1
      Hello All,
      I appreciate any help in getting me pointed in the right Direction.

      I am trying to pull values from my vender's web services. They required that I place .wsdl file on my server then call to the local file which will then make calls to their server on the Internet. I placed the .wsdl file on my webserver and then referenced it via cfinvoke command. I keep getting the following error no mater what parameters I change.

      "Web service operation getDefaultVehicleAndValueByVin with parameters {vehicleRequest={3HGCM56477G705152}} cannot be found."

      Here is my Code. Any ideas or where I can go to get me jump started would be great. I tried googling but find very basic examples.


        • 1. Re: Consuming Web Service Issues
          Dan Bracuk Level 5
          The normal syntax is not this:
          webservice=" http://iweb.dicksmith.com/NADA/TestVehicle.wsdl"
          but this
          webservice=" http://iweb.dicksmith.com/NADA/TestVehicle.something?wsdl"

          I don't think the approach of putting a wsdl file on your server is ever going to work.
          • 2. Re: Consuming Web Service Issues
            Crazy_Tuna Level 1
            Here is why I did what I did. I recieved an email from the vender and they stated this,

            " Please consider the following: the attached wsdl files, TestVehicle.wsdl and TestSecureLogin.wsdl point to our test environment. You will need to copy the wsdl files to your local hard drive. When you add a web reference using Visual Studio IDE, you will need to enter a URL. Instead of entering a URL, enter the location of the wsdl stored on your hard drive. "

            I think they are used to people using visual basic. But I am trying to do this via Coldfusion instead. Maybe they need to give me access to their server.

            • 3. Consuming Web Service Issues
              Making you put the wsdl file on your local machine is very bad architecture. It's a mess to support. What if it changes? Then they have to send new wsdl files out to everyone that is using their webservice. You might want to point that out to them.

              Even though the "?wsdl" is often the syntax used in web services to retrieve the wsdl file it's not required and wouldn't be used for the local wsdl file. Though you do put the soap port in the URL for a remote call.

              I found with the web services I have to call, with the complex types the only way I could get it to work was by using cfhttp with a post and setting the SOAPACTION to the method to call. Here is one example, and there are others out there.


              I find that when you have many complex types that Coldfusion is about as easy to use with web services as carrying an 800 lb. gorilla.


              • 4. Re: Consuming Web Service Issues
                Crazy_Tuna Level 1
                I agree with your last statement.... It has been a nightmare trying to get this to work and my vender is used to working with Visual Basic Programers. They have huge support for VB and C# but non for Coldfusion. I tried using several methods to get this to work including the CFHTTP you suggested. I have used this method a lot in the past, but I think the Arcutecture of my Venders Webservice is cumbersome and really vague. OR could be my lack of understanding webservices as a whole.

                I was able to get my venders XML API to work well, but found it slow at times and not always working. They had to reset their server a lot. I am going to talk to my vender a little bit more to see what options I have.