I'm using the same code in WsnTestClient. No subscription filters are used. In addition to the string notification produced in the original code, I just added a second but complex notification for testing purposes. The first notification is being sent out properly, but the second is being suppressed for some reason, including any errors. I'll try to open a JIRA and post the code soon. For now, it looks like I have to convert the complex Element to a string, pass it as a string message which will be converted to CDATA, and then translate it back on the client side to recreate the bean. Not very efficient, but I can't seem to find a better workaround.
-----Original Message----- From: Daniel Jemiolo [mailto:[EMAIL PROTECTED] Sent: Wednesday, November 08, 2006 2:04 PM To: [email protected] Subject: RE: xmlbeans and muse How are you setting up the subscription? I'm guessing that the message is not being sent out because it doesn't match a subscription filter OR it the subscription is failing. Let me know what test code you're using (if it's WsnTestClient or a modified version) and the client-side trace. Also - I notice the XmlBeans XML doesn't have prefixes in the elements. In our experience, the SAAJ implementations of Axis 1.x and Axis2 do not handle default namespaces and empty prefixes well, leading us to hack around the issue (basically, always use prefixes). The XmlBeans XML is valid, I'm just reporting troubles we've had with Axis. I want to test to see if the SOAP engine is failing with a runtime exception in the SOAP processor, which you don't see w/o a SOAP monitor. Can you open a JIRA item for this and attach your WAR files (producer and consumer)? That way I can debug myself and determine if it's a producer, consumer, or Axis problem. Don't send it to muse-* because the Apache spam filter traps any message with large attachments. I'll reply to the list with any findings. Dan "Vinh Nguyen \(vinguye2\)" <[EMAIL PROTECTED]> wrote on 11/08/2006 04:34:45 PM: > Dan, > As a note, if I use the Element object created in the code below and > pass it to the NotificationProducer, the message doesn't get sent out at > all. No errors are being thrown either, so it's difficult to figure out > the problem. > -Vinh > > > -----Original Message----- > From: Vinh Nguyen (vinguye2) > Sent: Wednesday, November 08, 2006 1:13 PM > To: [email protected] > Subject: RE: xmlbeans and muse > > Thanks Dan, > Here's the test output. > > > Here is the XML from XmlBeans: > > <?xml version="1.0" encoding="UTF-8"?> > <Box xmlns="http://cisco.com/musebox/schemas/box"> > <width>123</width> > <height>123</height> > </Box> > > Here is the message payload: > > <?xml version="1.0" encoding="UTF-8"?> > <wsnp:MyMessage xmlns:wsnp="http://cisco.com/musebox/wsnp"> > <width xmlns="http://cisco.com/musebox/schemas/box">123</width> > <height xmlns="http://cisco.com/musebox/schemas/box">123</height> > </wsnp:MyMessage> > > Here is another way of doing the same thing: > > <?xml version="1.0" encoding="UTF-8"?> > <wsnp:MyMessage xmlns:wsnp="http://cisco.com/musebox/wsnp"> > <width xmlns="http://cisco.com/musebox/schemas/box">123</width> > <height xmlns="http://cisco.com/musebox/schemas/box">123</height> > </wsnp:MyMessage> > > > > -----Original Message----- > From: Daniel Jemiolo [mailto:[EMAIL PROTECTED] > Sent: Wednesday, November 08, 2006 10:14 AM > To: [email protected] > Subject: RE: xmlbeans and muse > > I'm guessing it's just a matter of DOM API usage, but for sanity > checks, try running the following code and let me know what the output > is: > > > BoxDocument doc = BoxDocument.Factory.newInstance(); > BoxType type = doc.addNewBoxType(); > type.setWidth(100); > type.setHeight(100); > > Document dom = (Document)doc.getDomNode(); Element boxElement = > XmlUtils.getFirstElement(dom); > > System.out.println("Here is the XML from XmlBeans:\n"); > System.out.println(XmlUtils.toString(boxElement)); > > QName name = new QName(NAMESPACE_URI, "MyMessage", PREFIX); Element > payload = XmlUtils.createElement(name, boxElement); > > System.out.println("Here is the message payload:\n"); > System.out.println(XmlUtils.toString(payload)); > > Element anotherTest = XmlUtils.createElement(name); > XmlUtils.moveSubTree(boxElement, anotherTest); > > System.out.println("Here is another way of doing the same thing:\n"); > System.out.println(XmlUtils.toString(anotherTest)); > > > > > "Vinh Nguyen \(vinguye2\)" <[EMAIL PROTECTED]> wrote on 11/08/2006 > 04:59:53 AM: > > > I should also ask what type of objects are allowed to be passed in > > notification messages? Just strings, or any Element object? I tried > > the following code to translate my bean to an Element, but the > > notification doesn't get sent out at all when creating the Element > this > > way. No errors are thrown either, so I can't figure out what is wrong > > > with the Element I'm using. This is even when I peek into the Element > > > by printing out it's namespaceURI, node name, etc., and it looks fine > to > > me. > > > > QName name = new QName(NAMESPACE_URI, "MyMessage", PREFIX); Element > > payload = XmlUtils.createElement(name, > > ((Document)doc.getDomNode()).getDocumentElement()); > > > > > > > > -----Original Message----- > > From: Vinh Nguyen (vinguye2) > > Sent: Wednesday, November 08, 2006 1:06 AM > > To: [email protected] > > Subject: xmlbeans and muse > > > > Hi all, > > I'm using XmlBeans with Muse for working with custom object types. > Can > > anyone help with the following code? Basically, I'm trying to convert > a > > bean object to an xml Element object, which I can then pass to the > > NotificationsProducer to send out notifications containing a custom > > object. Then, later on the consumer side, I want to translate the xml > > > back to the bean. The problem is how to do the conversion to an > > Element. I've tried several ways without success, or perhaps it's > > because after seeing various xml output forms, I'm getting confused > with > > what the xml should look like in the console trace. Any help is > > appreciated. Thanks! > > -Vinh > > > > BoxDocument doc = BoxDocument.Factory.newInstance(); > > BoxType type = doc.addNewBoxType(); > > type.setWidth(100); > > type.setHeight(100); > > > > Element payload = ... ? > > > > QName name = ... > > NotificationProducer np = ... > > np.publish(name, payload); > > > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
