I have Written a java REST web service, which is accepting image file and json data what i am sending in header param, so i want to know how i can write a client to call that web service successfully. My problem is how i can pass image file and json data in header param to call that webservice. how i can set image in request.please find below code of rest webservice which i have to expose.
@Path("/KVBSvasth")
public class KvbSvasthWebServices {
private static final String FILE_UPLOAD_PATH = "D:\\home";
@POST
@Consumes(MediaType.MULTIPART_FORM_DATA)
@Produces(MediaType.APPLICATION_JSON)
@Path("/getKvbMemberDetails")
public String saveClaimSubmissionMultiplePdf(@Context HttpServletRequest request,@HeaderParam("jsondataaa")String jsondata) throws Exception
{
WebServiceManager webServiceManager=null;
try{
KvbSvasthVO kvbSvasthVO=null;
String msg="";
String enrollmentID="";
System.out.println("json Data get "+jsondata);
//try{
ObjectMapper mapper = new ObjectMapper();
kvbSvasthVO= mapper.readValue(jsondata, KvbSvasthVO.class);
//}catch(JsonParseException | JsonMappingException jsonexception){
// msg="Data parsing exception";
//return this.getJsonOutputString(msg, enrollmentID);
//}
if (ServletFileUpload.isMultipartContent(request)) {
final FileItemFactory factory = new DiskFileItemFactory();
final ServletFileUpload fileUpload = new ServletFileUpload(factory);
final List items = fileUpload.parseRequest(request);
if(items.size()>0){
if (items != null) {
System.out.println("its should 2");
final Iterator iter = items.iterator();
while (iter.hasNext()) {
System.out.println("its should 3");
final FileItem item = (FileItem) iter.next();
final String itemName = item.getName();
item.getFieldName();
item.getString();
String strFileExt = itemName.substring(itemName.lastIndexOf(".") + 1,itemName.length());
File folder = new File(FILE_UPLOAD_PATH);
webServiceManager=this.getWebServiceManagerObject();
//kvbSvasthVO.setFileDataOInputStream(item.getInputStream());
// kvbSvasthVO.setImageFileSize((int)item.getSize());
//kvbSvasthVO.setJsonData(jsondata);
webServiceManager.saveKvbSvasthCustDetails(kvbSvasthVO,item,jsondata);
if (!folder.exists()) {
System.out.println("its should 4");
folder.mkdir();
} // End Of if(!folder.exists())
if (!(strFileExt.equalsIgnoreCase("pdf"))) {
final File savedFile = new File(FILE_UPLOAD_PATH+ File.separator + itemName);
System.out.println("final file "+FILE_UPLOAD_PATH+ File.separator + itemName);
item.write(savedFile);
}
break;
}//end of while (iter.hasNext())
} // end of if (items != null)
}//end of if(items.size()>0)
}
}catch(Exception e){
System.out.println("exception occurs: ");
e.printStackTrace();
}
return jsondata;
}
public String getJsonOutputString(String message,String enrollementID){
JSONObject jsobj = new JSONObject();
LinkedHashMap<String, String> object = new LinkedHashMap();
//object.put("status", status);
object.put("msg",message);
object.put("enrollemntId",enrollementID);
jsobj.putAll(object);
return jsobj.toJSONString();
}
private WebServiceManager getWebServiceManagerObject() throws TTKException
{
WebServiceManager webServiceManager = null;
try
{
if(webServiceManager == null)
{
InitialContext ctx = new InitialContext();
webServiceManager = (WebServiceManager) ctx.lookup("java:global/TTKServices/business.ejb3/WebServiceManagerBean!com.ttk.business.webservice.WebServiceManager");
}//end if(webServiceManager == null)
}//end of try
catch(Exception exp)
{
throw new TTKException(exp, "webservice");
}//end of catch
return webServiceManager;
}//end getWebServiceManagerObject()
}
Kindly Help, thanks.