2 Replies Latest reply on Oct 19, 2009 2:36 PM by Fusecast

    CF and Web services best practices

    Michal_Kangurek
      Hi all,
      I need to write a paper about CF and web services. Could anybody
      point me to some resources about best practices when implementing web
      services in CF? Any lessons learned, gotchas from your own experience
      are even better.
      I know already about the complex data types and their problems in SOAP/
      WSDL.
      I'm aware about the pros&cons of handcoding XML/SOAP and pushing it
      through CFHTTP vs using the CFinvoke and the built-in Apache Axis
      engine. Any extra info on these issues would be very useful too.

      I'm interested in more advanced WS features support in CF like all the
      standards (WS-Security, WS-Transaction, and other WS-*).
      The security aspects are also of special interest (including the
      encryption and digital certificates)

      Thanks,
      Michal
        • 1. Re: CF and Web services best practices
          Dan Bracuk Level 5
          Some gotchas that I came across include:

          All arguments have to be mandatory.
          Web Services written in Cold Fusion, no matter how simple, can't be consumed by Lotus Notes.
          If the cfc file has returntype="xml" in any function, none of the functions can be be consumed by asp/.net
          • 2. Re: CF and Web services best practices
            Fusecast Level 1

            Michal

             

            Can you send me your article or anything you have on web services? I am trying to connect to a .NET server and I'm getting the following error:

             

            System.Web.Services.Protocols.SoapHeaderException: WSE012: The input was not a valid SOAP message because the following information is missing: action. at Microsoft.Web.Services3.Utilities.AspNetHelper.SetDefaultAddressingProperties(SoapContext context, HttpContext httpContext) at Microsoft.Web.Services3.WseProtocol.CreateRequestSoapContext(SoapEnvelope requestEnvelope) at Microsoft.Web.Services3.WseProtocol.FilterRequest(SoapEnvelope requestEnvelope) at Microsoft.Web.Services3.WseProtocol.RouteRequest(SoapServerMessage message) at System.Web.Services.Protocols.SoapServerProtocol.Initialize() at System.Web.Services.Protocols.ServerProtocol.SetContext(Type type, HttpContext context, HttpRequest request, HttpResponse response) at System.Web.Services.Protocols.ServerProtocolFactory.Create(Type type, HttpContext context, HttpRequest request, HttpResponse response, Boolean& abortProcessing)

             

            I know it has something to do with Axis but I just don't know enough. Is there a way around it? Do you know if WSE 3.0 requires Axis2?

             

            Thanks for any info you can send my way.

             

            Steve