1 Reply Latest reply on Dec 12, 2006 9:21 AM by insuractive

    Web service SSL compression problem

    insuractive Level 3
      I am trying to consume a .NET web service in ColdFusion via SSL and I am experiencing some serious problems. I know the URL is correct because I can browse to the WSDL using my browser. From the errors and my research, it looks like the problem could involve http compression on the server hosting the web service. I've seen some work-arounds for CFHTTP using custom HTTP headers, but I haven't been able to figure out a way to get something to work with a web service call. Any ideas? Is ColdFusion just incompatible with webservices using HTTP compression?

      Here's the summary of the problems:

      1) I can't register the web service in the CF Administrator - when I try, I get the error:
      Error creating web service. Please ensure that you have entered a correct Web Service name or URL.

      2) When I try to consume the web service in CF, I get the following error:
      Could not generate stub objects for web service invocation.
      Name: https://www.travelinsured.com/TIWebServiceQA/service.asmx?wsdl. WSDL: https://www.travelinsured.com/TIWebServiceQA/service.asmx?wsdl. java.util.zip.ZipException: unknown compression method It is recommended that you use a web browser to retrieve and examine the requested WSDL document for correctness. If the requested WSDL document can't be retrieved or it is dynamically generated, it is likely that the target web service has programming errors.

      3) Just to be sure, I've registered the latest certificate for the secure site I'm trying to access in the ColdFusion Java Keystore.

      I've seen some similar topics in the forum before involving web services and SSL but nothing on HTTP compression. Has anyone had this problem before? Any fixes?

        • 1. Re: Web service SSL compression problem
          insuractive Level 3
          A helpful poster on the House of Fusion forums pointed me to a work-around:

          Apparently ColdFusion just uses the WSDL to create the sub objects for the web service call, so as long as there is a service port address secified in the WSDL it doesn't matter where the actual WSDL file sits. So I just downloaded the WSDL using CFHTTP (had to use this article to configure CFHTTP for HTTP Compression: http://www.talkingtree.com/blog/index.cfm/2004/7/28/20040729) and then I pointed my CF Administrator to the WSDL on my local machine. And Presto - I can connect to the web service no problem now.

          Only problem is that I have to download the WSDL every time there is a change to the webservice, but I can schedule a task that downloads the file once a week or so.