I've encountered the same problem Jared Blitzstein has today, and I think I
know why it is happening.
It seems that the org.apache.axis2.transport.http.AxisServlet and other
classes implementation of the interface method
org.apache.axis2.transport.TransportListener.getEPRsForService() is
hardcoded to use http
The only one that will return https is a private class in ListingAgent
I think if the AxisServlet is accessible to both http and https it should
return more than 1 ERP, i.e. 1 for http 1 for https. Here is the current
implementation in AxisServlet as of 1.2
public EndpointReference[] getEPRsForService(String serviceName, String
ip) throws AxisFault {
//RUNNING_PORT
String port = (String) configContext.getProperty(
ListingAgent.RUNNING_PORT);
if (port == null) {
port = "8080";
}
if (ip == null) {
try {
ip = HttpUtils.getIpAddress();
if (ip == null) {
ip = "localhost";
}
} catch (SocketException e) {
throw new AxisFault(e);
}
}
EndpointReference endpoint = new EndpointReference("http://" + ip +
":" + port + '/' +
configContext
.getServiceContextPath() +
"/" +
serviceName);
return new EndpointReference[]{endpoint};
}