package org.jboss.test.webservice.wsdlimport;
import junit.framework.TestCase;
import org.jboss.net.protocol.URLStreamHandlerFactory;
import org.jboss.webservice.WSDLDefinitionFactory;
import javax.wsdl.Definition;
import javax.xml.namespace.QName;
import javax.xml.rpc.Service;
import javax.xml.rpc.ServiceFactory;
import java.io.File;
import java.net.URL;
public class SimpleFileImportTestCase extends TestCase
{
public static final String WSDL_LOCATION = "resources/webservice/wsdlimport/simplefile/SimpleFile.wsdl";
public SimpleFileImportTestCase(String name)
{
super(name);
}
public void testFileURL() throws Exception
{
File wsdlFile = new File(WSDL_LOCATION);
assertTrue("File does not exist: " + wsdlFile.getCanonicalPath(), wsdlFile.exists());
internalInitURLHandlers();
URL wsdlURL = wsdlFile.toURL();
Definition wsdlDefinition = WSDLDefinitionFactory.newInstance().parse(wsdlURL);
assertNotNull(wsdlDefinition);
QName serviceName = (QName)wsdlDefinition.getServices().keySet().iterator().next();
ServiceFactory serviceFactory = ServiceFactory.newInstance();
Service service = serviceFactory.createService(wsdlURL, serviceName);
assertNotNull(service);
}
private void internalInitURLHandlers()
{
URL.setURLStreamHandlerFactory(new URLStreamHandlerFactory());
URLStreamHandlerFactory.preload();
String handlerPkgs = System.getProperty("java.protocol.handler.pkgs");
if (handlerPkgs != null)
{
handlerPkgs += "|org.jboss.net.protocol";
}
else
{
handlerPkgs = "org.jboss.net.protocol";
}
System.setProperty("java.protocol.handler.pkgs", handlerPkgs);
}
}