Background:

 

Trying to invoke a SOAP service endpoint from old school API's. Why?
Requiring clients to have as little knowledge, ie no Axiom/Axis jars, as
possible.

 

First I had to add a a Mime Header to get it to play well the
Dispatch,Phase and AbstractDispatcher pattern in the Axis 2 Kernel

 

import javax.xml.soap.*;

import javax.xml.namespace.QName;

import java.util.*;

import java.net.URL;

 

      MessageFactory factory =

        MessageFactory.newInstance();

      SOAPMessage message = factory.createMessage();

 

      message.getMimeHeaders().addHeader("SOAPAction",
"mynamespace:getValue");

 

Once done my SOAP endpoint, TestService was called and went about it's
business.

 

However when evaluating the return...

 

      SOAPBody soapBody = response.getSOAPBody();

 

The body is null...

 

I am getting a wire sniff to see what gives. However when following the
MessageContext through to the end in the debugger, I see no foul play.

 

Are there a set of rules when trying to connect from the fore mentioned
API's. This is a document based invoke...

 

Here is the request...

 

1.      With success using the axiom, axis API's

 

 

********************** Request 

=== MimeHeaders ===

content-type = text/xml; charset=UTF-8

SOAPAction = "mynamespace:getValue"

user-agent = Axis2

host = localhost

Transfer-Encoding = chunked

 

<?xml version='1.0' encoding='utf-8'?>

<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";>

  <soapenv:Body>

    <mynamespace:getValue
xmlns:mynamespace="http://www.mynamespace.org";>

      <mynamespace:nodeValue mynamespace:path="/Foo/foo/foo"
mynamespace:value="empty" mynamespace:objectType="MyType" />

    </mynamespace:getValue>

  </soapenv:Body>

</soapenv:Envelope>

************************* End request

 

2.      Without success return

 

<?xml version='1.0' encoding='utf-8'?><SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/";><SOAP-ENV:Bod
y /></SOAP-ENV:Envelope>

 

To note it appears to not be adding the body back to the envelope. I
will need to step down into more of messageContext handling to see when
this gets mangled. After the exit from TestService, the body element is
fine.

 

Thanks in advance for any and all help.

 

Kurt

 

 

 

 

 

 

            

 

Reply via email to