Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- CREATE PROCEDURE dbo.spCheckPerson (
- @inXML XML,
- @outXML XML OUTPUT,
- @inDebug BIT = 0 )
- AS
- --do sth
- SET @outXML = '<person><name>Piotr</name></person>'
- RETURN 0
- import java.sql.Types;
- import java.util.Map;
- import javax.sql.DataSource;
- import org.springframework.jdbc.core.JdbcTemplate;
- import org.springframework.jdbc.core.SqlOutParameter;
- import org.springframework.jdbc.core.SqlParameter;
- import org.springframework.jdbc.core.simple.SimpleJdbcCall;
- import org.springframework.jdbc.support.xml.Jdbc4SqlXmlHandler;
- public class PersonDAOImpl implements PersonDAO {
- private JdbcTemplate jdbcTemplate;
- private SimpleJdbcCall spCheckPerson;
- public PersonDAOImpl(DataSource dataSource) {
- jdbcTemplate = new JdbcTemplate(dataSource);
- }
- @Override
- public String checkPersonData(String personData) {
- Jdbc4SqlXmlHandler sqlXmlHandler = new Jdbc4SqlXmlHandler();
- spCheckPerson = new SimpleJdbcCall(jdbcTemplate)
- .withoutProcedureColumnMetaDataAccess()
- .withProcedureName("spCheckPerson")
- .declareParameters(new SqlParameter("inXML", Types.SQLXML))
- .declareParameters(new SqlOutParameter("outXML", Types.SQLXML));
- Map<String, Object> result = spCheckPerson.execute(sqlXmlHandler.newSqlXmlValue("<test>Test</test>"));
- return (String) result.get("outXML");
- }
- }
- SEVERE: Servlet.service() for servlet [SpringDispatcher] in context with path [/TestSpringProject] threw exception [Request processing failed; nested exception is java.lang.ClassCastException: com.microsoft.sqlserver.jdbc.SQLServerSQLXML cannot be cast to java.lang.String] with root cause
- java.lang.ClassCastException: com.microsoft.sqlserver.jdbc.SQLServerSQLXML cannot be cast to java.lang.String
- at pl.test.dao.PersonDAOImpl.checkPersonData(PersonDAOImpl.java:32)
- at pl.test.controller.HomeController.listPerson(HomeController.java:20)
- at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
- at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
- at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
- at java.lang.reflect.Method.invoke(Method.java:601)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement