You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by "Andreas Veithen (JIRA)" <ji...@apache.org> on 2017/09/26 19:48:00 UTC

[jira] [Resolved] (AXIS2-5893) test.wsdl not found in ServiceClientTest::testWSDLWithImportsFromZIP

     [ https://issues.apache.org/jira/browse/AXIS2-5893?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Andreas Veithen resolved AXIS2-5893.
------------------------------------
    Resolution: Invalid

The file is added to the ZIP here:

https://github.com/apache/axis2-java/blob/v1.7.6/modules/kernel/test-zip/assembly.xml

> test.wsdl not found in ServiceClientTest::testWSDLWithImportsFromZIP
> --------------------------------------------------------------------
>
>                 Key: AXIS2-5893
>                 URL: https://issues.apache.org/jira/browse/AXIS2-5893
>             Project: Axis2
>          Issue Type: Bug
>          Components: kernel
>    Affects Versions: 1.7.6
>         Environment: jdk 1.8
> mvn 3.3.3
> Axis2 1.8.0-SNAPSHOT
>            Reporter: Martin Gainty
>            Priority: Minor
>             Fix For: 1.8.0
>
>
> //current algo to locate test.wsdl never locates entry in test-zip.zip
> //this will add the test.wsdl entry allowing find method to locate 'test.wsdl'
>     @Test
>     public void testWSDLWithImportsFromZIP() throws Exception
>     {
> 		OnDemandLogger log = new OnDemandLogger(ServiceClientTest.class);
> 		java.io.FileInputStream in=null;
>         ConfigurationContext configContext = ConfigurationContextFactory.createEmptyConfigurationContext();
>         if(log.isDebugEnabled()) log.debug("ServiceClientTest::testWSDLWithImportsFromZIP() LINE 45 configContext="+configContext);
>         String basedir = System.getProperty("basedir");
>         if (basedir == null) basedir = ".";
>         String zipName="/AXIS2-~1/modules/kernel/target/test-zip.zip";
>         String wsdlFullName="/AXIS2-~1/modules/kernel/target/test-zip.zip!/test.wsdl";
>         if(log.isDebugEnabled()) log.debug("ServiceClientTest::testWSDLWithImportsFromZIP() LINE 49 zipName="+zipName);
>    		byte buffer[] = new byte[1024];
>       // Open archive file
>       	FileOutputStream stream = new FileOutputStream(zipName);
>       	if(log.isDebugEnabled()) log.debug("ServiceClientTest::testWSDLWithImportsFromZIP() LINE 53 stream="+stream);
>         JarOutputStream out = new JarOutputStream(stream, new Manifest());
>         if(log.isDebugEnabled()) log.debug("ServiceClientTest::testWSDLWithImportsFromZIP() LINE 55 JarOutputStream out="+out);
>         File []tobeJared={new java.io.File(wsdlFullName)};
>       	for (int i = 0; i < tobeJared.length; i++)
>       	{
> 			if(log.isDebugEnabled()) log.debug("ServiceClientTest::testWSDLWithImportsFromZIP() LINE 64 tobeJared[i]="+tobeJared[i]);
> 			if(log.isDebugEnabled()) log.debug("ServiceClientTest::testWSDLWithImportsFromZIP() LINE 65 tobeJared[i].isDirectory()="+tobeJared[i].isDirectory());
>         	if (tobeJared[i] == null || !tobeJared[i].exists() || tobeJared[i].isDirectory())
>         	{
> 				if(log.isDebugEnabled()) log.debug("ServiceClientTest::testWSDLWithImportsFromZIP() LINE 66 tobeJared[i] already exists tobeJared[i]="+tobeJared[i]);
> 				//continue; // Just in case it already exists
> 			}
>         if(log.isDebugEnabled()) log.debug("Adding jar entry=" + tobeJared[i].getName());
>         // Add archive entry
>         	JarEntry jarAdd = new JarEntry(tobeJared[i].getName());
>         	if(log.isDebugEnabled()) log.debug("ServiceClientTest::testWSDLWithImportsFromZIP() LINE 63 jarAdd="+jarAdd);
>         	jarAdd.setTime(tobeJared[i].lastModified());
>         	if(log.isDebugEnabled()) log.debug("ServiceClientTest::testWSDLWithImportsFromZIP() LINE 65 before out.putNextEntry(jarAdd) out="+out+" jarAdd="+jarAdd);
>         	out.putNextEntry(jarAdd);
>         // Write test.wsdl file to archive
>         	in = new java.io.FileInputStream(tobeJared[i]);
>         	if(log.isDebugEnabled()) log.debug("ServiceClientTest::testWSDLWithImportsFromZIP() LINE 71 FileInputStream in="+in);
>         	while (true)
>         	{
>           		if(log.isDebugEnabled()) log.debug("ServiceClientTest::testWSDLWithImportsFromZIP() LINE 72 buffer="+buffer);
>           		int nRead = in.read(buffer, 0, buffer.length);
>           		if(log.isDebugEnabled()) log.debug("ServiceClientTest::testWSDLWithImportsFromZIP() LINE 76 nRead="+nRead);
>           		if (nRead <= 0)
>           			  break;
>           	    if(log.isDebugEnabled()) log.debug("ServiceClientTest::testWSDLWithImportsFromZIP() LINE 79 before out.write(buffer="+buffer);
>           		out.write(buffer, 0, nRead);
>         	}
> 		}
>         if(in!=null) in.close();
> 	    if(out!=null)
> 	    {
> 			out.flush();
> 			try {
> 				out.close();
> 			}
> 			catch(java.io.IOException ioe) { log.error("ServiceClientTest::testWSDLWithImportsFromZIP LINE 105 out.close() throws IOException messsage="+ioe.getMessage()); }
> 		}
>         if(stream!=null)
>         {
> 			stream.flush();
> 			stream.close();
> 		}
>         if(log.isDebugEnabled()) log.debug("ServiceClientTest::testWSDLWithImportsFromZIP() LINE 86 Adding completed OK");
>       	URL zipUrl = new File(zipName).toURI().toURL(); //URL zipUrl = new File(basedir, "target/test-zip.zip").toURI().toURL();
>       	if(log.isDebugEnabled()) log.debug("ServiceClientTest::testWSDLWithImportsFromZIP LINE 63 zipURL="+zipUrl);
>        	URL wsdlUrl = new File(wsdlFullName).toURI().toURL(); //URL wsdlUrl=new URL("jar:" + zipUrl+ "\\test.wsdl");
>        	if(log.isDebugEnabled()) log.debug("ServiceClientTest::testWSDLWithImportsFromZIP LINE 64 wsdlURL="+wsdlUrl.getFile() );
>         ServiceClient serviceClient = new ServiceClient(configContext, wsdlUrl, new QName("urn:test", "EchoService"), "EchoPort");
> //make sure test.xsd is in same folder as your test.wsdl before implementing
>         List<XmlSchema> schemas = serviceClient.getAxisService().getSchema();
>         assertEquals(1, schemas.size());
>         XmlSchema schema = schemas.get(0);
>         assertNotNull(schema.getTypeByName(new QName("urn:test", "echoResponse")));
>     }
> }



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

---------------------------------------------------------------------
To unsubscribe, e-mail: java-dev-unsubscribe@axis.apache.org
For additional commands, e-mail: java-dev-help@axis.apache.org