android soap header ksoap2

cómo configurar encabezado de jabón usando ksoap2-android



header (2)

Necesito configurar la información del encabezado soap como parte de la autenticación de un método web. Estoy usando la API ksoap2 para llamar al servicio web .NET. Aquí está el encabezado de soap con solicitud.

<soap:Header> <DTHeader xmlns="http://myServer.com/webservices/"> <Username> string </Username> <Password> string </Password> </DTHeader> </soap:Header> <soap:Body> <MyTestMethod xmlns="http://myServer.com/webservices/"> <ID> string </ID> <TransID> guid </TransID> </MyTestMethod> </soap:Body>

¿Puede proporcionar el código de Android para configurar el encabezado de soap "DTHeader" y establecer "Nombre de usuario" y "Contraseña".


Lo hice de esta manera:

import org.kxml2.kdom.Element;

luego mientras preparaba el sobre

soapEnvelope.headerOut = new Element[1]; soapEnvelope.headerOut[0] = buildAuthHeader(); // ...send request...

con

private Element buildAuthHeader() { Element h = new Element().createElement(NAMESPACE, "AuthHeader"); Element username = new Element().createElement(NAMESPACE, "user"); username.addChild(Node.TEXT, USERNAME); h.addChild(Node.ELEMENT, username); Element pass = new Element().createElement(NAMESPACE, "pass"); pass.addChild(Node.TEXT, PASSWORD); h.addChild(Node.ELEMENT, pass); return h; }

obviamente, cambie las cadenas según sea necesario.


Pasé 2 días tratando de hacer que esto funcione con Java y .net y finalmente lo tengo funcionando ...

ArrayList<HeaderProperty> headerProperty = new ArrayList<HeaderProperty>(); headerProperty.add(new HeaderProperty("guid", "value...")); androidHttpTransport.call(soap_action,envelope,headerProperty);

intenté el ejemplo anterior y agregaría una sección de encabezado, pero no era compatible con .net.

Mi fragmento de código funciona, pero requiere la versión de KSoap2 ksoap2-android-assembly-2.5.7-jar-with-dependencies.jar desde aquí: ubicación del archivo ksoap jar

Haga clic derecho y vea el archivo sin procesar y haga clic en guardar como.

Gracias por toda la ayuda en los foros ya que me indicaron en la dirección correcta ...