You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cxf.apache.org by "Robert Rodewald (JIRA)" <ji...@apache.org> on 2010/02/05 15:46:27 UTC
[jira] Created: (CXF-2658) BindingType for SOAP 1.2 cannot be used
for servlet transport
BindingType for SOAP 1.2 cannot be used for servlet transport
-------------------------------------------------------------
Key: CXF-2658
URL: https://issues.apache.org/jira/browse/CXF-2658
Project: CXF
Issue Type: Bug
Components: Transports
Affects Versions: 2.2.6
Environment: Tomcat 5.5.26, Java 1.6.0_18
Reporter: Robert Rodewald
The use of the BindingType annotation leads to an error when using the CXFNonSpringServlet as servlet transport.
Here is the code:
\\
{code:title=TestServlet.java}
package test;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.xml.ws.Endpoint;
import org.apache.cxf.transport.servlet.CXFNonSpringServlet;
public class TestServlet extends CXFNonSpringServlet {
@Override
public void loadBus(ServletConfig servletConfig) throws ServletException {
super.loadBus(servletConfig);
Endpoint.publish("/test", new TestService());
}
}
{code}
{code:title=TestService.java}
package test;
import javax.jws.WebService;
import javax.xml.ws.BindingType;
import javax.xml.ws.soap.SOAPBinding;
@BindingType(
value=SOAPBinding.SOAP12HTTP_BINDING)
@WebService(
name="TestServiceType",
serviceName="TestService",
portName="TestPort",
targetNamespace="http://www.invalid.com/schema")
public class TestService {
}
{code}
And here is the error:
{noformat}
java.net.MalformedURLException: no protocol: /test
at java.net.URL.<init>(URL.java:567)
at java.net.URL.<init>(URL.java:464)
at java.net.URL.<init>(URL.java:413)
at org.apache.cxf.transport.http_jetty.JettyHTTPDestination.<init>(JettyHTTPDestination.java:96)
at org.apache.cxf.transport.http_jetty.JettyHTTPTransportFactory.createDestination(JettyHTTPTransportFactory.java:116)
at org.apache.cxf.transport.http_jetty.JettyHTTPTransportFactory.getDestination(JettyHTTPTransportFactory.java:103)
at org.apache.cxf.endpoint.ServerImpl.initDestination(ServerImpl.java:90)
at org.apache.cxf.endpoint.ServerImpl.<init>(ServerImpl.java:69)
at org.apache.cxf.frontend.ServerFactoryBean.create(ServerFactoryBean.java:106)
at org.apache.cxf.jaxws.JaxWsServerFactoryBean.create(JaxWsServerFactoryBean.java:167)
at org.apache.cxf.jaxws.EndpointImpl.getServer(EndpointImpl.java:346)
at org.apache.cxf.jaxws.EndpointImpl.doPublish(EndpointImpl.java:259)
at org.apache.cxf.jaxws.EndpointImpl.publish(EndpointImpl.java:209)
at org.apache.cxf.jaxws.spi.ProviderImpl.createAndPublishEndpoint(ProviderImpl.java:84)
at javax.xml.ws.Endpoint.publish(Endpoint.java:170)
at test.TestServlet.loadBus(TestServlet.java:16)
at org.apache.cxf.transport.servlet.AbstractCXFServlet.init(AbstractCXFServlet.java:78)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1139)
at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:791)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:127)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:874)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
at java.lang.Thread.run(Thread.java:619)
{noformat}
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (CXF-2658) BindingType for SOAP 1.2 cannot be
used for servlet transport
Posted by "Robert Rodewald (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/CXF-2658?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12833743#action_12833743 ]
Robert Rodewald commented on CXF-2658:
--------------------------------------
I tried your with your project and the error is the same. I get the mentioned exception while loading the servlet. The error disappears when I delete the @BindingType annotation of the service. Here are the ONLY libraries I use (appart from Java 1.6 system libs):
- XmlSchema-1.4.5.jar
- commons-logging-1.1.1.jar
- cxf-2.2.6.jar
- neethi-2.0.4.jar
- wsdl4j-1.6.2.jar
Why does CXF even try to do something with Jetty here?
> BindingType for SOAP 1.2 cannot be used for servlet transport
> -------------------------------------------------------------
>
> Key: CXF-2658
> URL: https://issues.apache.org/jira/browse/CXF-2658
> Project: CXF
> Issue Type: Bug
> Components: Transports
> Affects Versions: 2.2.6
> Environment: Tomcat 5.5.26, Java 1.6.0_18
> Reporter: Robert Rodewald
> Attachments: test.tar.gz
>
>
> The use of the BindingType annotation leads to an error when using the CXFNonSpringServlet as servlet transport.
> Here is the code:
> \\
> {code:title=TestServlet.java}
> package test;
> import javax.servlet.ServletConfig;
> import javax.servlet.ServletException;
> import javax.xml.ws.Endpoint;
> import org.apache.cxf.transport.servlet.CXFNonSpringServlet;
> public class TestServlet extends CXFNonSpringServlet {
> @Override
> public void loadBus(ServletConfig servletConfig) throws ServletException {
> super.loadBus(servletConfig);
>
> Endpoint.publish("/test", new TestService());
> }
> }
> {code}
> {code:title=TestService.java}
> package test;
> import javax.jws.WebService;
> import javax.xml.ws.BindingType;
> import javax.xml.ws.soap.SOAPBinding;
> @BindingType(
> value=SOAPBinding.SOAP12HTTP_BINDING)
> @WebService(
> name="TestServiceType",
> serviceName="TestService",
> portName="TestPort",
> targetNamespace="http://www.invalid.com/schema")
> public class TestService {
> }
> {code}
> And here is the error:
> {noformat}
> java.net.MalformedURLException: no protocol: /test
> at java.net.URL.<init>(URL.java:567)
> at java.net.URL.<init>(URL.java:464)
> at java.net.URL.<init>(URL.java:413)
> at org.apache.cxf.transport.http_jetty.JettyHTTPDestination.<init>(JettyHTTPDestination.java:96)
> at org.apache.cxf.transport.http_jetty.JettyHTTPTransportFactory.createDestination(JettyHTTPTransportFactory.java:116)
> at org.apache.cxf.transport.http_jetty.JettyHTTPTransportFactory.getDestination(JettyHTTPTransportFactory.java:103)
> at org.apache.cxf.endpoint.ServerImpl.initDestination(ServerImpl.java:90)
> at org.apache.cxf.endpoint.ServerImpl.<init>(ServerImpl.java:69)
> at org.apache.cxf.frontend.ServerFactoryBean.create(ServerFactoryBean.java:106)
> at org.apache.cxf.jaxws.JaxWsServerFactoryBean.create(JaxWsServerFactoryBean.java:167)
> at org.apache.cxf.jaxws.EndpointImpl.getServer(EndpointImpl.java:346)
> at org.apache.cxf.jaxws.EndpointImpl.doPublish(EndpointImpl.java:259)
> at org.apache.cxf.jaxws.EndpointImpl.publish(EndpointImpl.java:209)
> at org.apache.cxf.jaxws.spi.ProviderImpl.createAndPublishEndpoint(ProviderImpl.java:84)
> at javax.xml.ws.Endpoint.publish(Endpoint.java:170)
> at test.TestServlet.loadBus(TestServlet.java:16)
> at org.apache.cxf.transport.servlet.AbstractCXFServlet.init(AbstractCXFServlet.java:78)
> at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1139)
> at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:791)
> at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:127)
> at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
> at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
> at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
> at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
> at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
> at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:874)
> at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
> at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
> at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
> at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
> at java.lang.Thread.run(Thread.java:619)
> {noformat}
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (CXF-2658) BindingType for SOAP 1.2 cannot be used
for servlet transport
Posted by "Daniel Kulp (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/CXF-2658?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Daniel Kulp updated CXF-2658:
-----------------------------
Attachment: test.tar.gz
I wasn't able to reproduce this at all. I've attached a sample project that I used as a test. A "mvn jetty:run" started up fine and the service was available as expected.
Is there anything different with my project than with yours? Can you update my project to show the issue?
> BindingType for SOAP 1.2 cannot be used for servlet transport
> -------------------------------------------------------------
>
> Key: CXF-2658
> URL: https://issues.apache.org/jira/browse/CXF-2658
> Project: CXF
> Issue Type: Bug
> Components: Transports
> Affects Versions: 2.2.6
> Environment: Tomcat 5.5.26, Java 1.6.0_18
> Reporter: Robert Rodewald
> Attachments: test.tar.gz
>
>
> The use of the BindingType annotation leads to an error when using the CXFNonSpringServlet as servlet transport.
> Here is the code:
> \\
> {code:title=TestServlet.java}
> package test;
> import javax.servlet.ServletConfig;
> import javax.servlet.ServletException;
> import javax.xml.ws.Endpoint;
> import org.apache.cxf.transport.servlet.CXFNonSpringServlet;
> public class TestServlet extends CXFNonSpringServlet {
> @Override
> public void loadBus(ServletConfig servletConfig) throws ServletException {
> super.loadBus(servletConfig);
>
> Endpoint.publish("/test", new TestService());
> }
> }
> {code}
> {code:title=TestService.java}
> package test;
> import javax.jws.WebService;
> import javax.xml.ws.BindingType;
> import javax.xml.ws.soap.SOAPBinding;
> @BindingType(
> value=SOAPBinding.SOAP12HTTP_BINDING)
> @WebService(
> name="TestServiceType",
> serviceName="TestService",
> portName="TestPort",
> targetNamespace="http://www.invalid.com/schema")
> public class TestService {
> }
> {code}
> And here is the error:
> {noformat}
> java.net.MalformedURLException: no protocol: /test
> at java.net.URL.<init>(URL.java:567)
> at java.net.URL.<init>(URL.java:464)
> at java.net.URL.<init>(URL.java:413)
> at org.apache.cxf.transport.http_jetty.JettyHTTPDestination.<init>(JettyHTTPDestination.java:96)
> at org.apache.cxf.transport.http_jetty.JettyHTTPTransportFactory.createDestination(JettyHTTPTransportFactory.java:116)
> at org.apache.cxf.transport.http_jetty.JettyHTTPTransportFactory.getDestination(JettyHTTPTransportFactory.java:103)
> at org.apache.cxf.endpoint.ServerImpl.initDestination(ServerImpl.java:90)
> at org.apache.cxf.endpoint.ServerImpl.<init>(ServerImpl.java:69)
> at org.apache.cxf.frontend.ServerFactoryBean.create(ServerFactoryBean.java:106)
> at org.apache.cxf.jaxws.JaxWsServerFactoryBean.create(JaxWsServerFactoryBean.java:167)
> at org.apache.cxf.jaxws.EndpointImpl.getServer(EndpointImpl.java:346)
> at org.apache.cxf.jaxws.EndpointImpl.doPublish(EndpointImpl.java:259)
> at org.apache.cxf.jaxws.EndpointImpl.publish(EndpointImpl.java:209)
> at org.apache.cxf.jaxws.spi.ProviderImpl.createAndPublishEndpoint(ProviderImpl.java:84)
> at javax.xml.ws.Endpoint.publish(Endpoint.java:170)
> at test.TestServlet.loadBus(TestServlet.java:16)
> at org.apache.cxf.transport.servlet.AbstractCXFServlet.init(AbstractCXFServlet.java:78)
> at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1139)
> at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:791)
> at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:127)
> at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
> at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
> at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
> at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
> at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
> at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:874)
> at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
> at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
> at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
> at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
> at java.lang.Thread.run(Thread.java:619)
> {noformat}
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Resolved: (CXF-2658) BindingType for SOAP 1.2 cannot be used
for servlet transport
Posted by "Daniel Kulp (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/CXF-2658?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Daniel Kulp resolved CXF-2658.
------------------------------
Resolution: Fixed
Fix Version/s: 2.2.7
Assignee: Daniel Kulp
> BindingType for SOAP 1.2 cannot be used for servlet transport
> -------------------------------------------------------------
>
> Key: CXF-2658
> URL: https://issues.apache.org/jira/browse/CXF-2658
> Project: CXF
> Issue Type: Bug
> Components: Transports
> Affects Versions: 2.2.6
> Environment: Tomcat 5.5.26, Java 1.6.0_18
> Reporter: Robert Rodewald
> Assignee: Daniel Kulp
> Fix For: 2.2.7
>
> Attachments: test.tar.gz
>
>
> The use of the BindingType annotation leads to an error when using the CXFNonSpringServlet as servlet transport.
> Here is the code:
> \\
> {code:title=TestServlet.java}
> package test;
> import javax.servlet.ServletConfig;
> import javax.servlet.ServletException;
> import javax.xml.ws.Endpoint;
> import org.apache.cxf.transport.servlet.CXFNonSpringServlet;
> public class TestServlet extends CXFNonSpringServlet {
> @Override
> public void loadBus(ServletConfig servletConfig) throws ServletException {
> super.loadBus(servletConfig);
>
> Endpoint.publish("/test", new TestService());
> }
> }
> {code}
> {code:title=TestService.java}
> package test;
> import javax.jws.WebService;
> import javax.xml.ws.BindingType;
> import javax.xml.ws.soap.SOAPBinding;
> @BindingType(
> value=SOAPBinding.SOAP12HTTP_BINDING)
> @WebService(
> name="TestServiceType",
> serviceName="TestService",
> portName="TestPort",
> targetNamespace="http://www.invalid.com/schema")
> public class TestService {
> }
> {code}
> And here is the error:
> {noformat}
> java.net.MalformedURLException: no protocol: /test
> at java.net.URL.<init>(URL.java:567)
> at java.net.URL.<init>(URL.java:464)
> at java.net.URL.<init>(URL.java:413)
> at org.apache.cxf.transport.http_jetty.JettyHTTPDestination.<init>(JettyHTTPDestination.java:96)
> at org.apache.cxf.transport.http_jetty.JettyHTTPTransportFactory.createDestination(JettyHTTPTransportFactory.java:116)
> at org.apache.cxf.transport.http_jetty.JettyHTTPTransportFactory.getDestination(JettyHTTPTransportFactory.java:103)
> at org.apache.cxf.endpoint.ServerImpl.initDestination(ServerImpl.java:90)
> at org.apache.cxf.endpoint.ServerImpl.<init>(ServerImpl.java:69)
> at org.apache.cxf.frontend.ServerFactoryBean.create(ServerFactoryBean.java:106)
> at org.apache.cxf.jaxws.JaxWsServerFactoryBean.create(JaxWsServerFactoryBean.java:167)
> at org.apache.cxf.jaxws.EndpointImpl.getServer(EndpointImpl.java:346)
> at org.apache.cxf.jaxws.EndpointImpl.doPublish(EndpointImpl.java:259)
> at org.apache.cxf.jaxws.EndpointImpl.publish(EndpointImpl.java:209)
> at org.apache.cxf.jaxws.spi.ProviderImpl.createAndPublishEndpoint(ProviderImpl.java:84)
> at javax.xml.ws.Endpoint.publish(Endpoint.java:170)
> at test.TestServlet.loadBus(TestServlet.java:16)
> at org.apache.cxf.transport.servlet.AbstractCXFServlet.init(AbstractCXFServlet.java:78)
> at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1139)
> at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:791)
> at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:127)
> at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
> at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
> at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
> at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
> at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
> at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:874)
> at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
> at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
> at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
> at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
> at java.lang.Thread.run(Thread.java:619)
> {noformat}
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.