0

I wrote the below code to send post request to an url. When I ran the code I am getting 500 error code. But, when I tried the same url in SOAP UI with the below headers I got the response back. May I know what is wrong in my code. Thanks in advance. I doubt I didn't add the headers properly.

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:arm="http://siebel.com/Webservice"> <soapenv:Header> <UsernameToken xmlns="http://siebel.com/webservices">username</UsernameToken> <PasswordText xmlns="http://siebel.com/webservices">password</PasswordText> <SessionType xmlns="http://siebel.com/webservices">Stateless</SessionType> </soapenv:Header> <soapenv:Body> <arm:QueryList_Input> <arm:SRNum></arm:SRNum> </arm:QueryList_Input> </soapenv:Body> </soapenv:Envelope> 

Below is my code.

 package com.siebel.Webservice; import java.io.BufferedReader; import java.io.DataOutputStream; import java.io.InputStreamReader; import java.net.HttpURLConnection; import java.net.URL; import javax.net.ssl.HttpsURLConnection; public class HttpQueryList { private final String USER_AGENT = "Mozilla/5.0"; public static void main(String[] args) throws Exception { HttpQueryList http = new HttpQueryList(); System.out.println("\nTesting 2 - Send Http POST request"); http.sendPost(); } // HTTP POST request private void sendPost() throws Exception { String url = "https://mywebsite.org/start.swe"; URL obj = new URL(url); HttpsURLConnection con = (HttpsURLConnection) obj.openConnection(); //add reuqest header con.setRequestMethod("POST"); con.setRequestProperty("UsernameToken", "username"); con.setRequestProperty("PasswordText", "password"); String urlParameters = "SWEExtSource=WebService&SWEExtCmd=Execute&WSSOAP=1"; // Send post request con.setDoOutput(true); DataOutputStream wr = new DataOutputStream(con.getOutputStream()); wr.writeBytes(urlParameters); wr.flush(); wr.close(); int responseCode = con.getResponseCode(); System.out.println("\nSending 'POST' request to URL : " + url); System.out.println("Post parameters : " + urlParameters); System.out.println("Response Code : " + responseCode); BufferedReader in = new BufferedReader( new InputStreamReader(con.getInputStream())); String inputLine; StringBuffer response = new StringBuffer(); while ((inputLine = in.readLine()) != null) { response.append(inputLine); } in.close(); //print result System.out.println(response.toString()); } } 
1

1 Answer 1

1

In your XML, you are specifying a token. When I have done this using SOAP UI, I have a certificate file that I use. In my case, I put it in my C:\Program Files (x86)\SmartBear\SoapUI-5.2.1\bin folder. Then I configured SOAP UI to use this. Do you have a certificate? If yes, are you referencing it?

Sign up to request clarification or add additional context in comments.

1 Comment

I don't have any certificate

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.