Forum Discussion

BalaKishore's avatar
BalaKishore
New Contributor
16 years ago

SOAPUI API Wsdl Request

Hi All,

I am trying to send soap request and get a reponse Back, which I am Success fully getting. but I want to get Http Header Content Along with Soap reponse, how can I get this using soapui API 3.0.1.

something like this

HTTP/1.1 403 Forbidden
Date: Mon, 11 Jan 2010 06:50:06 GMT
Transfer-Encoding: chunked
Content-Type: text/xml; charset="utf-8"
X-Powered-By: Servlet/2.4 JSP/2.0

Below is my code.








package requestresponse;
import validation.*;
import org.apache.xmlbeans.XmlException;
import com.eviware.soapui.support.SoapUIException;
import com.eviware.soapui.impl.wsdl.WsdlOperation;
import com.eviware.soapui.impl.wsdl.WsdlProject;
import com.eviware.soapui.impl.wsdl.WsdlRequest;
import com.eviware.soapui.impl.wsdl.WsdlInterface;
import com.eviware.soapui.model.iface.Response;
import com.eviware.soapui.model.iface.Request.SubmitException;
import com.eviware.soapui.impl.wsdl.WsdlSubmit;
import com.eviware.soapui.impl.wsdl.WsdlSubmitContext;
import org.xml.sax.SAXException;
import org.w3c.dom.*;
import com.eviware.soapui.impl.wsdl.HttpAttachmentPart;
class RequestReponse1
{

WsdlProject project;
WsdlInterface iface;
WsdlOperation operation;
WsdlRequest request;
WsdlSubmit submit;
Response response;
String url;
String file;

RequestReponse1()
{
project=null;
iface=null;
operation=null;
request=null;
submit=null;
response=null;
}

void setUrl(String str)
{
try
{
project= new WsdlProject();
iface= project.importWsdl (str, true )[0];
}
catch(SoapUIException e)
{
println e.getMessage()
e.printStackTrace()
}
}

void setOperation(String str)
{
operation = (WsdlOperation) iface.getOperationByName(str );
}

void setRequest(String path)
{
SoapToXml obj= new SoapToXml()
String str=obj.readFileAsString(path)
request = operation.addNewRequest( "user1" );
println operation.createRequest(true)
request.setRequestContent( str );
println str
}

void sendRequest()
{
try
{

submit=(WsdlSubmit) request.submit( new WsdlSubmitContext( request ), false );

}
catch(SubmitException e)
{
println e.getMessage()
e.printStackTrace()
}
}


String getReponse()
{
String content;

try
{
response = submit.getResponse();
content = response.getContentAsString();
}
catch(NullPointerException e)
{
println e.getMessage()
e.printStackTrace()
}
catch(SoapUIException e)
{
println e.getMessage()
e.printStackTrace()
}

return  content;

}

static main(args)
{


RequestReponse1 rr= new RequestReponse1()
rr.setUrl("http://1localhost:7001/StockTradeDemoX509/Services?WSDL")
rr.setOperation("getAccountDetail")
rr.setRequest("DCC.xml")
rr.sendRequest()
println rr.getReponse()
println "\n\nAnother Request\n"
rr.setRequest("C:\\soapreq.xml")
rr.sendRequest()
println rr.getReponse()

}

}


Thanks
BalaKishore

1 Reply

  • laracroft007's avatar
    laracroft007
    Occasional Contributor
    Hi,

    I was trying same thing but when i run your code i am getting error "unable to resolve class SoapToXml " can you guide me with this.

    is SoapToXML a user defined class or do i need to import anything

    Please help