Hi All,

I have created one test client that gets the session ID from oracle gatekeeper 
session webservice and then I am calling the sendSms webservice to send the SMS.

My Test Client is:

TestClientt.java gets the session ID successfully 
<http://forums.oracle.com/forums/> 

________________________________

package test;

import java.net.URL;

import javax.xml.namespace.QName;
import javax.xml.soap.MessageFactory;
import javax.xml.soap.SOAPBody;
import javax.xml.soap.SOAPBodyElement;
import javax.xml.soap.SOAPConnection;
import javax.xml.soap.SOAPConnectionFactory;
import javax.xml.soap.SOAPElement;
import javax.xml.soap.SOAPEnvelope;
import javax.xml.soap.SOAPHeader;
import javax.xml.soap.SOAPMessage;
import javax.xml.soap.SOAPPart;

public class TestClientt {

public static void main(String[] args) {
try {

SOAPConnectionFactory sfc = SOAPConnectionFactory.newInstance();
SOAPConnection connection = sfc.createConnection();

MessageFactory messageFactory = MessageFactory.newInstance();
SOAPMessage message = messageFactory.createMessage();

SOAPPart soapPart = message.getSOAPPart();

SOAPEnvelope soapEnvelope = soapPart.getEnvelope();

SOAPHeader header = soapEnvelope.getHeader();
SOAPBody sb = message.getSOAPBody();
QName bodyName = new QName(
"http://www.bea.com/wsdl/wlcp/wlng/session_manager/service";,
"getSession", "ser");
SOAPBodyElement bodyElement = sb.addBodyElement(bodyName);

SOAPElement security =

header
.addChildElement(
"Security",
"wssp",
"http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd";);

SOAPElement usernameToken =

security.addChildElement("UsernameToken", "wssp");

usernameToken
.addAttribute(
new QName("xmlns:wsp"),
"http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd";);

SOAPElement username =

usernameToken.addChildElement("Username", "wssp");

usernameToken
.setAttribute(
"Type",
"http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#UsernameToken";);

username.addTextNode("sdpai");

SOAPElement password =

usernameToken.addChildElement("Password", "wssp");

password
.setAttribute(
"Type",
"http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText";);

password.addTextNode("sdp");

URL endpoint = new URL(
"http://localhost:8001/session_manager/SessionManager";);
System.out.println("\n Soap Request:\n");
message.writeTo(System.out);
System.out.println();
SOAPMessage response = connection.call(message, endpoint);
System.out.println("\n Soap Response:\n");
response.writeTo(System.out);
String resp = null;
resp = response.getSOAPBody().getLastChild().getLastChild()
.toString();

System.out.println();
connection.close();

System.out.println("Session ID" + resp);
int start = resp.indexOf("app:");
int end = resp.indexOf("</ser:getSessionReturn>");
String sessionID = resp.substring(start, end);
System.out.println("Session ID" + sessionID);

test3 test = new test3();
test.responseSms(sessionID);

} catch (Exception e) {

e.printStackTrace();
}

}

}



test3.java http://Called by TestClientt.java after and passing sessionID to it 
<http://called%20by%20testclientt.java%20after%20and%20passing%20sessionid%20to%20it/>
 

________________________________


package test;

import java.net.URL;

import javax.xml.namespace.QName;
import javax.xml.soap.MessageFactory;
import javax.xml.soap.SOAPBody;
import javax.xml.soap.SOAPBodyElement;
import javax.xml.soap.SOAPConnection;
import javax.xml.soap.SOAPConnectionFactory;
import javax.xml.soap.SOAPElement;
import javax.xml.soap.SOAPEnvelope;
import javax.xml.soap.SOAPHeader;
import javax.xml.soap.SOAPHeaderElement;
import javax.xml.soap.SOAPMessage;
import javax.xml.soap.SOAPPart;

public class test3 {

public void responseSms(String sessionID) {
try {

SOAPConnectionFactory sfc = SOAPConnectionFactory.newInstance();
SOAPConnection connection = sfc.createConnection();

MessageFactory messageFactory = MessageFactory.newInstance();
SOAPMessage message = messageFactory.createMessage();

SOAPPart soapPart = message.getSOAPPart();

SOAPEnvelope soapEnvelope = soapPart.getEnvelope();

SOAPHeader header = soapEnvelope.getHeader();
SOAPBody sb = message.getSOAPBody();

QName bodyName1 = new QName(
"http://www.csapi.org/schema/parlayx/sms/send/v2_2/local";,
"sendSms");
SOAPBodyElement bodyElement = sb.addBodyElement(bodyName1);

QName qn = new QName("addresses");
SOAPElement selem3 = bodyElement.addChildElement(qn);

selem3.addTextNode("tel:1234");

QName qn1 = new QName("message");
SOAPElement selem4 = bodyElement.addChildElement(qn1);
selem4.addTextNode("This is a Test Message From Naveen");

SOAPElement security =

header
.addChildElement(
"Security",
"wssp",
"http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd";);

SOAPElement usernameToken =

security.addChildElement("UsernameToken", "wssp");

usernameToken
.addAttribute(
new QName("xmlns:wsp"),
"http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd";);

SOAPElement username =

usernameToken.addChildElement("Username", "wssp");

usernameToken
.setAttribute(
"Type",
"http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#UsernameToken";);

username.addTextNode("sdpai");

SOAPElement password =

usernameToken.addChildElement("Password", "wssp");

password
.setAttribute(
"Type",
"http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText";);

password.addTextNode("sdp");

QName headerName1 = new QName("Session");
SOAPHeaderElement headerElement2 = header
.addHeaderElement(headerName1);
QName qn4 = new QName("SessionId");
SOAPElement selem6 = headerElement2.addChildElement(qn4);
selem6.addTextNode(sessionID);

System.out.println("\n Soap Request:\n");
message.writeTo(System.out);
System.out.println();

URL endpoint = new URL(
"http://localhost:8001/parlayx21/sms/SendSms";);

SOAPMessage response = connection.call(message, endpoint);
System.out.println("\n Soap Response:\n");
response.writeTo(System.out);
connection.close();
} catch (Exception ex) {
ex.printStackTrace();
}
}
}


I am getting the error at line: 

SOAPMessage response = connection.call(message, endpoint);

and the error is:

javax.xml.soap.SOAPException: 
at 
org.apache.axis2.saaj.SOAPConnectionImpl.handleSOAPMessage(SOAPConnectionImpl.java:194)
at org.apache.axis2.saaj.SOAPConnectionImpl.call(SOAPConnectionImpl.java:130)
at test.test3.responseSms(test3.java:103)
at test.TestClientt.main(TestClientt.java:100)
Caused by: org.apache.axis2.AxisFault: 
at org.apache.axis2.util.Utils.getInboundFaultFromMessageContext(Utils.java:512)
at 
org.apache.axis2.description.OutInAxisOperationClient.handleResponse(OutInAxisOperation.java:370)
at 
org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:416)
at 
org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:228)
at org.apache.axis2.client.OperationClient.execute(OperationClient.java:163)


in OCSG trace logs, it shows:

10 Jun 2009 18:05:00,455 [ WARN com.bea.wlcp.wlng.util.EJBHelper - Failed to 
process request
com.bea.wlcp.wlng.api.plugin.DenyPluginException: 
org.csapi.schema.parlayx.common.v2_1.ServiceException
at 
com.bea.wlcp.wlng.interceptor.ValidateRequestUsingRequestFactory.invoke(ValidateRequestUsingRequestFactory.java:38)
at com.bea.wlcp.wlng.interceptor.ContextImpl.invokeNext(ContextImpl.java:87)
at 
com.bea.wlcp.wlng.interceptor.EnforceSpAppBudget.invoke(EnforceSpAppBudget.java:70)
at com.bea.wlcp.wlng.interceptor.ContextImpl.invokeNext(ContextImpl.java:87)

************************************

Please let me know what the issue is. To my surprise the soap message which I 
am getting thru test3.java is successfully returning the response in SOAP UI 
Tool and I am able to receive the message but its not working thru my client 
program. SOAP meesage is correct but something is wrong somewhere. Please let 
me know where I am missing or what wrong I am doing??????

 
-Naveen


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