Error: java.io.IOException: Emitter failure. Invalid endpoint address in port IAuthentication
If you use the WSDL2Java command with the Axis Web service toolkit to point to a WSDL file of an https server, you receive the following error:
java.io.IOException: Emitter failure. Invalid endpoint address in port IAuthentication
You are using a version of the Java Developer Kit (JDK) that was released prior to JDK 1.4.
Solution or Workaround
- Open the master security properties file found at
- Add this line of code to the java.security file:
where 'N' is an integer larger than the numbers already in this file.
- Download and install JSSE from the Sun Web site.
This download contains the following three files: jnet.jar, jsse.jar, and jcert.jar.
- Add these three files to your CLASSPATH.
- Run the following command at a command prompt to generate https stubs:
Java -D java.protocol.handler.pkgs=com.sun.net.ssl.internal.www.protocol org.apache.axis.wsdl.WSDL2Java Authentication.wsdl -p esri.arcwebservices
- If you want to execute a JSP application, copy jnet.jar, jsse.jar and jcert.jar to %JAVA_HOME%\jre\lib\ext directory.
Note: Before binding the URL of the WSDL in the JSP code, these lines should be included:
These two lines of code (in Step 6) will allow the Web server to support HTTPS. Execute this method only once; it will remain in use in the application until the Web server is restarted.