连接到bugzilla服务器时无法解析loose.dtd

时间:2016-05-25 14:48:13

标签: scala xml-rpc bugzilla

我尝试使用xmlrpc连接到bugzilla服务器,但在尝试解析http://www.w3.org/TR/html4/loose.dtd时出错。我已经看过其他解决方案,但据我所知,这些是服务器端解决方案。我不拥有服务器。有什么方法可以解决这个客户端吗?

[Fatal Error] loose.dtd:31:3: The declaration for the entity "HTML.Version" must end with '>'.
Exception in thread "main" org.apache.xmlrpc.client.XmlRpcClientException: Failed to parse server's response: The declaration for the entity
 "HTML.Version" must end with '>'.
...
Caused by: org.xml.sax.SAXParseExceptionpublicId: -//W3C//DTD HTML 4.01 Transitional//EN; systemId: http://www.w3.org/TR/html4/loose.dtd; li
neNumber: 31; columnNumber: 3; The declaration for the entity "HTML.Version" must end with '>'.
...
Caused by:
org.xml.sax.SAXParseExceptionpublicId: -//W3C//DTD HTML 4.01 Transitional//EN; systemId: http://www.w3.org/TR/html4/loose.dtd; lineNumber: 3
1; columnNumber: 3; The declaration for the entity "HTML.Version" must end with '>'.
...

以下是生成错误的相关编辑scala代码。

import org.apache.xmlrpc.client.XmlRpcClient
import org.apache.xmlrpc.client.XmlRpcClientConfigImpl
import java.net.URL

import scala.collection.JavaConverters._

object BugzillaHello {

  val portal = new URL("http://company.domain.com/bugzilla/xmlrpc.cgi")

  def main(args: Array[String]): Unit = {

    val config = new XmlRpcClientConfigImpl()
    config.setServerURL(portal)
    config.setEnabledForExtensions(true)

    val client = new XmlRpcClient()
    client.setConfig(config)

    val cred = Map("login" -> "my username", "password" -> "my password").asJava
    val result = client.execute("User.login", Array[Object](cred))
    println("Result = " + result)
  }
}

1 个答案:

答案 0 :(得分:0)

它不应该提供HTML文件,而是因为xlmrpc未启用。