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