Buenas,
Estoy tratando de crear un servicio en 11870 con ASP .Net, he
conseguido autentificarme (al principio recibia un error de
autorización), y ahora intento subir el XML con la información
obligatoria del servicio: no consigo nada excepto un error 405: Método
no permitido.
Probablemente el problema está en el XML que estoy enviando, pero no
he encontrado una documentación donde aparezca algun ejemplo.
Este es el codigo que empleo en C#:
string uri = "
http://11870.com/api/v1";
req = System.Net.WebRequest.Create(uri);
//[...] Aqui se crean campos necesarios como nonce, etc...
string digest = Convert.ToBase64String(sha1.ComputeHash
(StrToByteArray(nonce + createtime + AuthToken)));
//añado las cabeceras X-WSSE a HTTPWebRequest
req.Headers.Add("Authorization", "WSSE realm=\"
11870.com
\", profile=\"UsernameToken\"");
req.Headers.Add("X-WSSE", string.Join("", new string[]
{ "UsernameToken ", "Username=\"", "
mga...@solusoft.es", "\", ",
"PasswordDigest=\"", digest, "\", ", "Nonce=
\"", nonce, "\", ", "Created=\"", createtime, "\"" }));
req.Method = "POST";
req.ContentType = "application/atom+xml";
// Wrap the request stream with a text-based writer
System.IO.StreamWriter writer = new System.IO.StreamWriter
(req.GetRequestStream());
//Escribimos el XML en el stream
writer.WriteLine(
"<?xml version=\"1.0\" encoding=\"utf-8\"?>" +
"<entry xmlns='
http://www.w3.org/2005/Atom'
xmlns:oos='
http://11870.com/api/oos'>" +
"<title>Prueba de Servicio</title> " +
"<oos:useraddress>usuario Prueba</oos:useraddress> " +
"<oos:locality slug='/es/los-llanos-de-aridane'>Localidad
de Prueba</ oos:locality> " +
"<oos:country slug='/es'>España</oos:country> " +
"</entry> ");
writer.Close();
rsp = req.GetResponse();
Y obviamente, es al llamar al método GetResponse() cuando obtengo el
error 405.
Si me podeis echar una manita con el XML necesario, os estaria muy
agradecidos.