spring-projects / spring-ws

Spring Web Services
https://spring.io/projects/spring-ws
Apache License 2.0
321 stars 311 forks source link

No Java extensionType found to represent a '{http://www.w3.org/2001/XMLSchema}schema' element in the context of a 'javax.wsdl.Types'. [SWS-166] #320

Closed gregturn closed 17 years ago

gregturn commented 17 years ago

Shannon Kendrick opened SWS-166 and commented

The following exception occurs when the method "createExtension()" is called in class org.springframework.ws.wsdl.wsdl11.builder.XsdBasedSoap11Wsdl4jDefinitionBuilder:

This occurs when the WebSphere implementation of WSDL4J is used in the parent class loader.

org.springframework.ws.wsdl.wsdl11.Wsdl4jDefinitionException: WSDLException: faultCode=CONFIGURATION_ERROR: No Java extensionType found to represent a '{http://www.w3.org/2001/XMLSchema}schema' element in the context of a 'javax.wsdl.Types'.; nested exception is WSDLException: faultCode=CONFIGURATION_ERROR: No Java extensionType found to represent a '{http://www.w3.org/2001/XMLSchema}schema' element in the context of a 'javax.wsdl.Types'.: Caused by: WSDLException: faultCode=CONFIGURATION_ERROR: No Java extensionType found to represent a '{http://www.w3.org/2001/XMLSchema}schema' element in the context of a 'javax.wsdl.Types'.: at javax.wsdl.extensions.ExtensionRegistry.createExtension(Unknown Source) at org.springframework.ws.wsdl.wsdl11.builder.AbstractWsdl4jDefinitionBuilder.createExtension(AbstractWsdl4jDefinitionBuilder.java:199) at org.springframework.ws.wsdl.wsdl11.builder.XsdBasedSoap11Wsdl4jDefinitionBuilder.buildTypes(XsdBasedSoap11Wsdl4jDefinitionBuilder.java:219) at org.springframework.ws.wsdl.wsdl11.builder.AbstractWsdl4jDefinitionBuilder.buildTypes(AbstractWsdl4jDefinitionBuilder.java:98) at org.springframework.ws.wsdl.wsdl11.DynamicWsdl11Definition.afterPropertiesSet(DynamicWsdl11Definition.java:69) at com.test.mws.XsdBasedSoap11Wsdl4jDefinitionBuilderTest.test(XsdBasedSoap11Wsdl4jDefinitionBuilderTest.java:20) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:64) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:615) at junit.framework.TestCase.runTest(TestCase.java:164) at junit.framework.TestCase.runBare(TestCase.java:130) at junit.framework.TestResult$1.protect(TestResult.java:106) at junit.framework.TestResult.runProtected(TestResult.java:124) at junit.framework.TestResult.run(TestResult.java:109) at junit.framework.TestCase.run(TestCase.java:120) at junit.framework.TestSuite.runTest(TestSuite.java:230) at junit.framework.TestSuite.run(TestSuite.java:225) at org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3TestReference.java:128) at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:460) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)


Affects: 1.0

Attachments:

2 votes, 4 watchers

gregturn commented 17 years ago

Shannon Kendrick commented

This test demonstrates the problem when run using the WebSphere 6.1 implementation of WSDL4J.

gregturn commented 17 years ago

Arjen Poutsma commented

The WSDL4J version shipped with WebSphere 6.1 is probably 1.4.

gregturn commented 17 years ago

Arjen Poutsma commented

I tried to fix this by downgrading to WSDL4J1.4, but couldn't make it work, unfortunately. WSDL4J 1.4 misses key functionality that we need in the XsdBasedSoap11Wsdl4jDefinitionBuilder.

As a workaround, you can use the PARENT_LAST setting in WebSphere, as described here: http://ws.apache.org/muse/docs/2.2.0/manual/troubleshooting/wsdl4j-version-on-websphere.html.

Alternatively, you can generate the WSDL with WSDL4J 1.6.2, save that file, and simply use a SimpleWsdl11Definition, rather than the DynamicWsdl11Definition.

gregturn commented 17 years ago

Fredrik Sundberg commented

I'm using WAS 6.1.0.9 with Web Services Feature Pack installed, and I get the same exceptions. However it works if i put PARENT_LAST on the WAR-level also, and not only on the EAR-lever (I'm not sure what consequences this might have though).

gregturn commented 17 years ago

Arjen Poutsma commented

Closing 1.0.1 issues.