axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Rakesh (JIRA)" <j...@apache.org>
Subject [jira] [Created] (AXIS2-5056) 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
Date Thu, 26 May 2011 22:48:47 GMT
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: java-dev-unsubscribe@axis.apache.org
For additional commands, e-mail: java-dev-help@axis.apache.org


Mime
View raw message