必需:javax.xml.bind.JAXBElement <java.lang.string>;发现了java.lang.String

时间:2015-10-07 09:58:54

标签: java xml web-services jaxb

在JAVA Web服务中设置值时出现问题。我已经完成了Web服务客户端设置值但我收到错误消息必需:javax.xml.bind.JAXBElement;发现了java.lang.String。

我开发了Web服务客户端存根,下面是来自存根的示例脚本

 Service service = Service.create(url, qname);
    // Extract the endpoint interface, the service "port".
      ObjectFactory  daget = service.getPort(ObjectFactory.class);  
      ComBdata  NewComdata = (ComBdata) daget.createProd();
         NewComdata.setNumberID(rd.getString(1));

从客户端存根生成

 public void setNumberID (JAXBElement<String> value) {
    this. numberID = value;
    }

如何解决此错误?我是JABX的新手

1 个答案:

答案 0 :(得分:0)

此方法创建具有特定值的JAXBElement:

<T> JAXBElement<T> wrap( String ns, String tag, T o ){
    QName qtag = new QName( ns, tag );
    Class<?> clazz = o.getClass();
    @SuppressWarnings( "unchecked" )
    JAXBElement<T> jbe = new JAXBElement( qtag, clazz, o );
    return jbe;
}

您的电话将是

JAXBElement<String> jbw = wrap( ?, ?, rd.getString(1) );

但我无法告诉您命名空间或元素标记。