cxf-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Daniel Kulp (JIRA)" <j...@apache.org>
Subject [jira] Commented: (CXF-631) Regression in simple front end WSDL auto-generation
Date Thu, 03 May 2007 21:40:15 GMT

    [ https://issues.apache.org/jira/browse/CXF-631?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12493532
] 

Daniel Kulp commented on CXF-631:
---------------------------------

Digging into the code some more, it's not QUITE as bad as I thought.   The tools are using
the service model and stuff, but there is an issue in the SOAP code.

Basically, the SoapTransportFactory is whats going through and adding all the SOAP extensors.
  However, that only works if the transport you are using is the SoapTransportFactory.   At
runtime, the transport could be something else (like straight HTTP).   Thus, the extensors
aren't added.  

This needs to be cleaned up.   The binding extensors need to be created in the SoapBindingFactory.
  The only one the SoapTransportFactory should care about is the soap:address in the port.

That said, much of the code for creating the extensors is in tools/common.   i think most
of that should be moved into the soap binding.   The tools shouldn't really have much "soap"
code in them.



> Regression in simple front end WSDL auto-generation
> ---------------------------------------------------
>
>                 Key: CXF-631
>                 URL: https://issues.apache.org/jira/browse/CXF-631
>             Project: CXF
>          Issue Type: Bug
>          Components: Transports
>    Affects Versions: 2.0-RC
>         Environment: Windows XP
>            Reporter: Oisin Hurley
>         Assigned To: Bozhong Lin
>
> since rev 532926 it is not possible to generate the wsdl at runtime anymore.
> I start the server with 
> JaxWsServerFactoryBean factory = new JaxWsServerFactoryBean();
> factory.setServiceClass(JaxWsService.class);
> factory.setAddress("http://localhost:9001/jaxwstest");
> factory.setServiceBean(service);
> Server server = factory.create();
> The JaxWsService is a JAX-WS annotated class. With rev 532895 and below I can get the
wsdl with
> http://localhost:9001/jaxwstest?wsdl
> Now, the error message is
> java.lang.ClassCastException: org.xmlsoap.schemas.wsdl.http.AddressType cannot be cast
to javax.wsdl.extensions.http.HTTPAddress
>         at com.ibm.wsdl.extensions.http.HTTPAddressSerializer.marshall(Unknown Source)
>         at com.ibm.wsdl.xml.WSDLWriterImpl.printExtensibilityElements(Unknown Source)
>         at com.ibm.wsdl.xml.WSDLWriterImpl.printPorts(Unknown Source)
>         at com.ibm.wsdl.xml.WSDLWriterImpl.printServices(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.getDocument(Unknown Source)
>         at org.apache.cxf.transport.http.WSDLQueryHandler.writeResponse(WSDLQueryHandler.java:139)
>         at org.apache.cxf.transport.http_jetty.JettyHTTPDestination.doService(JettyHTTPDestination.java:152)
>         at org.apache.cxf.transport.http_jetty.JettyHTTPHandler.handle(JettyHTTPHandler.java:54)
>         at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:690)
>         at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:191)
>         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:457)
>         at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:751)
>         at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:500)
>         at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:209)
>         at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:357)
>         at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:329)
>         at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:475)

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message