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 <[EMAIL PROTECTED]> 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: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]