[ 
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.

Reply via email to