Any thoughts? I am worried about extending a depricated class. Also
essentially wondering why is it depricated? And two is this the right
approach? 

 

When using the wsdl2java utility and generating a skeleton using the
-xmlbeans switch I see the the MessageReceiver generated. This too
extends the depricated class AbstractInOutSyncMessageReceiver.

 

Again any information is greatly appreciated...

 

Kurt

 

P.S. Is there documentation on extending and creating receivers? Do's
and don't's so to speak.

 

  _____  

From: Kurt Kavanaugh 
Sent: Monday, May 19, 2008 4:40 PM
To: axis-user@ws.apache.org
Subject: RE: Multi-Part/ SOAP body return

 

 

I just implemented the ability using the axiom model to have an
OMElement[] as a return vs OMElement. Using RawXMLINOutMessageReceiver
as an example I simply modefied the findOperation and return type check
when looking at the method returnType. And the invoke now iterates over
the array and adds the children to envelope.body. All works well.

 

My question is this, 

 

The sources I have which I believe are the shipping version for 1.3 has
the below class decl

 

public class RawXMLINOutMultiPartMessageReceiver extends
AbstractInOutSyncMessageReceiver

 

However AbstractInOutSyncMessageReceiver is depricated. Taking the other
path of extending AbstractMessageReceiver means more work. However if
that is the way to go or if I am missing an *obvious* pattern please,
knock me on the head

 

Thanks in advance

 

Kurt

 

  _____  

From: Kurt Kavanaugh 
Sent: Monday, May 19, 2008 3:51 PM
To: axis-user@ws.apache.org
Subject: Multi-Part/ SOAP body return

 

Looking for

 

<soapenv:body>

   <status error="none"/>

   <payload foo="test" />

</soapenv:body>

 

I am implementing a service with message receiver
RawXMLINOutMessageReceiver which has a single entry point return (ie
OMElement )

 

Snippet from source

 

************* start snippet *************

OMElement result = (OMElement) method.invoke(obj, new
Object[]{msgContext.getEnvelope().getBody().getFirstElement()});

SOAPFactory fac = getSOAPFactory(msgContext);

SOAPEnvelope envelope = fac.getDefaultEnvelope();

 

if (result != null) {

      envelope.getBody().addChild(result);

}

************ end snippet ***************

 

I can see the logic, that is it is defined to return a OMElement.

 

I guess I am looking for 

 

OMElement[] result = (OMElement) method.invoke(obj, new
Object[]{msgContext.getEnvelope().getBody().getFirstElement()});

 

if (result != null) {

      envelope.getBody().addChildren(result); // pseudo code

}

 

 

I know I could change my return type to be a container, in essence, 

 

<soapenv:body>

   <result>

      <status error="none"/>

      <payload foo="test" />

   </result>

</soapenv:body>

 

But I would rather not. Thanks

 

 

 

Kurt

Reply via email to