xmlbeans-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Alistair Young" <alist...@smo.uhi.ac.uk>
Subject Re: Outputing XML beans
Date Wed, 06 Dec 2006 14:00:08 GMT
Is this any use to you? It inserts a SAML Request XMLBean into a SOAP
XMLBean:

soapBody.getDomNode().appendChild(soapBody.getDomNode().getOwnerDocument().importNode(samlRequest.getDomNode(),
true));

Alistair

-- 
mov eax,1
mov ebx,0
int 80h

> Hello,
>
> Can anyone help me on this?
>
> At least I want to know if it is a bug or by design that the top-most
> element (e.g. the "Request" element in the example") are omitted. This
> makes
> it hard to write generic codes because one has to know the document type
> to
> wrap the xml bean object.
>
> Thanks
>
>
>
> On 12/4/06, Hacking Bear <hackingbear@gmail.com> wrote:
>>
>> Hi,
>>
>> I eventually can insert one XML bean into another using cursor. But
>> still
>> some question:
>>
>> 1. As experiment at point (A) and (B) below, it seems that XMLBean
>> inserts
>> the child after the cursor, rather than at the cursor, so I have to wrp
>> it
>> in a dummy doc or parent element. This also seems contradicting to the
>> tutorial/document. Any idea why this is the case?
>>
>> 2. Is there a simpler API method that insert an XmlObject? Something
>> like:
>>        body.insert(XmlObject); // generated
>>        cursor.insert(XmlObject); // cursor-based
>>
>> Thanks
>>
>> public class SOAPXBeanOutputTest {
>>     public static void main(String[] args) throws Exception {
>>         RequestType request = RequestType.Factory.newInstance();
>>         request.setIssueInstant(Calendar.getInstance());
>>         request.setRequestID ("REQ123");
>>         AttributeQueryType query = request.addNewAttributeQuery();
>>         SubjectType subject = SubjectType.Factory.newInstance();
>>         NameIdentifierType nameId = subject.addNewNameIdentifier ();
>>         nameId.setStringValue("NAME123");
>>         query.setSubject((SubjectType)subject.copy());
>>
>>         EnvelopeDocument soapDoc =
>> EnvelopeDocument.Factory.newInstance();
>>         Envelope soapEnv = soapDoc.addNewEnvelope();
>>         Body soapBody = soapEnv.addNewBody();
>>
>>         XmlCursor cursor = soapBody.newCursor();
>>         cursor.toNextToken();
>>
>>         // (A) if not wrapping in dummy doc/element, results in output
>> ...<soapenv:Body><urn:AttributeQuery...
>>         RequestDocument dummyDoc =
>> RequestDocument.Factory.newInstance();
>>         dummyDoc.setRequest(request);
>>
>>         XmlCursor reqcursor = dummyDoc.newCursor(); // typs = STARTDOC
>>         //reqcursor.toFirstChild(); // (B) this results in output
>> ...<soapenv:Body><urn:AttributeQuery...
>>         reqcursor.moveXmlContents(cursor);
>>
>>         reqcursor.dispose();
>>         cursor.dispose();
>>
>>         soapDoc.save(System.out);
>>     }
>> }
>>
>>
>


---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@xmlbeans.apache.org
For additional commands, e-mail: user-help@xmlbeans.apache.org


Mime
View raw message