You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tuscany.apache.org by Simon Laws <si...@googlemail.com> on 2007/10/01 09:52:00 UTC

WS Binding ?WSDL problem

With the latest trunk I'm getting the following from
\binding-ws-axis2\src\test\java\org\apache\tuscany\sca\binding\ws\axis2\itests\QuestionMarkWSDLTestCase.java

HTTP ERROR: 500

javax.wsdl.extensions.UnknownExtensibilityElement incompatible with
javax.wsdl.extensions.schema.Schema

RequestURI=/services/HelloWorldWebService
Caused by:

java.lang.ClassCastException:
javax.wsdl.extensions.UnknownExtensibilityElement incompatible with
javax.wsdl.extensions.schema.Schema
	at com.ibm.wsdl.extensions.schema.SchemaSerializer.marshall(Unknown Source)
	at com.ibm.wsdl.xml.WSDLWriterImpl.printExtensibilityElements(Unknown Source)
	at com.ibm.wsdl.xml.WSDLWriterImpl.printTypes(Unknown Source)
	at com.ibm.wsdl.xml.WSDLWriterImpl.printDefinition(Unknown Source)
	at com.ibm.wsdl.xml.WSDLWriterImpl.writeWSDL(Unknown Source)
	at com.ibm.wsdl.xml.WSDLWriterImpl.writeWSDL(Unknown Source)
	at org.apache.axis2.description.AxisService.printDefinitionObject(AxisService.java:920)
	at org.apache.axis2.description.AxisService.printUserWSDL(AxisService.java:934)
	at org.apache.axis2.description.AxisService.printWSDL(AxisService.java:1056)
	at org.apache.tuscany.sca.binding.ws.axis2.TuscanyListingAgent.processListService(TuscanyListingAgent.java:140)
	at org.apache.tuscany.sca.binding.ws.axis2.Axis2ServiceServlet.doGet(Axis2ServiceServlet.java:255)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
	at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487)
	at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:367)
	at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
	at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:712)
	at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139)
	at org.mortbay.jetty.Server.handle(Server.java:285)
	at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:502)
	at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:821)
	at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:513)
	at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:208)
	at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:378)
	at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:368)
	at org.apache.tuscany.sca.core.work.Jsr237Work.run(Jsr237Work.java:61)
	at org.apache.tuscany.sca.core.work.ThreadPoolWorkManager$DecoratingWork.run(ThreadPoolWorkManager.java:205)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:665)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:690)
	at java.lang.Thread.run(Thread.java:801)

*Powered by Jetty:// <http://jetty.mortbay.org/>*

I've made some changes locally in binding-ws-axis2 although nothing to do
with reading wsdl so am trying to work out if this is to do with my changes
or not. Anyone else seeing it?

Simon

Re: WS Binding ?WSDL problem

Posted by Simon Laws <si...@googlemail.com>.
On 10/1/07, Raymond Feng <en...@gmail.com> wrote:
>
> Hi,
>
> I was about to send a note to explain the changes. :-)
>
> It's actually one step to fix the problem reported in TUSCANY-1814. One of
> the findings is that WSDL4J agressively load inline schemas and follow the
> import/include directives into DOM and Schema extension. As a consequence,
> it consumes a lot memory is the XSDs are big. No code consumes the WSDL4J
> Schema and we'll load the schema again using Apache XmlSchema. In the
> changes, I disable the WSDL Schema extension deserialization by replacing
> the Schema extension deserializer with UnknowExtensibilityElement
> deserializer.
>
> I don't know why the full build doesn't catch the ?wsdl issue. Let me take
> a
> look and I think the fix might be as simple as disabling the Schema
> extension serializer.
>
> Thanks,
> Raymond
>
> ----- Original Message -----
> From: "Simon Laws" <si...@googlemail.com>
> To: "tuscany-dev" <tu...@ws.apache.org>
> Sent: Monday, October 01, 2007 1:49 AM
> Subject: Re: WS Binding ?WSDL problem
>
>
> > On 10/1/07, Simon Laws <si...@googlemail.com> wrote:
> >>
> >> With the latest trunk I'm getting the following from
> >>
> \binding-ws-axis2\src\test\java\org\apache\tuscany\sca\binding\ws\axis2\itests\QuestionMarkWSDLTestCase.java
> >>
> >> HTTP ERROR: 500
> >>
> >> javax.wsdl.extensions.UnknownExtensibilityElement
> >>
> >>  incompatible with javax.wsdl.extensions.schema.Schema
> >>
> >> RequestURI=/services/HelloWorldWebService
> >> Caused by:
> >>
> >> java.lang.ClassCastException:
> >> javax.wsdl.extensions.UnknownExtensibilityElement incompatible with
> >> javax.wsdl.extensions.schema.Schema
> >> at com.ibm.wsdl.extensions.schema.SchemaSerializer.marshall
> >>
> >> (Unknown Source)
> >> at com.ibm.wsdl.xml.WSDLWriterImpl.printExtensibilityElements(Unknown
> >> Source)
> >> at com.ibm.wsdl.xml.WSDLWriterImpl.printTypes(Unknown Source)
> >> at com.ibm.wsdl.xml.WSDLWriterImpl.printDefinition
> >> (Unknown Source)
> >>
> >> at com.ibm.wsdl.xml.WSDLWriterImpl.writeWSDL(Unknown Source)
> >> at com.ibm.wsdl.xml.WSDLWriterImpl.writeWSDL(Unknown Source)
> >> at org.apache.axis2.description.AxisService.printDefinitionObject(
> >> AxisService.java:920)
> >>
> >> at
> >> org.apache.axis2.description.AxisService.printUserWSDL(AxisService.java
> :934)
> >> at
> >> org.apache.axis2.description.AxisService.printWSDL(AxisService.java
> :1056)
> >> at
> >>
> org.apache.tuscany.sca.binding.ws.axis2.TuscanyListingAgent.processListService
> >>
> >> (TuscanyListingAgent.java:140)
> >> at
> >> org.apache.tuscany.sca.binding.ws.axis2.Axis2ServiceServlet.doGet(
> Axis2ServiceServlet.java:255)
> >> at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
> >> at javax.servlet.http.HttpServlet.service
> >>
> >> (HttpServlet.java:820)
> >> at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java
> :487)
> >> at
> >> org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java
> :367)
> >> at org.mortbay.jetty.servlet.SessionHandler.handle
> >>
> >> (SessionHandler.java:181)
> >> at
> >> org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java
> :712)
> >> at
> >> org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java
> :139)
> >> at org.mortbay.jetty.Server.handle
> >>
> >> (Server.java:285)
> >> at
> >> org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:502)
> >> at
> >> org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(
> HttpConnection.java:821)
> >> at org.mortbay.jetty.HttpParser.parseNext
> >>
> >> (HttpParser.java:513)
> >> at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:208)
> >> at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:378)
> >> at org.mortbay.io.nio.SelectChannelEndPoint.run
> >> (SelectChannelEndPoint.java
> >> :368)
> >> at org.apache.tuscany.sca.core.work.Jsr237Work.run(Jsr237Work.java:61)
> >> at
> >>
> org.apache.tuscany.sca.core.work.ThreadPoolWorkManager$DecoratingWork.run(
> ThreadPoolWorkManager.java:205)
> >>
> >> at java.util.concurrent.ThreadPoolExecutor$Worker.runTask
> >> (ThreadPoolExecutor.java:665)
> >> at
> >> java.util.concurrent.ThreadPoolExecutor$Worker.run(
> ThreadPoolExecutor.java:690)
> >> at java.lang.Thread.run(Thread.java
> >> :801)
> >>
> >> *Powered by Jetty:// <http://jetty.mortbay.org/>*
> >>
> >> I've made some changes locally in binding-ws-axis2 although nothing to
> do
> >> with reading wsdl so am trying to work out if this is to do with my
> >> changes
> >> or not. Anyone else seeing it?
> >>
> >> Simon
> >>
> >
> > It seems to be related to the memory optimization changes that went in
> > with
> > r580611. If I re-enable the schema extension for WSDL4J then the problem
> > goes away.
> >
> >    public WSDLModelResolver(Contribution contribution,
> > ModelFactoryExtensionPoint modelFactories) {
> >        this.contribution = contribution;
> >
> >        this.wsdlFactory = modelFactories.getFactory(WSDLFactory.class);
> >        this.wsdl4jFactory = modelFactories.getFactory(
> > javax.wsdl.factory.WSDLFactory.class);
> >        this.contributionFactory = modelFactories.getFactory (
> > ContributionFactory.class);
> >
> >        wsdlExtensionRegistry =
> > this.wsdl4jFactory.newPopulatedExtensionRegistry();
> >        // REVIEW: [rfeng] Disable the schema extension for WSDL4J to
> avoid
> > aggressive loading
> > /*
> >        ExtensionDeserializer deserializer = new
> > UnknownExtensionDeserializer();
> >        for (QName schema : XSD_QNAME_LIST) {
> >            wsdlExtensionRegistry.registerDeserializer(Types.class,
> schema,
> > deserializer);
> >        }
> > */
> >    }
> >
> > There seems to be quite a lot of changes for this fix. Raymond, could
> you
> > give us a quick run through of what the changes do?
> >
> > Regards
> >
> > Simon
> >
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: tuscany-dev-unsubscribe@ws.apache.org
> For additional commands, e-mail: tuscany-dev-help@ws.apache.org
>
> Raymond

Thanks for the explanation and thanks for the 1821 fix.

Simon

Re: WS Binding ?WSDL problem

Posted by Raymond Feng <en...@gmail.com>.
Hi,

I was about to send a note to explain the changes. :-)

It's actually one step to fix the problem reported in TUSCANY-1814. One of 
the findings is that WSDL4J agressively load inline schemas and follow the 
import/include directives into DOM and Schema extension. As a consequence, 
it consumes a lot memory is the XSDs are big. No code consumes the WSDL4J 
Schema and we'll load the schema again using Apache XmlSchema. In the 
changes, I disable the WSDL Schema extension deserialization by replacing 
the Schema extension deserializer with UnknowExtensibilityElement 
deserializer.

I don't know why the full build doesn't catch the ?wsdl issue. Let me take a 
look and I think the fix might be as simple as disabling the Schema 
extension serializer.

Thanks,
Raymond

----- Original Message ----- 
From: "Simon Laws" <si...@googlemail.com>
To: "tuscany-dev" <tu...@ws.apache.org>
Sent: Monday, October 01, 2007 1:49 AM
Subject: Re: WS Binding ?WSDL problem


> On 10/1/07, Simon Laws <si...@googlemail.com> wrote:
>>
>> With the latest trunk I'm getting the following from
>> \binding-ws-axis2\src\test\java\org\apache\tuscany\sca\binding\ws\axis2\itests\QuestionMarkWSDLTestCase.java
>>
>> HTTP ERROR: 500
>>
>> javax.wsdl.extensions.UnknownExtensibilityElement
>>
>>  incompatible with javax.wsdl.extensions.schema.Schema
>>
>> RequestURI=/services/HelloWorldWebService
>> Caused by:
>>
>> java.lang.ClassCastException: 
>> javax.wsdl.extensions.UnknownExtensibilityElement incompatible with 
>> javax.wsdl.extensions.schema.Schema
>> at com.ibm.wsdl.extensions.schema.SchemaSerializer.marshall
>>
>> (Unknown Source)
>> at com.ibm.wsdl.xml.WSDLWriterImpl.printExtensibilityElements(Unknown 
>> Source)
>> at com.ibm.wsdl.xml.WSDLWriterImpl.printTypes(Unknown Source)
>> at com.ibm.wsdl.xml.WSDLWriterImpl.printDefinition
>> (Unknown Source)
>>
>> at com.ibm.wsdl.xml.WSDLWriterImpl.writeWSDL(Unknown Source)
>> at com.ibm.wsdl.xml.WSDLWriterImpl.writeWSDL(Unknown Source)
>> at org.apache.axis2.description.AxisService.printDefinitionObject(
>> AxisService.java:920)
>>
>> at 
>> org.apache.axis2.description.AxisService.printUserWSDL(AxisService.java:934)
>> at 
>> org.apache.axis2.description.AxisService.printWSDL(AxisService.java:1056)
>> at 
>> org.apache.tuscany.sca.binding.ws.axis2.TuscanyListingAgent.processListService
>>
>> (TuscanyListingAgent.java:140)
>> at 
>> org.apache.tuscany.sca.binding.ws.axis2.Axis2ServiceServlet.doGet(Axis2ServiceServlet.java:255)
>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
>> at javax.servlet.http.HttpServlet.service
>>
>> (HttpServlet.java:820)
>> at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487)
>> at 
>> org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:367)
>> at org.mortbay.jetty.servlet.SessionHandler.handle
>>
>> (SessionHandler.java:181)
>> at 
>> org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:712)
>> at 
>> org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139)
>> at org.mortbay.jetty.Server.handle
>>
>> (Server.java:285)
>> at 
>> org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:502)
>> at 
>> org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:821)
>> at org.mortbay.jetty.HttpParser.parseNext
>>
>> (HttpParser.java:513)
>> at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:208)
>> at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:378)
>> at org.mortbay.io.nio.SelectChannelEndPoint.run
>> (SelectChannelEndPoint.java
>> :368)
>> at org.apache.tuscany.sca.core.work.Jsr237Work.run(Jsr237Work.java:61)
>> at 
>> org.apache.tuscany.sca.core.work.ThreadPoolWorkManager$DecoratingWork.run(ThreadPoolWorkManager.java:205)
>>
>> at java.util.concurrent.ThreadPoolExecutor$Worker.runTask
>> (ThreadPoolExecutor.java:665)
>> at 
>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:690)
>> at java.lang.Thread.run(Thread.java
>> :801)
>>
>> *Powered by Jetty:// <http://jetty.mortbay.org/>*
>>
>> I've made some changes locally in binding-ws-axis2 although nothing to do
>> with reading wsdl so am trying to work out if this is to do with my 
>> changes
>> or not. Anyone else seeing it?
>>
>> Simon
>>
>
> It seems to be related to the memory optimization changes that went in 
> with
> r580611. If I re-enable the schema extension for WSDL4J then the problem
> goes away.
>
>    public WSDLModelResolver(Contribution contribution,
> ModelFactoryExtensionPoint modelFactories) {
>        this.contribution = contribution;
>
>        this.wsdlFactory = modelFactories.getFactory(WSDLFactory.class);
>        this.wsdl4jFactory = modelFactories.getFactory(
> javax.wsdl.factory.WSDLFactory.class);
>        this.contributionFactory = modelFactories.getFactory (
> ContributionFactory.class);
>
>        wsdlExtensionRegistry =
> this.wsdl4jFactory.newPopulatedExtensionRegistry();
>        // REVIEW: [rfeng] Disable the schema extension for WSDL4J to avoid
> aggressive loading
> /*
>        ExtensionDeserializer deserializer = new
> UnknownExtensionDeserializer();
>        for (QName schema : XSD_QNAME_LIST) {
>            wsdlExtensionRegistry.registerDeserializer(Types.class, schema,
> deserializer);
>        }
> */
>    }
>
> There seems to be quite a lot of changes for this fix. Raymond, could you
> give us a quick run through of what the changes do?
>
> Regards
>
> Simon
> 


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


Re: WS Binding ?WSDL problem

Posted by Simon Laws <si...@googlemail.com>.
On 10/1/07, Simon Laws <si...@googlemail.com> wrote:
>
>
>
> On 10/1/07, Simon Laws <simonslaws@googlemail.com > wrote:
> >
> > With the latest trunk I'm getting the following from
> > \binding-ws-axis2\src\test\java\org\apache\tuscany\sca\binding\ws\axis2\itests\QuestionMarkWSDLTestCase.java
> >
> > HTTP ERROR: 500
> >
> > javax.wsdl.extensions.UnknownExtensibilityElement
> >
> >
> >  incompatible with javax.wsdl.extensions.schema.Schema
> >
> > RequestURI=/services/HelloWorldWebService
> > Caused by:
> >
> > java.lang.ClassCastException: javax.wsdl.extensions.UnknownExtensibilityElement incompatible with javax.wsdl.extensions.schema.Schema
> > 	at com.ibm.wsdl.extensions.schema.SchemaSerializer.marshall
> >
> >
> > (Unknown Source)
> > 	at com.ibm.wsdl.xml.WSDLWriterImpl.printExtensibilityElements(Unknown Source)
> > 	at com.ibm.wsdl.xml.WSDLWriterImpl.printTypes(Unknown Source)
> > 	at com.ibm.wsdl.xml.WSDLWriterImpl.printDefinition
> >
> > (Unknown Source)
> >
> > 	at com.ibm.wsdl.xml.WSDLWriterImpl.writeWSDL(Unknown Source)
> > 	at com.ibm.wsdl.xml.WSDLWriterImpl.writeWSDL(Unknown Source)
> > 	at org.apache.axis2.description.AxisService.printDefinitionObject
> > (
> > AxisService.java:920)
> >
> > 	at org.apache.axis2.description.AxisService.printUserWSDL(AxisService.java:934)
> > 	at org.apache.axis2.description.AxisService.printWSDL(AxisService.java:1056)
> > 	at org.apache.tuscany.sca.binding.ws.axis2.TuscanyListingAgent.processListService
> >
> >
> > (TuscanyListingAgent.java:140)
> > 	at org.apache.tuscany.sca.binding.ws.axis2.Axis2ServiceServlet.doGet(Axis2ServiceServlet.java:255)
> > 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
> > 	at javax.servlet.http.HttpServlet.service
> >
> >
> > (HttpServlet.java:820)
> > 	at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487)
> > 	at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:367)
> > 	at org.mortbay.jetty.servlet.SessionHandler.handle
> >
> >
> > (SessionHandler.java:181)
> > 	at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:712)
> > 	at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139)
> > 	at org.mortbay.jetty.Server.handle
> >
> >
> > (Server.java:285)
> > 	at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:502)
> > 	at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:821)
> > 	at org.mortbay.jetty.HttpParser.parseNext
> >
> >
> > (HttpParser.java:513)
> > 	at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:208)
> > 	at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:378)
> > 	at org.mortbay.io.nio.SelectChannelEndPoint.run
> >
> > (SelectChannelEndPoint.java
> > :368)
> > 	at org.apache.tuscany.sca.core.work.Jsr237Work.run(Jsr237Work.java:61)
> > 	at org.apache.tuscany.sca.core.work.ThreadPoolWorkManager$DecoratingWork.run(ThreadPoolWorkManager.java
> > :205)
> >
> > 	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask
> > (ThreadPoolExecutor.java:665)
> > 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:690)
> > 	at java.lang.Thread.run(Thread.java
> >
> > :801)
> >
> > *Powered by Jetty:// <http://jetty.mortbay.org/>*
> >
> > I've made some changes locally in binding-ws-axis2 although nothing to
> > do with reading wsdl so am trying to work out if this is to do with my
> > changes or not. Anyone else seeing it?
> >
> > Simon
> >
>
> It seems to be related to the memory optimization changes that went in
> with  r580611. If I re-enable the schema extension for WSDL4J then the
> problem goes away.
>
>     public WSDLModelResolver(Contribution contribution,
> ModelFactoryExtensionPoint modelFactories) {
>         this.contribution = contribution;
>
>         this.wsdlFactory = modelFactories.getFactory(WSDLFactory.class);
>         this.wsdl4jFactory = modelFactories.getFactory(
> javax.wsdl.factory.WSDLFactory.class);
>         this.contributionFactory = modelFactories.getFactory (
> ContributionFactory.class);
>
>         wsdlExtensionRegistry =
> this.wsdl4jFactory.newPopulatedExtensionRegistry();
>         // REVIEW: [rfeng] Disable the schema extension for WSDL4J to
> avoid aggressive loading
> /*
>         ExtensionDeserializer deserializer = new
> UnknownExtensionDeserializer();
>         for (QName schema : XSD_QNAME_LIST) {
>             wsdlExtensionRegistry.registerDeserializer(Types.class,
> schema, deserializer);
>         }
> */
>     }
>
> There seems to be quite a lot of changes for this fix. Raymond, could you
> give us a quick run through of what the changes do?
>
> Regards
>
> Simon
>
I've raised https://issues.apache.org/jira/browse/TUSCANY-1821 for this and
checked this change into svn while we work out why it's causing problems
with ?wsdl

Simon

Re: WS Binding ?WSDL problem

Posted by Simon Laws <si...@googlemail.com>.
On 10/1/07, Simon Laws <si...@googlemail.com> wrote:
>
> With the latest trunk I'm getting the following from
> \binding-ws-axis2\src\test\java\org\apache\tuscany\sca\binding\ws\axis2\itests\QuestionMarkWSDLTestCase.java
>
> HTTP ERROR: 500
>
> javax.wsdl.extensions.UnknownExtensibilityElement
>
>  incompatible with javax.wsdl.extensions.schema.Schema
>
> RequestURI=/services/HelloWorldWebService
> Caused by:
>
> java.lang.ClassCastException: javax.wsdl.extensions.UnknownExtensibilityElement incompatible with javax.wsdl.extensions.schema.Schema
> 	at com.ibm.wsdl.extensions.schema.SchemaSerializer.marshall
>
> (Unknown Source)
> 	at com.ibm.wsdl.xml.WSDLWriterImpl.printExtensibilityElements(Unknown Source)
> 	at com.ibm.wsdl.xml.WSDLWriterImpl.printTypes(Unknown Source)
> 	at com.ibm.wsdl.xml.WSDLWriterImpl.printDefinition
> (Unknown Source)
>
> 	at com.ibm.wsdl.xml.WSDLWriterImpl.writeWSDL(Unknown Source)
> 	at com.ibm.wsdl.xml.WSDLWriterImpl.writeWSDL(Unknown Source)
> 	at org.apache.axis2.description.AxisService.printDefinitionObject(
> AxisService.java:920)
>
> 	at org.apache.axis2.description.AxisService.printUserWSDL(AxisService.java:934)
> 	at org.apache.axis2.description.AxisService.printWSDL(AxisService.java:1056)
> 	at org.apache.tuscany.sca.binding.ws.axis2.TuscanyListingAgent.processListService
>
> (TuscanyListingAgent.java:140)
> 	at org.apache.tuscany.sca.binding.ws.axis2.Axis2ServiceServlet.doGet(Axis2ServiceServlet.java:255)
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
> 	at javax.servlet.http.HttpServlet.service
>
> (HttpServlet.java:820)
> 	at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487)
> 	at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:367)
> 	at org.mortbay.jetty.servlet.SessionHandler.handle
>
> (SessionHandler.java:181)
> 	at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:712)
> 	at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139)
> 	at org.mortbay.jetty.Server.handle
>
> (Server.java:285)
> 	at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:502)
> 	at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:821)
> 	at org.mortbay.jetty.HttpParser.parseNext
>
> (HttpParser.java:513)
> 	at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:208)
> 	at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:378)
> 	at org.mortbay.io.nio.SelectChannelEndPoint.run
> (SelectChannelEndPoint.java
> :368)
> 	at org.apache.tuscany.sca.core.work.Jsr237Work.run(Jsr237Work.java:61)
> 	at org.apache.tuscany.sca.core.work.ThreadPoolWorkManager$DecoratingWork.run(ThreadPoolWorkManager.java:205)
>
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask
> (ThreadPoolExecutor.java:665)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:690)
> 	at java.lang.Thread.run(Thread.java
> :801)
>
> *Powered by Jetty:// <http://jetty.mortbay.org/>*
>
> I've made some changes locally in binding-ws-axis2 although nothing to do
> with reading wsdl so am trying to work out if this is to do with my changes
> or not. Anyone else seeing it?
>
> Simon
>

It seems to be related to the memory optimization changes that went in with
r580611. If I re-enable the schema extension for WSDL4J then the problem
goes away.

    public WSDLModelResolver(Contribution contribution,
ModelFactoryExtensionPoint modelFactories) {
        this.contribution = contribution;

        this.wsdlFactory = modelFactories.getFactory(WSDLFactory.class);
        this.wsdl4jFactory = modelFactories.getFactory(
javax.wsdl.factory.WSDLFactory.class);
        this.contributionFactory = modelFactories.getFactory (
ContributionFactory.class);

        wsdlExtensionRegistry =
this.wsdl4jFactory.newPopulatedExtensionRegistry();
        // REVIEW: [rfeng] Disable the schema extension for WSDL4J to avoid
aggressive loading
/*
        ExtensionDeserializer deserializer = new
UnknownExtensionDeserializer();
        for (QName schema : XSD_QNAME_LIST) {
            wsdlExtensionRegistry.registerDeserializer(Types.class, schema,
deserializer);
        }
*/
    }

There seems to be quite a lot of changes for this fix. Raymond, could you
give us a quick run through of what the changes do?

Regards

Simon