OVH Cloud OVH Cloud

HTTPS

2 réponses
Avatar
**Pierre**
Bonjour,

Je dois envoyer un fichier XML et recevoir une réponse de ce serveur. Je ne
sais pas comment commencer. Le site me dit que je dois :
Messages are exchanged using HTTPS (SSL) protocol POST requests with content
type "text/xml".

The content of the request is XML message itself, no envelopes are used.

Dois-je utiliser une page web qui contient le XML ou puis-je le faire avec
une application VB.NET ?

J'ai l'exemple XML à envoyer. Pouvez vous m'aider ? D'avance merci.

Pierre.

2 réponses

Avatar
**Pierre**
Voici la classe en Java que j'aimerai créer en VBV.NET

public class ExampleServlet extends HttpServlet {

/**
* ExampleServlet constructor comment.
*/
public ExampleServlet() {
super();
}

/**
* init forward URI from properties
*/
public synchronized void init(ServletConfig config) throws
javax.servlet.ServletException {
super.init(config);
}


public void service(ServletRequest req, ServletResponse res) throws
ServletException, IOException {

String responseMessage = null;
String error = errorHeader;
String requestMessage "<?xml version="1.0"?><productAvailabilityRequest version="1.1"><client
number="demoxml" password="demoxml"/><products><product
number="0096537"
quantity="1"/></products></productAvailabilityRequest>";

// ssl support
System.setProperty("java.protocol.handler.pkgs","com.sun.net.ssl.internal.www.protocol");
Security.addProvider(new
com.sun.net.ssl.internal.ssl.Provider());

// keystore for certificates, certificate from
https://test.e-galexis.com/POS/
// has to be imported into keystore
// (e.g. keytool -import -keystore cacerts -alias galexis -file
galexis.cer)

System.setProperty("javax.net.ssl.trustStore", "cacerts");
// keystore password
System.setProperty("javax.net.ssl.trustStorePassword",
"changeit");

URL serverURL = new URL("https://test.e-galexis.com/POS/");
try {
/* send POST message */
HttpURLConnection httpConnection = (HttpURLConnection)
serverURL.openConnection();

// Prepare method
httpConnection.setRequestMethod("POST");
// follow possible redirects
httpConnection.setFollowRedirects(true);
// Prepare for both input and output
httpConnection.setDoInput(true);
httpConnection.setDoOutput(true);
// Turn off caching
httpConnection.setUseCaches(false);
// content type
httpConnection.setRequestProperty("Content-Type", "text/xml");
// Write post data
DataOutputStream out = new
DataOutputStream(httpConnection.getOutputStream());
out.writeBytes(requestMessage);
out.flush();
out.close();


BufferedReader aiResult = new BufferedReader(new
InputStreamReader(httpConnection.getInputStream()));
String line;
StringBuffer responseMessage = new StringBuffer();
while ((line = aiResult.readLine()) != null) {
responseMessage.append(line);
}
System.out.println(responseMessage);

} catch (Exception e) {
/* print error to servlet's engine output
try to send the error message to client */
}
}
}




"**Pierre**" a écrit dans le message de
news:
Bonjour,

Je dois envoyer un fichier XML et recevoir une réponse de ce serveur. Je
ne sais pas comment commencer. Le site me dit que je dois :
Messages are exchanged using HTTPS (SSL) protocol POST requests with
content type "text/xml".

The content of the request is XML message itself, no envelopes are used.

Dois-je utiliser une page web qui contient le XML ou puis-je le faire avec
une application VB.NET ?

J'ai l'exemple XML à envoyer. Pouvez vous m'aider ? D'avance merci.

Pierre.





Avatar
Osman MALIK [MS]
Bonjour,

Vous trouverez ici un exemple de code présentant comment poster un document
XML vers une page et en attendre la réponse:
http://www.codeproject.com/useritems/XmlPost.asp

Si l'hote prend en charge directement SSL, le fait de préciser https dans
l'URI de la WebRequest suffit pour réaliser la connexion en SSL.
Ex:
string myURI = "https://www.contoso.com/";
WebRequest wReq = WebRequest.Create(myURI);

Cordialement,

Osman MALIK [MS France]


"**Pierre**" wrote in message
news:
Voici la classe en Java que j'aimerai créer en VBV.NET

public class ExampleServlet extends HttpServlet {

/**
* ExampleServlet constructor comment.
*/
public ExampleServlet() {
super();
}

/**
* init forward URI from properties
*/
public synchronized void init(ServletConfig config) throws
javax.servlet.ServletException {
super.init(config);
}


public void service(ServletRequest req, ServletResponse res) throws
ServletException, IOException {

String responseMessage = null;
String error = errorHeader;
String requestMessage > "<?xml version="1.0"?><productAvailabilityRequest
version="1.1"><client number="demoxml"
password="demoxml"/><products><product number="0096537"
quantity="1"/></products></productAvailabilityRequest>";

// ssl support

System.setProperty("java.protocol.handler.pkgs","com.sun.net.ssl.internal.www.protocol");
Security.addProvider(new
com.sun.net.ssl.internal.ssl.Provider());

// keystore for certificates, certificate from
https://test.e-galexis.com/POS/
// has to be imported into keystore
// (e.g. keytool -import -keystore cacerts -alias galexis -file
galexis.cer)

System.setProperty("javax.net.ssl.trustStore", "cacerts");
// keystore password
System.setProperty("javax.net.ssl.trustStorePassword",
"changeit");

URL serverURL = new URL("https://test.e-galexis.com/POS/");
try {
/* send POST message */
HttpURLConnection httpConnection = (HttpURLConnection)
serverURL.openConnection();

// Prepare method
httpConnection.setRequestMethod("POST");
// follow possible redirects
httpConnection.setFollowRedirects(true);
// Prepare for both input and output
httpConnection.setDoInput(true);
httpConnection.setDoOutput(true);
// Turn off caching
httpConnection.setUseCaches(false);
// content type
httpConnection.setRequestProperty("Content-Type", "text/xml");
// Write post data
DataOutputStream out = new
DataOutputStream(httpConnection.getOutputStream());
out.writeBytes(requestMessage);
out.flush();
out.close();


BufferedReader aiResult = new BufferedReader(new
InputStreamReader(httpConnection.getInputStream()));
String line;
StringBuffer responseMessage = new StringBuffer();
while ((line = aiResult.readLine()) != null) {
responseMessage.append(line);
}
System.out.println(responseMessage);

} catch (Exception e) {
/* print error to servlet's engine output
try to send the error message to client */
}
}
}




"**Pierre**" a écrit dans le message de
news:
Bonjour,

Je dois envoyer un fichier XML et recevoir une réponse de ce serveur. Je
ne sais pas comment commencer. Le site me dit que je dois :
Messages are exchanged using HTTPS (SSL) protocol POST requests with
content type "text/xml".

The content of the request is XML message itself, no envelopes are used.

Dois-je utiliser une page web qui contient le XML ou puis-je le faire
avec une application VB.NET ?

J'ai l'exemple XML à envoyer. Pouvez vous m'aider ? D'avance merci.

Pierre.