org.apache.xml.security.c14n.CanonicalizationException:元素listFunctions具有相对名称空间:xmlns =“xxx_xxx_listFunctions”

我是Axis2和webservices的新手。 我有一个axis2网络服务。 当ws-security关闭时,事情运行正常。 打开ws-security时,我在服务器日志中收到以下exception。 我调试了没有调用的服务类方法。 附件是两个service.xmls使用。 调用webservice的客户端得到了后续的soap错误 – prolog中意外的EOF 我在tomcat中得到以下javaexception: org.apache.xml.security.c14n.CanonicalizationException: Element listFunctions has a relative namespace: xmlns=”test_vish_listFunctions” at org.apache.xml.security.c14n.implementations.Canonicalizer20010315.handleAttributesSubtree(Unknown Source) at org.apache.xml.security.c14n.implementations.CanonicalizerBase.canonicalizeSubTree(Unknown Source) at org.apache.xml.security.c14n.implementations.CanonicalizerBase.engineCanonicalizeSubTree(Unknown Source) at org.apache.xml.security.c14n.implementations.CanonicalizerBase.engineCanonicalizeSubTree(Unknown Source) at org.apache.xml.security.c14n.Canonicalizer.canonicalizeSubtree(Unknown Source) at org.apache.xml.security.utils.XMLUtils.outputDOM(Unknown Source) 当ws-security关闭且事情正常时,以下是server.xml This service is to get the list functions vish.web.ws.service.ListFunctionsService 打开ws-security时,以下是services.xml Service description for test_vish_listRoutines test.web.ws.service.ListRoutinesService true UsernameToken test.web.ws.control.PWCBHandler

有没有办法从2路ssl连接中的java代码恢复客户端证书的通用名称?

我们有一个weblogic服务器,配置为在与客户端建立与Web服务解决方案的ssl连接时需要客户端证书。 ssl握手完美地工作,因为我们已经配置了所需的全部内容。 现在,在连接之后我们收到一个soap请求,其中客户端ID是此请求soap的字段之一。 我们需要做的是检查此id与用于在我们的服务器内连接的客户端证书的通用名称,以保证交易。 这对我们来说非常重要,因为这是银行交易,涉及很多钱,我们需要避免欺诈。 那么:有没有办法恢复用于使用weblogic 10.3.3服务器从服务器上运行的java代码建立双向ssl连接的客户端证书的通用名称? []中

如何正确停止ServerSocket线程? 关闭套接字失败

我知道之前已经讨论过这个问题了,但我找不到合适的解决方案来解决我的问题。 我想在后台运行一个ServerSocket线程,监听指定的端口。 它实际上工作,但只有一次。 似乎服务器正在侦听的端口从未正确关闭,并且在我尝试重新启动时仍然处于活动状态(O不重新启动线程本身)。 有人能说出为什么它不能正常工作吗? 在此先感谢您的帮助……! 编辑: 我在客户端遇到同样的问题。 我有一个发送者线程,也不能停止。 最好的方法是什么? ClientConnector只是一个连接到服务器端口并发送数据的类。 这不是一个线程或类似的东西。 这是我的发件人类: private class InternalCamSender extends Thread { private int sendInterval = 500; // default 500 ms private ClientConnector clientConn = null; public InternalCamSender() { this.sendInterval = getSendingInterval(); this.clientConn = new ClientConnector(); } @Override public void run() { while(!Thread.currentThread().isInterrupted()) { clientConn.sendCamPdu(CodingScheme.BER, createNewPDU()); try { […]

JVM内存中特定对象的子树的大小

是否可以以编程方式检查一些对象占用多少内存(使用JVM内存中的整个子树)。 我想说(来自java代码) “当我们假设提到的JPanel是这棵树的根”时,告诉我当前JVM中有多少内存将JPanel带到整个引用子树。 我想知道我是否可以通过这种方式比较两个JPanels(或JFrame或其他)需要多少内存,而且需要更多内存 – 而不分析转储。 而且我想知道答案是肯定的,这个值有多精确。

Java Jackson – 意外的令牌(START_ARRAY),预期为VALUE_STRING

嗨,我试图在java中使用jackson反序列化json数据。 我面临一个错误如下:意外的令牌(START_ARRAY),预期的VALUE_STRING:需要包含类型ID的JSON字符串(对于附件的子类型)这是我使用的代码。 请让我知道如何解决此问题。 提前致谢。 ObjectMapper mapper = new ObjectMapper(); mapper.enableDefaultTyping(); Audio audio = new Audio(2,2,”www.google.com”,”HelloWorld”); List link = new ArrayList(); link.add(audio); try { String jsonDataString= mapper.writerWithDefaultPrettyPrinter().writeValueAsString(link); System.out.println(mapper.writerWithDefaultPrettyPrinter().writeValueAsString(link)); Attachment f1 = new Attachment(); f1 = mapper.readValue(jsonDataString,Attachment.class); } catch (JsonProcessingException e) { // TODO Auto-generated catch block e.printStackTrace(); } JSON: [[ “Audio”, { “url” : “www.google.com”, “title” […]

自动向数组添加元素

嗨,我不擅长Java,所以请耐心等待。 我正在尝试编写一个非常简单的Android应用程序,我需要一些编码方面的帮助。 事实是,我有一个服务器,它自动生成.png文件,并按数字顺序将它们保存到公共目录。 更新每天进行,并非详尽无遗。 无论如何,我可以将动态值分配给我的应用程序中的数组吗? private String[] myRemoteImages = { “http://sofzh.miximages.com/java/hypotheticalurl1.png”, “http://sofzh.miximages.com/java/hypotheticalurl2.png”, “http://sofzh.miximages.com/java/hypotheticalurl3.png”, “http://sofzh.miximages.com/java/hypotheticalurl4.png”, “http://sofzh.miximages.com/java/hypotheticalurl5.png”, “http://sofzh.miximages.com/java/hypotheticalurl6.png”, “http://sofzh.miximages.com/java/hypotheticalurl7.png”, “http://sofzh.miximages.com/java/hypotheticalurl8.png”, “http://sofzh.miximages.com/java/hypotheticalurl9.png”, “http://sofzh.miximages.com/java/hypotheticalurl10.png”, “http://sofzh.miximages.com/java/hypotheticalurl11.png”, “http://sofzh.miximages.com/java/hypotheticalurl12.png”, //…blah blah blah // these are all dynamically created so I won’t know what is the last number on the list }; 此数组最终将用于使用应用程序从我的服务器获取图像。 它工作到目前为止,但只有硬编码的URL。 我希望这些url是动态的,因为图片的数量会每天都在变化。 我怀疑正则表达式在Java中运行良好但是我再也不是专家了。 想到也许在服务器端编写一个脚本,生成一个现有值列表,并以某种方式解析它与Android应用程序。 谁能指出我正确的方向? 提前致谢。 澄清: 应用程序运行时,arrays不必动态resize。 我需要一种方法来读取远程目录中的现有图像列表,并传递该信息以在运行时自动填充数组。 解决 […]

如何从Qpid JMS(qpid-jms-client-0.11.1.jar)发送/接收来自Azure Service Bus的消息?

我目前正在研究如何使用Qpid JMS(qpid-jms-client-0.11.1.jar)连接到Azure Service Bus。 我创建了一个Demo Java应用程序SimpleSenderReceiver,它使用以下指南( #link1 )连接到已配置的Azure Service Bus。 此代码似乎使用Qpid JMS客户端(版本0.32)的“非常”旧版本。 我现在正试图让它与Qpid JMS的最新稳定版本(qpid-jms-client-0.11.1.jar)一起使用,到目前为止我还没有成功。 通过Qpid JMS 0.11.1的文档#link2 ,您可以看到属性文件中的连接方法与0.32版本中的连接方式不同。 如何在属性文件中设置正确的连接amqp连接字符串 ? 如何设置de Qpid JMS-Azure Service Bus Demo以使用最新的Qpid稳定版本 ? 我一直在运行以下问题: 731 [AmqpProvider:(1):[amqps://example-bus.servicebus.windows.net?transport.connectTimeout=60000]] INFO org.apache.qpid.jms.sasl.SaslMechanismFinder – Best match for SASL auth was: SASL-PLAIN javax.jms.JMSException: Idle timeout value specified in connection OPEN (‘30000 ms’) is not supported. Minimum idle […]

在GAE / J中避免DeadlineExceededException的技巧?

我正在使用Google App Engine / Java开发一个Twitter4J Web应用程序。 我需要显示两个列表。 一个是Twitter好友,另一个是粉丝。 带照片和屏幕名称。 它适用于拥有20-30名粉丝和朋友的人。 但是当我尝试拥有150多个粉丝和朋友的用户时,它给了我DeadlineExceededException 。 如果Web请求花费的时间超过30秒,则GAE会抛出此exception。 那么我可以采用哪些技术来避免这种exception。 我应该为每个列表生成两个AJAX调用。 页面加载后。 这样每次通话都有30秒的限制吗? 或者你还有什么想法? 我已经离开了。 请帮忙。

如何开始:使用AssertJ Swing测试Java Swing GUI

在使用Swing开发Java桌面应用程序时,我遇到了直接测试UI的需要,而不仅仅是通过unit testing来测试底层控制器/模型类。 这个答案(关于“什么是基于Swing的应用程序的最佳测试工具?”)建议使用FEST ,遗憾的是停止使用。 然而,有一些项目从FEST离开的地方继续。 一个特别的(在这个答案中提到)引起了我的注意,因为我之前在unit testing中使用它: AssertJ 。 显然有AssertJ Swing ,它基于FEST,提供了一些易于使用的编写Swing UI测试的方法。 但是,进入初始/工作设置很麻烦,因为很难说从哪里开始。 如何为以下示例UI创建最小测试设置,仅包含两个类? 约束:Java SE,Swing UI,Maven项目,JUnit public class MainApp { /** * Run me, to use the app yourself. * * @param args ignored */ public static void main(String[] args) { MainApp.showWindow().setSize(600, 600); } /** * Internal standard method to initialize the view, […]

简单的递归示例 – 请帮助我理解递归

public static int triple(int n) { if (n == 0) return 0; else total = 3 + triple(n-1); System.out.println(total); return total; } 好的,所以我有一个简单的回忆示例,我似乎无法掌握,我希望有人能够让我逐步了解程序如何获得其输出。 这就是我认为会发生的事情。 让我们说n=5所以,程序循环和命中total = 3 + triple(5-1) ,我认为这将等于7 ..这是错误的程序打印 3 6 9 12 15 所以…然后我认为三重必须在打印总数之前再次运行……我相信它确实如此但我根本不明白它的总和是怎么回事。 因为它看起来像这样: 3 + triple(4) 3 + triple(3) 3 + triple(2) 3 + triple(1) =3 有人可以解释一下,因为你我可以很失落!