SOAP Action

D

DougJrs

Good Afternoon Everyone!


I am having a little problem setting the SOAP action in my program. I
am setting the "SOAPACTION_USE_PROPERTY" and the
"SOAPACTION_URI_PROPERTY" properties, but they do not seem to be
working.

An example of the message that is being created and of my code is
below. Any help is greatly appericated.

Thanks,
Doug


Here is the SOAP Message that my code (below) is creating:
Content-Type: text/xml; charset=utf-8
Accept: application/soap+xml, application/dime, multipart/related,
text/*
User-Agent: Axis/1.4
Host: staging.brassring.com
Cache-Control: no-cache
Pragma: no-cache
SOAPAction: ""
Content-Length: 1961

<?xml version="1.0" encoding="UTF-8"?><soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelop ....



Here is the code that I am using:
public void call(String endpointUrl, String queryFileName) throws
Exception{

Category cat = Category.getRoot();
cat.debug("This is the call functions");
Service service = new Service();
Call call = (Call) service.createCall();
call.setProperty("SOAPACTION_USE_PROPERTY", Boolean.TRUE);
call.setProperty("SOAPACTION_URI_PROPERTY", "http://
Host.WebServices.SSO/Login");
call.setTargetEndpointAddress( new
java.net.URL(endpointUrl) );


SOAPBodyElement[] input = new SOAPBodyElement[1];
Element inputQuery = buildInputQuery(queryFileName);
input[0] = new SOAPBodyElement(inputQuery);

cat.debug(">> calling SOAP service at: " + endpointUrl);
cat.debug(">> QUERY: ");
this.writeDOMDocument(inputQuery.getOwnerDocument(),
System.out);

Vector elems = (Vector) call.invoke( input );
SOAPBodyElement elem = (SOAPBodyElement) elems.get(0);
Element responseElement = elem.getAsDOM();

cat.debug(">> RESPONSE: ");
this.writeDOMDocument(responseElement.getOwnerDocument(),
System.out);
cat.debug("\n>> Exiting");
}
 
D

DougJrs

Hi All!

I modified my code to this:

Service service = new Service();
Call call = (Call) service.createCall();
call.setProperty(Call.SOAPACTION_USE_PROPERTY, Boolean.TRUE);
call.setProperty(Call.SOAPACTION_URI_PROPERTY, "http://
WebServices.SSO/Login");
call.setTargetEndpointAddress( new
java.net.URL(endpointUrl) );

And it is working. Hope this helps someone else!!

Doug
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,769
Messages
2,569,580
Members
45,054
Latest member
TrimKetoBoost

Latest Threads

Top