Java QName前缀不起作用

问题描述:

我的问题很简单。 我正在给需要命名空间前缀的SOAP请求添加一个头。因此我使用Java QName前缀不起作用

QName(String namespaceURI, 
      String localPart, 
      String prefix) 

的问题是,虽然我设置的前缀没有被添加,即:

new QName("http://lit.com/schemas/Bobsled", "bob:sessionId") 

我得到<bob:sessionId xmlns="http://lit.com/schemas/Bobsled">

并与前缀:

new QName("http://lit.com/schemas/Bobsled", "bob:sessionId","bob") 

我得到完全一样的东西,它应该是:

<bob:sessionId xmlns:bob="http://lit.com/schemas/Bobsled"> 

...它似乎像构造函数中的前缀没有做任何事情!

前缀qname为第三个参数的构造函数QName

new QName("http://lit.com/schemas/Bobsled", "sessionId","bob")