org.apache.axis2.AxisFault:在Webservice中传递对象数组时,Unknow类型无法序列化

我创建了一个以DTO作为参数的Web服务。 DTO包含一系列对象。 我已经生成了WSDL,骨架和客户端。 我试图调用webservice,如果我传递字符串数组说:Serializable [] array = new String [] {“a”,“n”}; 它工作正常。 现在我的要求是传递HashMaps数组我无法这样做,即使HashMap实现了Serializable。 HashMap hashMap1 = new HashMap(); HashMap hashMap2 = new HashMap(); hashMap1.put(“key1”, “value1”); hashMap2.put(“key1”, “value1”); Serializable[] maps = new HashMap[] { hashMap1, hashMap2 }; myDTO.setParams(maps); request.setDTO(myDTO); InvokeServiceResponse response = stub.serviceMethod(request); 我正在使用Axis2。 2.1.5,Tomcat 6和Eclipse Helios。 堆栈跟踪我在这里粘贴参考。 org.apache.axis2.AxisFault: Unknow type can not serialize at org.apache.axis2.AxisFault.makeFault(AxisFault.java:430) […]

Force Maven仅使用第一级依赖项

我有一个Maven Java项目。 在编译项目时,我不希望通过一系列子依赖项偶然满足我的项目依赖项。 在构建最终战争时,当maven必须检查所有使用的依赖项并为战争添加必要的lib时,这是可以的,但是在编译代码时我想确保只使用直接依赖项。 为什么? 假设我有两个依赖项: com.package module-1 com.package module-2 对于我们的项目模块-1和模块-2提供完全不同的目的,但在模块-2的依赖树中的某处,使用模块-1。 我删除了module-1依赖项,但maven继续构建我的项目而没有编译错误,因为它从module-2子依赖项中解析了module-1。 这种变化没有被注意到。 一段时间后我们决定删除module-2,因为我们不需要它。 很奇怪,但我们不能再使用从模块1导入的编译类,并且没有连接到模块2逻辑。 这是一个简单的案例,但在大项目中,这可能会造成相当大的依赖性。

列索引无效,使用PreparedStatement进行更新

我正在使用PreparedStatement更新表 以下代码完美无缺 pst = conn.prepareStatement(“UPDATE playjdbc SET jlname =’javafx10new’ WHERE jfname = ‘java10′”); int i = pst.executeUpdate(); 但是当我尝试这样的时候它会抛出exception pst = conn.prepareStatement(“UPDATE playjdbc SET jlname =’javafx10new’ WHERE jfname =?”); pst.setString(2, “java10”); // yeah second column is jfname int i = pst.executeUpdate(); 堆栈跟踪 : java.sql.SQLException: Invalid column index at oracle.jdbc.driver.OraclePreparedStatement.setStringInternal(OraclePreparedStatement.java:5330) at oracle.jdbc.driver.OraclePreparedStatement.setString(OraclePreparedStatement.java:5318) at oracle.jdbc.driver.OraclePreparedStatementWrapper.setString(OraclePreparedStatementWrapper.java:282) at com.indus.database.EmployeeDTO.updateData(EmployeeDTO.java:114)

无法使用log4j DailyRollingFileAppender将日期附加到文件名

您好我试图使用log4j DailyRollingFileAppender将当前日期附加到文件名,但它无法正常工作。 我使用了如下配置。 请为此建议一个解决方案 性能 log4j.rootLogger = DEBUG, rollingAppender log4j.appender.rollingAppender=org.apache.log4j.DailyRollingFileAppender log4j.appender.rollingAppender.DatePattern=’.’yyyy-MM-dd log4j.appender.rollingAppender.File=F:/temp/app.log log4j.appender.rollingAppender.layout=org.apache.log4j.PatternLayout log4j.appender.rollingAppender.layout.ConversionPattern=[%p] %d %c %M – %m%n 我期待日志文件为app2014-11-07.log,但它仍然是app.log

更广泛的递归/generics问题

基于这里提出和回答的问题,我有一个更复杂的问题(至少在我看来)。 为了使阅读(和回答)更容易,我将在此重述完整的代码示例: 让我们从定义一组类/接口开始: public interface Node<NT extends Node, ET extends Edge> { /* internal datastructures here */ } public interface Edge<NT extends Node, ET extends Edge> { /* internal datastructures here */ } public interface Graph<NT extends Node, ET extends Edge> { /* internal datastructures here */ } public class JunctionNode implements Node { } […]

在netbeans中创建/访问库

我是一个新的netbeans用户,我在导入用户创建的库时遇到问题。 我创建了一个名为“MyLibrary”的库。 然后我添加了一个文件夹,其中包含我保存的项目(名为“netbeansProjects”)到类路径,我在netbeans IDE中编写。 现在我正在尝试将一个类导入到我正在处理的项目中,但它不允许我这样做。 我正在按摩“套餐不存在”。 我真的很感激这个问题的一些帮助。 我在网上搜索; 我找不到任何东西。

同步代码比非同步代码执行速度更快

我出来了这个惊人的结果,我绝对不知道原因:我有两种方法缩写为: private static final ConcurrentHashMap mapBoolean = new ConcurrentHashMap(); private static final ConcurrentHashMap<Double,LinkedBlockingQueue> map = new ConcurrentHashMap<Double, LinkedBlockingQueue>(); protected static Future execute(final Double id, Callable call){ // where id is the ID number of each thread synchronized(id) { mapBoolean.get();// then do something with the result map.get();//the do somethign with the result } } protected static […]

如何在Array google-gson中反序列化Array

我有这样的JSON: { “Answers”: [ [ {“Locale”:”Ru”,”Name”:”Name1″}, {“Locale”:”En”,”Name”:”Name2″} ], [ {“Locale”:”Ru”,”Name”:”Name3″}, {“Locale”:”En”,”Name”:”Name4″} ] ] } 如您所见,我在数组中有数组。 如何使用Android上的google-gson库将此类JSON结构反序列化为对象( https://code.google.com/p/google-gson/ )?

如何通过* default * namespace XmlObject.selectPath()?

我找到了查询XmlObject的方法,以返回包含特定命名空间的元素: XmlObject xobj = XmlObject.Factory.parse( “\n” + ” \n” + ” 12345\n” + ” \n” + “”); // Use xpath with namespace delcaration to find element. XmlObject bobj = xobj.selectPath( “declare namespace B=’testB'” + “.//B:b”)[0]; 这非常简单,可以用于其他命名的命名空间,但是如何为默认命名空间执行相同操作? 即xmlns=像这样: XmlObject xobj = XmlObject.Factory.parse( “\n” + ” \n” + ” 12345\n” + ” \n” + “”); xmlbeans文档仅引用命名的命名空间…有没有办法完成我要找的东西?

Struts2锚标记不包含contextPath

%{#request.contextPath}在Struts2中的s:标记内部不起作用。 (Struts 2.2.1具体。)有没有办法让它工作? 它适用于其他Struts2标记。 以下是Struts 2项目中JSP文件中的两行,其上下文路径为“/ websites”: Click here. 这是输出: Click here. 请注意,上下文路径不在锚点之内,但包含在表单中。 PS我不能在这里使用${#pageContext.request.contextPath} ,因为Struts2标签中不允许使用${#pageContext.request.contextPath} 。 此外,我正在努力保持一致。 我也会尝试避免${}因为它不会自动转义输出。 谢谢!