Sharon Watinsan
Sharon Watinsan

Reputation: 9850

Send a POST to a HTTPS - Logic Issue

Anyone knows why i get this error. I am trying to send a POST request, and here's the error message that i get.

Server response:

Error while dispatching hrxml [ Server was unable to process request. --> Procedure or function 'sp__LogMessage' expects parameter '@pi_ClientID', which was not supplied.   at System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall)
   at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters)
   at DispatchService.HRISMessageRouter.MessageRouter.Route(String HRXML)
   at DispatchService.DispatchMessage.Dispatch(String HRXML)]

My Code :

URL link = new URL("https://example.com/example.asp"); 
        HttpsURLConnection com = (HttpsURLConnection) link.openConnection();
                  String l;

        con.setRequestMethod("POST");
con.setDoInput(true); 
        con.setDoOutput(true);
        con.setRequestProperty("name", "rrrrr");
        con.setRequestProperty("pwd", "ffff");

        OutputStream os = con.getOutputStream();

        os.flush();

        InputStream is = con.getInputStream();

        BufferedReader rd = new BufferedReader(new InputStreamReader(is));

          StringBuffer r = new StringBuffer(); 

          while((l = rd.readLine()) != null) {

            r.append(l);

            r.append('\r');

          }

          rd.close();

          System.out.println("out "+ r.toString());

I have tried debugging the code etc, but still unable to find a possible reason to why this hapend . Can anyone help me to figure out the reason and a possible solution for this issue ?

Upvotes: 0

Views: 267

Answers (2)

Stephen C
Stephen C

Reputation: 718758

Judging from the stacktrace:

  1. Your application is talking to a SOAP service
  2. The SOAP service is expecting an (XML encoded) request which includes a parameter that doesn't exist.

But this doesn't mesh with what you client code is doing. In fact, you are sending a POST request with parameters, and that will turn into a request body which is probably encoded as application/x-www-form-urlencoded ... not XML. That ain't going to work.

Upvotes: 1

Robert Harvey
Robert Harvey

Reputation: 180777

The error message is:

Server was unable to process request. --> Procedure or function 'sp__LogMessage' expects parameter '@pi_ClientID', which was not supplied.

This looks like a SQL Stored Procedure on the server. Check to make sure that a client ID is being supplied to it.

Upvotes: 2

Related Questions