Rick, to send a byte array is easy. Try the following:
ArrayList args = new ArrayList(); String hello = "hello"; args.add(hello.getBytes()); OMElement response = sender.invokeBlocking(operationName, args.toArray()); Hint: POJO's use the RPCMessageReceiver. There are unit tests for all the receivers. So 'use the source' ;-) . http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/integration/test/org/apache/axis2/rpc/RPCCallTest.java?revision=526324&view=markup HTH, Robert On 6/13/07, Rick Reumann <[EMAIL PROTECTED]> wrote:
I might try that Chad since right now I'm pretty stuck. I wouldn't mind using they byte[] approach but I'm stumped on what to do with the Axis2 client generated stub that wants a DataHandler for the Request object. Looking at the docs http://java.sun.com/j2ee/sdk_1.3/techdocs/api/javax/activation/DataHandler.html DataHandler wants a DataSource or else Object, String mimetype. The DataSource objects don't seem to have a String implementation so that doesn't help and not sure what to set for object, or the mimetype. Am I just being really stupid or has it always been this much of a pain to send some simple xml? (I'm still new to using web services so not sure how things were in the past.) What seems odd is when I google on the issue not a lot comes about it which makes me think I'm just missing something fundamental. Thanks again for the help. On 6/13/07, Chad DeBauch <[EMAIL PROTECTED]> wrote: > Another approach I have taken is have the service accept a string like you > originally did but encode it in UTF-8 encoding. The downside to this is > that clients will need to know that you are expecting a string that is in > UTF-8 encoding. > > Chad > > > On 6/13/07, Rick Reumann <[EMAIL PROTECTED]> wrote: > > > > On 6/13/07, robert lazarski <[EMAIL PROTECTED]> wrote: > > > I tend to tackle this in two ways: Convert / unconvert the string to > base64 > > > and send it that way. Or use mtom and send the string as an attachment. > > > > Thanks Robert. I figured I'd try just using a byte array to start > > with. Maybe someone can help though - I'm a bit unsure how implement > > the client stub that gets generated based off the method: > > getResults(byte[] bytes) > > > > Where I'm running into trouble is that the client stub seems to want > > to use a DataHandler? Instead of dealing with a byte[] it's dealing > > with this DataHandler that I'm unsure how to set this up with my byte > > array? > > > > I have.. > > GetResults params = new GetResults(); > > params.localBytes = //wants an instance of DataHandler which I'm > > assuming needs my byte[]? but not sure how to set that up > > > > then I can call > > stub.getResults(params); > > > > Thanks for some help. > > > > Original message thread below for reference. > > > > ------------------------------------ > > > > > On 6/13/07, Rick Reumann < [EMAIL PROTECTED]> wrote: > > > > > > > > I have an Axis2 service set up. It's super simple. I want the user to > > > > be able to send some XML to the service so I figured I'd set up my > > > > POJO service to just accept a String... > > > > > > > > public String getResults( String xmlSpec) { ... } > > > > > > > > I built my client stubs with java2wsdl (actually used Eclipse's > > > > plugin) and if I pass in a simple String like "Hello World," > > > > everything is fine. However, when I try to send some XML as a String, > > > > I end up with the service never receiving the XML and get an error > > > > like: > > > > > > > > org.apache.axis2.AxisFault : > > > com.ctc.wstx.exc.WstxParsingException: > > > > Unexpected close tag </body>; expected </HR>. > > > > at [row,col {unknown-source}]: [11,187] > > > > at > > > > org.apache.axis2.transport.TransportUtils.createSOAPMessage > (TransportUtils.java:81) > > > > at > > > > org.apache.axis2.description.OutInAxisOperationClient.send( OutInAxisOperation.java:356) > > > > at > > > > org.apache.axis2.description.OutInAxisOperationClient.execute > > > (OutInAxisOperation.java:294) > > > > at > > > > com.nielsen.webservices.SampleWebServiceSampleWebServiceHttpportStub.getResults (SampleWebServiceSampleWebServiceHttpportStub.java:164) > > > > at com.nielsen.webservices.Client.main > > > (Client.java:31) > > > > > > > > > > > > I even tried wrapping the String with <![CDATA[ ]]> but it didn't seem > > > > to help. What is the best way to send XML over the wire to an exposed > > > > service? > > > > > > > > -- > > > > Rick > > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: > [EMAIL PROTECTED] > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > -- Rick --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
