Listing 1

import java.util.*;

public class Email {
 
 public List 
 getNewMessages(String id)
 {
   List l = new ArrayList(3);
   l.add("1");
   l.add("2");
   l.add("3");
   return l;
 }
}


Listing 2

<servlet>
  <servlet-name>
    AxisServlet
  </servlet-name>
  <display-name>
    Apache-Axis Servlet
  </display-name>
  <servlet-class>
    org.apache.axis.transport.http.AxisServlet
  </servlet-class>
</servlet>
<servlet-mapping>
  <servlet-name>
    AxisServlet
  </servlet-name>
  <url-pattern>
    *.jws
  </url-pattern>
</servlet-mapping>


Listing 3

java 
 -classpath 
  .;axis.jar;log4j-1.2.8.jar
  ;commons-logging-1.0.4.jar
  ;commons-discovery-0.2.jar
  ;jaxrpc.jar;saaj.jar
  ;wsdl4j-1.5.1.jar 
 org.apache.axis.wsdl.WSDL2Java 
  -p jdj.wsclient.shared
  http://localhost:8080/JDJArticle/Email.jws?wsdl


Listing 4

public static 
void main(String[] args) 
throws Exception
{
  System.setProperty(
   "javax.net.ssl.trustStore",
   "classpath/resources/keystore/CustomKeystore");

  System.setProperty(
   "javax.net.ssl.trustStorePassword", 
   "littlesecret");

  EmailServiceLocator wsl = 
   new EmailServiceLocator();

  Email_PortType ews = 
   wsl.getEmail();

  Object [] objects = 
   ews.getNewMessages("12345");

  out("Msg Count: " + objects.length);
}


Listing 5

public MySocketFactory(Hashtable table)
throws Exception
{
  out("Created!");
  KeyStore ks = 
   KeyStore.getInstance(
    KeyStore.getDefaultType()
   );

  char [] password = 
   "littlesecret".toCharArray();

  String keystore = 
   "/resources/keystore/CustomKeystore";

  Class tclass = 
   this.getClass();
  
  InputStream is = 
   tclass.getResourceAsStream(
    keystore
   );

  ks.load(is, password);

  KeyManagerFactory kmf = 
   KeyManagerFactory.getInstance("SunX509");

  kmf.init(ks,password);

  TrustManagerFactory tmf = 
   TrustManagerFactory.getInstance("SunX509");

  tmf.init(ks);

  SSLContext context = 
   SSLContext.getInstance("SSL");

  context.init(
   kmf.getKeyManagers(), 
   tmf.getTrustManagers(), 
   new SecureRandom()
  );

  factory = 
   context.getSocketFactory();
}