Steve
Posts: 1
Joined: Tue Dec 02, 2014 8:55 pm

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

Postby Steve » Tue Dec 02, 2014 9:00 pm

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 :-) 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>
<sessionToken>MTMxMDcyOjU0N2UxMThjOogYBDDLaGo4</sessionToken>
<!--Zero or more repetitions:-->
<properties>
<name>name</name>
<value>test</value>
<name>type</name>
<value>javax.sql.DataSource</value>
<name>auth</name>
<value>Container</value>
<name>maxActive</name>
<value>8</value>
<name>maxIdle</name>
<value>4</value>
<name>url</name>
<value>jdbc:derby:databases/cloverDb102</value>
<name>driverClassName</name>
<value>org.apache.derby.jdbc.ClientDriver</value>\
<name>username</name>
<value>profiler</value>
<name>password</name>
<value>profiler</value>
</properties>
</wsj:CreateAdapter>
</soapenv:Body>
</soapenv:Envelope>


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">
<faultcode>S:Server</faultcode>
<faultstring>Cannot create JDBC driver 'null'.</faultstring>
<detail>
<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/">
<message>Cannot create JDBC driver 'null'.</message>
<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">
<message>Cannot create JDBC driver 'null'.</message>
<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="&lt;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="&lt;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>
</detail>
</S:Fault>
</S:Body>
</S:Envelope>

/Steve :D

imriskal
Posts: 384
Joined: Wed Aug 15, 2012 8:18 am

Re: Cannot create JDBC driver 'null' in SOAP req (createAdap

Postby imriskal » Wed Dec 03, 2014 1:05 pm

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.
---
Lubos Imriska
CloverCARE Support
CloverETL | Rapid Data Integration

Visit us online at http://www.cloveretl.com
How to speed up communication with CloverCARE support