我有一个 java web start 程序,它使用 xmlrpc 服务 3 在 drupal 7 站点上创建内容。我的代码大致基于此 ,它在以下平台上运行良好:
linux x86 x64 (openjdk6-7), mac os x64 (java6 x64), windows x64 (oracle jvm x32,x64) 从java6到java7u4
从 oracle java7u5 到 java7u7 我的代码不起作用。在 u5 中,我得到了一些奇怪的 jnlp 异常,在 u6 和 u7 中,我得到了以下堆栈跟踪:
org.apache.xmlrpc.client.XmlRpcHttpTransportException: HTTP server returned unexpected status: Unauthorized: Access denied for user anonymous
org.apache.xmlrpc.client.XmlRpcSunHttpTransport.getInputStream(XmlRpcSunHttpTransport.java:94)
org.apache.xmlrpc.client.XmlRpcStreamTransport.sendRequest(XmlRpcStreamTransport.java:152)
org.apache.xmlrpc.client.XmlRpcHttpTransport.sendRequest(XmlRpcHttpTransport.java:143)
org.apache.xmlrpc.client.XmlRpcSunHttpTransport.sendRequest(XmlRpcSunHttpTransport.java:69)
org.apache.xmlrpc.client.XmlRpcClientWorker.execute(XmlRpcClientWorker.java:56)
org.apache.xmlrpc.client.XmlRpcClient.execute(XmlRpcClient.java:167)
org.apache.xmlrpc.client.XmlRpcClient.execute(XmlRpcClient.java:158)
org.apache.xmlrpc.client.XmlRpcClient.execute(XmlRpcClient.java:147)
my.program.Drupal7XmlRpc.createNode(Drupal7XmlRpc.java:223)
...
但是,如果我在 windows 上从我的 eclipse IDE 运行程序,而没有 java web start,我的代码可以正常工作。我不知道这是对最新的 oracle jvms 的一些安全规定,还是我应该发布的错误。
最后一点是我的 jnlp 文件是基于这个.