URGENT HELP! - The prefix "xsi" for attribute "xsi:type" is not bound
843834Feb 4 2004 — edited Feb 4 2004Hi! i createD a WebService using the JWSDP 1.2. In the server-side i read a xml file, create another empty Document and using the importNode() method i populate the empty created doc. The problem is when i try to send client this created document. I'm using the DOMSource to send it to client side. Both client and WS method code are below! Does anyone know the answer??
And I'm getting this error:
[java] Endpoint address = http://localhost:8080/cm/ContextManager
[java] [Fatal Error] :2:42: The prefix "xsi" for attribute "xsi:type" is not bound.
[java] javax.xml.transform.TransformerException: org.xml.sax.SAXParseException: The prefix "xsi" for attribute "xsi:type" is not bound.
[java] at org.apache.xalan.transformer.TransformerIdentityImpl.transform(TransformerIdentityImpl.java:469)
[java] at contextclient.CMClient.main(Unknown Source)
[java] Caused by: org.xml.sax.SAXParseException: The prefix "xsi" for attribute "xsi:type" is not bound.
[java] at org.apache.xerces.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1139)
[java] at org.apache.xalan.transformer.TransformerIdentityImpl.transform(TransformerIdentityImpl.java:452)
[java] ... 1 more
[java] ---------
[java] org.xml.sax.SAXParseException: The prefix "xsi" for attribute "xsi:type" is not bound.
[java] at org.apache.xerces.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1139)
[java] at org.apache.xalan.transformer.TransformerIdentityImpl.transform(TransformerIdentityImpl.java:452)
[java] at contextclient.CMClient.main(Unknown Source)
====================CLIENT CODE================================
...
Source getdevice = manager.getDevice("How");
DOMResult domResult = new DOMResult();
// getting a transformation factory instance
TransformerFactory transformerFactory = TransformerFactory.newInstance();
Transformer transformer = transformerFactory.newTransformer();
transformer.transform(getdevice, domResult);
Node node = domResult.getNode();
DOMSource domSRC = new DOMSource(node);
StreamResult streamResult = new StreamResult(System.out);
transformer.transform(domSRC, streamResult);
===============================================================
===================WebService Method CODE======================
public Source getDevice(String primaryContext)
{
Source src = null;
try
{
String uri = "C:\\foo\\DeviceInstance.xml";
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
//create the first Document
Document doc1 = builder.parse(uri);
//create the second Document
Document doc2 = builder.newDocument();
//create the second doc's root element and append it
Element rootDoc2 = (Element)doc2.createElement("device");
doc2.appendChild(rootDoc2);
//get root of first document
Element rootDoc1 = doc1.getDocumentElement();
NodeList list = rootDoc1.getElementsByTagName(primaryContext);
for(int i = 0; i < list.getLength(); i++)
{
Element nodeToMove = (Element) list.item(i);
Node newNode = doc2.importNode(nodeToMove, true);
rootDoc2.appendChild(newNode);
}
src = new DOMSource(doc2);
}
catch(DOMException dome)
{
dome.printStackTrace();
}
catch(Exception e)
{
e.printStackTrace();
}
return src;
}
===============================================================
Does anyone know what could it be? Please, it's very urgent!
Tks in Advance,
Rodrigo.