9 Replies Latest reply on Feb 20, 2015 7:06 AM by BigDadi

    CF11 Webservice over SSL

    BigDadi

      I have a web service that I have working on our dev and test servers.  Now I'm trying to deploy it to production.  We have an external prod server in a DMZ that calls the web service on our internal prod server.  We only have port 443 open in the firewall between these two servers (not port 80).  I am able to do a <cfhttp> call to the WSDL over 443 and get back the xml.  I've even able to pass the method and parameters through the <cfhttp> call and get back the result I'm looking for:

       

      <cfhttp method="get" url="https://app-int.phs.psu.edu/standard/date_function.cfc?WSDL&method=getNthDayOfMonth&dtMont h=#Now()#&intDayOfWeek=1&intNth=4">

      <cfdump var="#cfhttp#">

       

      However, if I make the web service call using <cfinvoke> I get the following error:

      <cfinvoke

      webservice="https://app-int.phs.psu.edu/standard/date_function.cfc?WSDL"

      method="getNthDayOfMonth"

      returnvariable="dtMaintenance">

           <cfinvokeargument name="dtMonth" value="#Now()#" />

           <cfinvokeargument name="intDayOfWeek" value="1" />

           <cfinvokeargument name="intNth" value="4" />

      </cfinvoke>

       

      Cannot perform web service invocation getNthDayOfMonth.

      The fault returned when invoking the web service operation is:

      org.apache.axis2.AxisFault: Connection refused

              at org.apache.axis2.AxisFault.makeFault(AxisFault.java:430)

              at org.apache.axis2.transport.http.HTTPSender.sendViaPost(HTTPSender.java:197)

              at org.apache.axis2.transport.http.HTTPSender.send(HTTPSender.java:75)

              at org.apache.axis2.transport.http.CommonsHTTPTransportSender.writeMessageWithCommons(Common sHTTPTransportSender.java:402)

              at org.apache.axis2.transport.http.CommonsHTTPTransportSender.invoke(CommonsHTTPTransportSen der.java:231)

              at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:443)

              at org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:406)

              at org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java :229)

              at org.apache.axis2.client.OperationClient.execute(OperationClient.java:165)

              at standard.StandardDate_functionCfcStub.getNthDayOfMonth(StandardDate_functionCfcStub.java: 192)

              at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

              at sun.reflect.NativeMethodAccessorI... ''

       

      I am able to successfully call the same web service (on the internal prod server) using the same code from my internal dev server.  However, when I look at my httpd logs on the internal prod server, I don't see the request in the ssl_access_log.  It shows up in the access_log file as:
      150.231.26.130 - - [03/Feb/2015:13:48:57 -0500] "POST /standard/date_function.cfc HTTP/1.1" 200 397 "-" "Axis2"

       

      Any thoughts why this appears to still be coming through port 80?