1 23 24 package com.rift.coad.lib.webservice; 25 26 import com.rift.coad.lib.interceptor.InterceptorFactory; 28 import com.rift.coad.lib.naming.NamingDirector; 29 import com.rift.coad.lib.security.RoleManager; 30 import com.rift.coad.lib.security.SessionManager; 31 import com.rift.coad.lib.security.ThreadPermissionSession; 32 import com.rift.coad.lib.security.ThreadsPermissionContainer; 33 import com.rift.coad.lib.security.UserSession; 34 import com.rift.coad.lib.security.login.LoginManager; 35 import com.rift.coad.lib.security.user.UserSessionManager; 36 import com.rift.coad.lib.security.user.UserStoreManager; 37 import com.rift.coad.lib.thread.CoadunationThreadGroup; 38 import com.rift.coad.lib.transaction.TransactionDirector; 39 import java.io.ByteArrayInputStream ; 40 import java.util.HashSet ; 41 import java.util.Map ; 42 import java.util.HashMap ; 43 import java.util.Set ; 44 import java.util.Iterator ; 45 46 import javax.xml.soap.MimeHeaders ; 48 49 50 import org.apache.axis.AxisEngine; 52 import org.apache.axis.server.AxisServer; 53 import org.apache.axis.management.ServiceAdmin; 54 import org.apache.axis.configuration.EngineConfigurationFactoryFinder; 55 import org.apache.axis.EngineConfiguration; 56 57 import junit.framework.*; 59 60 import com.rift.coad.lib.thirdparty.axis.AxisManager; 62 import com.rift.coad.lib.deployment.DeploymentLoader; 63 import com.rift.coad.lib.deployment.webservice.WebServiceManager; 64 65 69 public class WebServiceWrapperTest extends TestCase { 70 71 public WebServiceWrapperTest(String testName) { 72 super(testName); 73 } 74 75 protected void setUp() throws Exception { 76 } 77 78 protected void tearDown() throws Exception { 79 } 80 81 public static Test suite() { 82 TestSuite suite = new TestSuite(WebServiceWrapperTest.class); 83 84 return suite; 85 } 86 87 90 public void testWebServiceManager() throws Exception { 91 System.out.println("testWebServiceManager"); 92 93 ThreadsPermissionContainer permissions = new ThreadsPermissionContainer(); 95 SessionManager.init(permissions); 96 UserStoreManager userStoreManager = new UserStoreManager(); 97 UserSessionManager sessionManager = new UserSessionManager(permissions, 98 userStoreManager); 99 LoginManager.init(sessionManager,userStoreManager); 100 CoadunationThreadGroup threadGroup = new CoadunationThreadGroup(sessionManager, 102 userStoreManager); 103 104 RoleManager.getInstance(); 106 107 InterceptorFactory.init(permissions,sessionManager,userStoreManager); 108 109 Set set = new HashSet (); 111 set.add("test"); 112 UserSession user = new UserSession("test1", set); 113 permissions.putSession(new Long (Thread.currentThread().getId()), 114 new ThreadPermissionSession( 115 new Long (Thread.currentThread().getId()),user)); 116 117 NamingDirector.init(threadGroup); 119 120 TransactionDirector transactionDirector = TransactionDirector.init(); 122 123 DeploymentLoader deploymentLoader = new DeploymentLoader( 125 new java.io.File (System.getProperty("test.jar"))); 126 127 AxisManager.init(); 129 130 WebServiceManager instance = new WebServiceManager(); 132 133 instance.load(deploymentLoader); 135 136 Set paths = instance.getServices(); 138 if (paths.size() != 1) { 139 fail("There should be one path there are [" + paths.size() + "]"); 140 } 141 142 if (paths.contains("/WebServiceTest") == false) { 143 fail("There should be one path [/WebServiceTest]"); 144 } 145 146 WebServiceWrapper webServiceWrapper = 148 (WebServiceWrapper)instance.getService("/WebServiceTest"); 149 150 System.out.println(webServiceWrapper.generateWSDL()); 151 152 String xmlQuery = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" + 153 "<soapenv:Envelope xmlns:soapenv=" + 154 "\"http://schemas.xmlsoap.org/soap/envelope/\" " + 155 "xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" " + 156 "xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\">" + 157 "<soapenv:Body><helloWorld xmlns=\"urn:WebService/wsdl\">" + 158 "<String_1 xmlns=\"\">This is a test call</String_1>" + 159 "</helloWorld></soapenv:Body></soapenv:Envelope>"; 160 161 String xmlResult1 = webServiceWrapper.processRequest(xmlQuery); 162 163 164 ByteArrayInputStream input = new ByteArrayInputStream ( 165 xmlQuery.getBytes()); 166 String xmlResult2 = webServiceWrapper.processRequest(input, 167 new MimeHeaders ()); 168 System.out.println("Result 1 [" + xmlResult1 + "]"); 169 System.out.println("Result 2 [" + xmlResult2 + "]"); 170 if (!xmlResult1.equals(xmlResult2)) { 171 fail("The processing requests failed."); 172 } 173 174 instance.unLoad(deploymentLoader); 176 177 paths = instance.getServices(); 178 if (paths.size() != 0) { 179 fail("There should be zero paths there are [" + paths.size() + "]"); 180 } 181 } 182 183 } 184 | Popular Tags |