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?