AxisFault exception(Server does not have an epr for the wsdl epr) is thrown
when the protocal defined for EPR in original wsdl differs from the protocol
defined in httpFrontendHostUrl parameter in axis2.xml
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Key: AXIS2-5056
URL: https://issues.apache.org/jira/browse/AXIS2-5056
Project: Axis2
Issue Type: Bug
Components: kernel
Affects Versions: 1.5.4
Environment: Tomcat 6.0 and Weblogic 10.3
Reporter: Rakesh
AxisFault exception(Server does not have an epr for the wsdl epr) is thrown
when the protocal defined for EPR in original wsdl differs from the protocol
defined in httpFrontendHostUrl parameter in axis2.xml
It seems like Axis has a bug in relation to parameter named httpFrontendHostUrl
where if you set it to https URL.
It fails because axis tries to compare the new EPR protocol i.e. HTTPS with the
original EPR protocol provided in original wsdl ( i.e. http).
Thus, No match is found and it results in Internal Server error stating
Server does not have an epr for the wsdl
epr==>http://<hostname>:portNo/context/services/ABCService
If the EPR in the original wsdl is changed to
https://<hostname>:portNo/context/services/ABCService, then Axis works fine
provided httpFrontendHostUrl also has "https" string.
The error is thrown in the following method of AxisService.java class in the
axis2- 1.5.4 version.
private String getLocationURI(String[] eprs, String epr) throws AxisFault {
String returnIP = null;
if (epr != null) {
if (epr.indexOf(":") > -1) {
String existingProtocol = epr.substring(0,
epr.indexOf(":"))
.trim();
String eprProtocol;
for (int i = 0; i < eprs.length; i++) {
eprProtocol = eprs[i].substring(0,
eprs[i].indexOf(":"))
.trim();
if (eprProtocol.equals(existingProtocol)) {
returnIP = eprs[i];
break;
}
}
if (returnIP != null) {
return returnIP;
} else {
throw new AxisFault(
"Server does not have an epr for the
wsdl epr==>"
+ epr);
}
} else {
throw new AxisFault("invalid epr is given epr ==> " +
epr);
}
} else {
throw new AxisFault("No epr is given in the wsdl port");
}
}
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]