Cannot create JDBC driver 'null' in SOAP req (createAdapter)

Hello,

My name is Steve and I’m new here and I just wanted to say I am glad there is a support forum, you guys seem very friendly :slight_smile: I was just wondering, I am trying to make a soap request to the cloverETL endpoint (createAdapter). But I keep getting " Cannot create JDBC driver ‘null’ ". Here is the request I am working with… does anyone know what I might be doing wrong?

POST /clover/wsjdbc HTTP/1.1
Accept-Encoding: gzip,deflate
Content-Type: text/xml;charset=UTF-8
SOAPAction: “http://server.cloveretl.com/WsJdbcAdapter/CreateAdapter
Content-Length: 1131
Host: 192.168.51.153:7001
Proxy-Connection: Keep-Alive
User-Agent: Apache-HttpClient/4.1.1 (java 1.5)

<soapenv:Envelope xmlns:soapenv=“http://schemas.xmlsoap.org/soap/envelope/” xmlns:wsj=“http://server.cloveretl.com/WsJdbcAdapter/”>
soapenv:Header/
soapenv:Body
wsj:CreateAdapter
MTMxMDcyOjU0N2UxMThjOogYBDDLaGo4

name test type javax.sql.DataSource auth Container maxActive 8 maxIdle 4 url jdbc:derby:databases/cloverDb102 driverClassName org.apache.derby.jdbc.ClientDriver\\ username profiler password profiler

Here is the response:

<S:Envelope xmlns:S=“http://schemas.xmlsoap.org/soap/envelope/”>
<S:Body>
<S:Fault xmlns:ns4=“http://www.w3.org/2003/05/soap-envelope”>
S:Server
Cannot create JDBC driver ‘null’.

<ns2:SqlFaultInfo xsi:nil=“true” xmlns:xsi=“http://www.w3.org/2001/XMLSchema-instance” xmlns:ns2=“http://server.cloveretl.com/WsJdbcAdapter/"/>
<ns2:exception class=“com.cloveretl.server.api.wsjdbc.generated.SqlFault_Exception” note=“To disable this feature, set com.sun.xml.ws.fault.SOAPFaultBuilder.disableCaptureStackTrace system property to false” xmlns:ns2=“http://jax-ws.dev.java.net/”>
Cannot create JDBC driver ‘null’.
ns2:stackTrace
<ns2:frame class=“com.cloveretl.server.wsjdbc.WebServiceJdbcDelegate” line=“unknown” method=“createAdapter”/>
<ns2:frame class=“com.cloveretl.server.api.wsjdbc.WsJdbcAdapterImpl” line=“unknown” method=“createAdapter”/>
<ns2:frame class=“sun.reflect.NativeMethodAccessorImpl” file=“NativeMethodAccessorImpl.java” line=“native” method=“invoke0”/>
<ns2:frame class=“sun.reflect.NativeMethodAccessorImpl” file=“NativeMethodAccessorImpl.java” line=“57” method=“invoke”/>
<ns2:frame class=“sun.reflect.DelegatingMethodAccessorImpl” file=“DelegatingMethodAccessorImpl.java” line=“43” method=“invoke”/>
<ns2:frame class=“java.lang.reflect.Method” file=“Method.java” line=“601” method=“invoke”/>
<ns2:frame class=“com.sun.xml.ws.api.server.InstanceResolver$1” file=“InstanceResolver.java” line=“246” method=“invoke”/>
<ns2:frame class=“com.sun.xml.ws.server.InvokerTube$2” file=“InvokerTube.java” line=“151” method=“invoke”/>
<ns2:frame class=“com.sun.xml.ws.server.sei.EndpointMethodHandlerImpl” file=“EndpointMethodHandlerImpl.java” line=“268” method=“invoke”/>
<ns2:frame class=“com.sun.xml.ws.server.sei.SEIInvokerTube” file=“SEIInvokerTube.java” line=“100” method=“processRequest”/>
<ns2:frame class=“com.sun.xml.ws.api.pipe.Fiber” file=“Fiber.java” line=“866” method=”__doRun"/>
<ns2:frame class=“com.sun.xml.ws.api.pipe.Fiber” file=“Fiber.java” line=“815” method=“_doRun”/>
<ns2:frame class=“com.sun.xml.ws.api.pipe.Fiber” file=“Fiber.java” line=“778” method=“doRun”/>
<ns2:frame class=“com.sun.xml.ws.api.pipe.Fiber” file=“Fiber.java” line=“680” method=“runSync”/>
<ns2:frame class=“com.sun.xml.ws.server.WSEndpointImpl$2” file=“WSEndpointImpl.java” line=“403” method=“process”/>
<ns2:frame class=“com.sun.xml.ws.transport.http.HttpAdapter$HttpToolkit” file=“HttpAdapter.java” line=“539” method=“handle”/>
<ns2:frame class=“com.sun.xml.ws.transport.http.HttpAdapter” file=“HttpAdapter.java” line=“253” method=“handle”/>
<ns2:frame class=“com.sun.xml.ws.transport.http.servlet.ServletAdapter” file=“ServletAdapter.java” line=“140” method=“handle”/>
<ns2:frame class=“com.sun.xml.ws.transport.http.servlet.WSServletDelegate” file=“WSServletDelegate.java” line=“129” method=“doGet”/>
<ns2:frame class=“com.sun.xml.ws.transport.http.servlet.WSServletDelegate” file=“WSServletDelegate.java” line=“160” method=“doPost”/>
<ns2:frame class=“com.sun.xml.ws.transport.http.servlet.WSServlet” file=“WSServlet.java” line=“75” method=“doPost”/>
<ns2:frame class=“javax.servlet.http.HttpServlet” file=“HttpServlet.java” line=“727” method=“service”/>
<ns2:frame class=“javax.servlet.http.HttpServlet” file=“HttpServlet.java” line=“820” method=“service”/>
<ns2:frame class=“weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction” file=“StubSecurityHelper.java” line=“227” method=“run”/>
<ns2:frame class=“weblogic.servlet.internal.StubSecurityHelper” file=“StubSecurityHelper.java” line=“125” method=“invokeServlet”/>
<ns2:frame class=“weblogic.servlet.internal.ServletStubImpl” file=“ServletStubImpl.java” line=“301” method=“execute”/>
<ns2:frame class=“weblogic.servlet.internal.TailFilter” file=“TailFilter.java” line=“26” method=“doFilter”/>
<ns2:frame class=“weblogic.servlet.internal.FilterChainImpl” file=“FilterChainImpl.java” line=“56” method=“doFilter”/>
<ns2:frame class=“com.cloveretl.server.d” line=“unknown” method=“doFilter”/>
<ns2:frame class=“weblogic.servlet.internal.FilterChainImpl” file=“FilterChainImpl.java” line=“56” method=“doFilter”/>
<ns2:frame class=“org.springframework.web.filter.RequestContextFilter” file=“RequestContextFilter.java” line=“83” method=“doFilterInternal”/>
<ns2:frame class=“org.springframework.web.filter.OncePerRequestFilter” file=“OncePerRequestFilter.java” line=“76” method=“doFilter”/>
<ns2:frame class=“weblogic.servlet.internal.FilterChainImpl” file=“FilterChainImpl.java” line=“56” method=“doFilter”/>
<ns2:frame class=“weblogic.servlet.internal.RequestEventsFilter” file=“RequestEventsFilter.java” line=“27” method=“doFilter”/>
<ns2:frame class=“weblogic.servlet.internal.FilterChainImpl” file=“FilterChainImpl.java” line=“56” method=“doFilter”/>
<ns2:frame class=“weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction” file=“WebAppServletContext.java” line=“3730” method=“wrapRun”/>
<ns2:frame class=“weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction” file=“WebAppServletContext.java” line=“3696” method=“run”/>
<ns2:frame class=“weblogic.security.acl.internal.AuthenticatedSubject” file=“AuthenticatedSubject.java” line=“321” method=“doAs”/>
<ns2:frame class=“weblogic.security.service.SecurityManager” file=“SecurityManager.java” line=“120” method=“runAs”/>
<ns2:frame class=“weblogic.servlet.internal.WebAppServletContext” file=“WebAppServletContext.java” line=“2273” method=“securedExecute”/>
<ns2:frame class=“weblogic.servlet.internal.WebAppServletContext” file=“WebAppServletContext.java” line=“2179” method=“execute”/>
<ns2:frame class=“weblogic.servlet.internal.ServletRequestImpl” file=“ServletRequestImpl.java” line=“1490” method=“run”/>
<ns2:frame class=“weblogic.work.ExecuteThread” file=“ExecuteThread.java” line=“256” method=“execute”/>
<ns2:frame class=“weblogic.work.ExecuteThread” file=“ExecuteThread.java” line=“221” method=“run”/>
</ns2:stackTrace>
<ns2:cause class=“org.jetel.exception.ComponentNotReadyException” note=“To disable this feature, set com.sun.xml.ws.fault.SOAPFaultBuilder.disableCaptureStackTrace system property to false”>
Cannot create JDBC driver ‘null’.
ns2:stackTrace
<ns2:frame class=“org.jetel.connection.jdbc.driver.JdbcDriverImpl” file=“JdbcDriverImpl.java” line=“186” method=“prepareDriver”/>
<ns2:frame class=“org.jetel.connection.jdbc.driver.JdbcDriverImpl” file=“JdbcDriverImpl.java” line=“121” method=“<init>”/>
<ns2:frame class=“org.jetel.connection.jdbc.DBConnectionImpl” file=“DBConnectionImpl.java” line=“319” method=“prepareJdbcDriver”/>
<ns2:frame class=“org.jetel.connection.jdbc.DBConnectionImpl” file=“DBConnectionImpl.java” line=“284” method=“init”/>
<ns2:frame class=“com.cloveretl.server.wsjdbc.WebServiceJdbcDelegate” line=“unknown” method=“a”/>
<ns2:frame class=“com.cloveretl.server.wsjdbc.WebServiceJdbcDelegate” line=“unknown” method=“createAdapter”/>
<ns2:frame class=“com.cloveretl.server.api.wsjdbc.WsJdbcAdapterImpl” line=“unknown” method=“createAdapter”/>
<ns2:frame class=“sun.reflect.NativeMethodAccessorImpl” file=“NativeMethodAccessorImpl.java” line=“native” method=“invoke0”/>
<ns2:frame class=“sun.reflect.NativeMethodAccessorImpl” file=“NativeMethodAccessorImpl.java” line=“57” method=“invoke”/>
<ns2:frame class=“sun.reflect.DelegatingMethodAccessorImpl” file=“DelegatingMethodAccessorImpl.java” line=“43” method=“invoke”/>
<ns2:frame class=“java.lang.reflect.Method” file=“Method.java” line=“601” method=“invoke”/>
<ns2:frame class=“com.sun.xml.ws.api.server.InstanceResolver$1” file=“InstanceResolver.java” line=“246” method=“invoke”/>
<ns2:frame class=“com.sun.xml.ws.server.InvokerTube$2” file=“InvokerTube.java” line=“151” method=“invoke”/>
<ns2:frame class=“com.sun.xml.ws.server.sei.EndpointMethodHandlerImpl” file=“EndpointMethodHandlerImpl.java” line=“268” method=“invoke”/>
<ns2:frame class=“com.sun.xml.ws.server.sei.SEIInvokerTube” file=“SEIInvokerTube.java” line=“100” method=“processRequest”/>
<ns2:frame class=“com.sun.xml.ws.api.pipe.Fiber” file=“Fiber.java” line=“866” method=“__doRun”/>
<ns2:frame class=“com.sun.xml.ws.api.pipe.Fiber” file=“Fiber.java” line=“815” method=“_doRun”/>
<ns2:frame class=“com.sun.xml.ws.api.pipe.Fiber” file=“Fiber.java” line=“778” method=“doRun”/>
<ns2:frame class=“com.sun.xml.ws.api.pipe.Fiber” file=“Fiber.java” line=“680” method=“runSync”/>
<ns2:frame class=“com.sun.xml.ws.server.WSEndpointImpl$2” file=“WSEndpointImpl.java” line=“403” method=“process”/>
<ns2:frame class=“com.sun.xml.ws.transport.http.HttpAdapter$HttpToolkit” file=“HttpAdapter.java” line=“539” method=“handle”/>
<ns2:frame class=“com.sun.xml.ws.transport.http.HttpAdapter” file=“HttpAdapter.java” line=“253” method=“handle”/>
<ns2:frame class=“com.sun.xml.ws.transport.http.servlet.ServletAdapter” file=“ServletAdapter.java” line=“140” method=“handle”/>
<ns2:frame class=“com.sun.xml.ws.transport.http.servlet.WSServletDelegate” file=“WSServletDelegate.java” line=“129” method=“doGet”/>
<ns2:frame class=“com.sun.xml.ws.transport.http.servlet.WSServletDelegate” file=“WSServletDelegate.java” line=“160” method=“doPost”/>
<ns2:frame class=“com.sun.xml.ws.transport.http.servlet.WSServlet” file=“WSServlet.java” line=“75” method=“doPost”/>
<ns2:frame class=“javax.servlet.http.HttpServlet” file=“HttpServlet.java” line=“727” method=“service”/>
<ns2:frame class=“javax.servlet.http.HttpServlet” file=“HttpServlet.java” line=“820” method=“service”/>
<ns2:frame class=“weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction” file=“StubSecurityHelper.java” line=“227” method=“run”/>
<ns2:frame class=“weblogic.servlet.internal.StubSecurityHelper” file=“StubSecurityHelper.java” line=“125” method=“invokeServlet”/>
<ns2:frame class=“weblogic.servlet.internal.ServletStubImpl” file=“ServletStubImpl.java” line=“301” method=“execute”/>
<ns2:frame class=“weblogic.servlet.internal.TailFilter” file=“TailFilter.java” line=“26” method=“doFilter”/>
<ns2:frame class=“weblogic.servlet.internal.FilterChainImpl” file=“FilterChainImpl.java” line=“56” method=“doFilter”/>
<ns2:frame class=“com.cloveretl.server.d” line=“unknown” method=“doFilter”/>
<ns2:frame class=“weblogic.servlet.internal.FilterChainImpl” file=“FilterChainImpl.java” line=“56” method=“doFilter”/>
<ns2:frame class=“org.springframework.web.filter.RequestContextFilter” file=“RequestContextFilter.java” line=“83” method=“doFilterInternal”/>
<ns2:frame class=“org.springframework.web.filter.OncePerRequestFilter” file=“OncePerRequestFilter.java” line=“76” method=“doFilter”/>
<ns2:frame class=“weblogic.servlet.internal.FilterChainImpl” file=“FilterChainImpl.java” line=“56” method=“doFilter”/>
<ns2:frame class=“weblogic.servlet.internal.RequestEventsFilter” file=“RequestEventsFilter.java” line=“27” method=“doFilter”/>
<ns2:frame class=“weblogic.servlet.internal.FilterChainImpl” file=“FilterChainImpl.java” line=“56” method=“doFilter”/>
<ns2:frame class=“weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction” file=“WebAppServletContext.java” line=“3730” method=“wrapRun”/>
<ns2:frame class=“weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction” file=“WebAppServletContext.java” line=“3696” method=“run”/>
<ns2:frame class=“weblogic.security.acl.internal.AuthenticatedSubject” file=“AuthenticatedSubject.java” line=“321” method=“doAs”/>
<ns2:frame class=“weblogic.security.service.SecurityManager” file=“SecurityManager.java” line=“120” method=“runAs”/>
<ns2:frame class=“weblogic.servlet.internal.WebAppServletContext” file=“WebAppServletContext.java” line=“2273” method=“securedExecute”/>
<ns2:frame class=“weblogic.servlet.internal.WebAppServletContext” file=“WebAppServletContext.java” line=“2179” method=“execute”/>
<ns2:frame class=“weblogic.servlet.internal.ServletRequestImpl” file=“ServletRequestImpl.java” line=“1490” method=“run”/>
<ns2:frame class=“weblogic.work.ExecuteThread” file=“ExecuteThread.java” line=“256” method=“execute”/>
<ns2:frame class=“weblogic.work.ExecuteThread” file=“ExecuteThread.java” line=“221” method=“run”/>
</ns2:stackTrace>
<ns2:cause class=“java.lang.NullPointerException” note=“To disable this feature, set com.sun.xml.ws.fault.SOAPFaultBuilder.disableCaptureStackTrace system property to false”>
ns2:stackTrace
<ns2:frame class=“java.lang.Class” file=“Class.java” line=“native” method=“forName0”/>
<ns2:frame class=“java.lang.Class” file=“Class.java” line=“266” method=“forName”/>
<ns2:frame class=“org.jetel.connection.jdbc.driver.JdbcDriverImpl” file=“JdbcDriverImpl.java” line=“182” method=“prepareDriver”/>
<ns2:frame class=“org.jetel.connection.jdbc.driver.JdbcDriverImpl” file=“JdbcDriverImpl.java” line=“121” method=“<init>”/>
<ns2:frame class=“org.jetel.connection.jdbc.DBConnectionImpl” file=“DBConnectionImpl.java” line=“319” method=“prepareJdbcDriver”/>
<ns2:frame class=“org.jetel.connection.jdbc.DBConnectionImpl” file=“DBConnectionImpl.java” line=“284” method=“init”/>
<ns2:frame class=“com.cloveretl.server.wsjdbc.WebServiceJdbcDelegate” line=“unknown” method=“a”/>
<ns2:frame class=“com.cloveretl.server.wsjdbc.WebServiceJdbcDelegate” line=“unknown” method=“createAdapter”/>
<ns2:frame class=“com.cloveretl.server.api.wsjdbc.WsJdbcAdapterImpl” line=“unknown” method=“createAdapter”/>
<ns2:frame class=“sun.reflect.NativeMethodAccessorImpl” file=“NativeMethodAccessorImpl.java” line=“native” method=“invoke0”/>
<ns2:frame class=“sun.reflect.NativeMethodAccessorImpl” file=“NativeMethodAccessorImpl.java” line=“57” method=“invoke”/>
<ns2:frame class=“sun.reflect.DelegatingMethodAccessorImpl” file=“DelegatingMethodAccessorImpl.java” line=“43” method=“invoke”/>
<ns2:frame class=“java.lang.reflect.Method” file=“Method.java” line=“601” method=“invoke”/>
<ns2:frame class=“com.sun.xml.ws.api.server.InstanceResolver$1” file=“InstanceResolver.java” line=“246” method=“invoke”/>
<ns2:frame class=“com.sun.xml.ws.server.InvokerTube$2” file=“InvokerTube.java” line=“151” method=“invoke”/>
<ns2:frame class=“com.sun.xml.ws.server.sei.EndpointMethodHandlerImpl” file=“EndpointMethodHandlerImpl.java” line=“268” method=“invoke”/>
<ns2:frame class=“com.sun.xml.ws.server.sei.SEIInvokerTube” file=“SEIInvokerTube.java” line=“100” method=“processRequest”/>
<ns2:frame class=“com.sun.xml.ws.api.pipe.Fiber” file=“Fiber.java” line=“866” method=“__doRun”/>
<ns2:frame class=“com.sun.xml.ws.api.pipe.Fiber” file=“Fiber.java” line=“815” method=“_doRun”/>
<ns2:frame class=“com.sun.xml.ws.api.pipe.Fiber” file=“Fiber.java” line=“778” method=“doRun”/>
<ns2:frame class=“com.sun.xml.ws.api.pipe.Fiber” file=“Fiber.java” line=“680” method=“runSync”/>
<ns2:frame class=“com.sun.xml.ws.server.WSEndpointImpl$2” file=“WSEndpointImpl.java” line=“403” method=“process”/>
<ns2:frame class=“com.sun.xml.ws.transport.http.HttpAdapter$HttpToolkit” file=“HttpAdapter.java” line=“539” method=“handle”/>
<ns2:frame class=“com.sun.xml.ws.transport.http.HttpAdapter” file=“HttpAdapter.java” line=“253” method=“handle”/>
<ns2:frame class=“com.sun.xml.ws.transport.http.servlet.ServletAdapter” file=“ServletAdapter.java” line=“140” method=“handle”/>
<ns2:frame class=“com.sun.xml.ws.transport.http.servlet.WSServletDelegate” file=“WSServletDelegate.java” line=“129” method=“doGet”/>
<ns2:frame class=“com.sun.xml.ws.transport.http.servlet.WSServletDelegate” file=“WSServletDelegate.java” line=“160” method=“doPost”/>
<ns2:frame class=“com.sun.xml.ws.transport.http.servlet.WSServlet” file=“WSServlet.java” line=“75” method=“doPost”/>
<ns2:frame class=“javax.servlet.http.HttpServlet” file=“HttpServlet.java” line=“727” method=“service”/>
<ns2:frame class=“javax.servlet.http.HttpServlet” file=“HttpServlet.java” line=“820” method=“service”/>
<ns2:frame class=“weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction” file=“StubSecurityHelper.java” line=“227” method=“run”/>
<ns2:frame class=“weblogic.servlet.internal.StubSecurityHelper” file=“StubSecurityHelper.java” line=“125” method=“invokeServlet”/>
<ns2:frame class=“weblogic.servlet.internal.ServletStubImpl” file=“ServletStubImpl.java” line=“301” method=“execute”/>
<ns2:frame class=“weblogic.servlet.internal.TailFilter” file=“TailFilter.java” line=“26” method=“doFilter”/>
<ns2:frame class=“weblogic.servlet.internal.FilterChainImpl” file=“FilterChainImpl.java” line=“56” method=“doFilter”/>
<ns2:frame class=“com.cloveretl.server.d” line=“unknown” method=“doFilter”/>
<ns2:frame class=“weblogic.servlet.internal.FilterChainImpl” file=“FilterChainImpl.java” line=“56” method=“doFilter”/>
<ns2:frame class=“org.springframework.web.filter.RequestContextFilter” file=“RequestContextFilter.java” line=“83” method=“doFilterInternal”/>
<ns2:frame class=“org.springframework.web.filter.OncePerRequestFilter” file=“OncePerRequestFilter.java” line=“76” method=“doFilter”/>
<ns2:frame class=“weblogic.servlet.internal.FilterChainImpl” file=“FilterChainImpl.java” line=“56” method=“doFilter”/>
<ns2:frame class=“weblogic.servlet.internal.RequestEventsFilter” file=“RequestEventsFilter.java” line=“27” method=“doFilter”/>
<ns2:frame class=“weblogic.servlet.internal.FilterChainImpl” file=“FilterChainImpl.java” line=“56” method=“doFilter”/>
<ns2:frame class=“weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction” file=“WebAppServletContext.java” line=“3730” method=“wrapRun”/>
<ns2:frame class=“weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction” file=“WebAppServletContext.java” line=“3696” method=“run”/>
<ns2:frame class=“weblogic.security.acl.internal.AuthenticatedSubject” file=“AuthenticatedSubject.java” line=“321” method=“doAs”/>
<ns2:frame class=“weblogic.security.service.SecurityManager” file=“SecurityManager.java” line=“120” method=“runAs”/>
<ns2:frame class=“weblogic.servlet.internal.WebAppServletContext” file=“WebAppServletContext.java” line=“2273” method=“securedExecute”/>
<ns2:frame class=“weblogic.servlet.internal.WebAppServletContext” file=“WebAppServletContext.java” line=“2179” method=“execute”/>
<ns2:frame class=“weblogic.servlet.internal.ServletRequestImpl” file=“ServletRequestImpl.java” line=“1490” method=“run”/>
<ns2:frame class=“weblogic.work.ExecuteThread” file=“ExecuteThread.java” line=“256” method=“execute”/>
<ns2:frame class=“weblogic.work.ExecuteThread” file=“ExecuteThread.java” line=“221” method=“run”/>
</ns2:stackTrace>
</ns2:cause>
</ns2:cause>
</ns2:exception>

</S:Fault>
</S:Body>
</S:Envelope>

/Steve :smiley:

Hi Steve,

What exactly are you trying to achieve, please? Do you have any specific reason to use this webservice? It is an internal feature only to allow Server and Designer to share JDBC connections and I can not think of any other possible reason why you would use it.

If you want to communicate with CloverETL Server via SOAP API, use our general webservice instead, please. And if you want to perform just basic operations like executing a graph or listing all running graphs, REST API is even simpler to use.

I hope this helps.