Hi, 

is there a way to create a org.apache.axis.Message from a
org.w3c.dom.Document?

I have a document based web-service that acts as a proxy to other
systems. I basically want to take a request, look into the message,
substitute some values and then forward the message to the "real"
webservice, get the response and send that back to the caller. You get
the picture.

Everything works fine, except I don't know how to substitute values in
the request message?

Here's what I do:
<snip>
public Document proxyService(Document doc) {

  MessageContext msgContext = MessageContext.getCurrentContext();
  NodeList nList = doc.getElementsByTagNameNS("*", "myspecialtag");
  Node n = nList.item(0);
  /****** not reflected in msgContext.getRequestMessage() ****/
  n.getFirstChild().setNodeValue("mynewvalue");
  Service service = new Service();
  service.setEngine(
    msgContext.getAxisEngine().getClientEngine() );
  Call call = (Call) service.createCall();
  call.setTargetEndpointAddress(
    new java.net.URL( "http://blabla.com"; ));
  // forward the original request
  call.setRequestMessage( msgContext.getRequestMessage() );
  call.invoke();
  // get the response
  Message response = call.getResponseMessage();
  // set response 
  msgContext.setResponseMessage( response );
  // we set response message, it's ok to return null here
  return null;
}
</snip>

The changes to the doc are not reflected in
msgContext.getRequestMessage() Is there a way to do that?

I guess it boils down to the question: How do I create a
org.apache.axis.Message from a org.w3c.dom.Document? Or is there a
different way to do this?

Any thoughts?
Thanx
Nils



This message is for the designated recipient only and may contain privileged, 
proprietary, or otherwise private information.  If you have received it in error, 
please notify the sender immediately and delete the original.  Any other use of the 
email by you is prohibited.

Reply via email to