在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的新手
答案 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) );
但我无法告诉您命名空间或元素标记。