Foros del Web » Programación para mayores de 30 ;) » Java »

Mensaje SOAP diferencias

Estas en el tema de Mensaje SOAP diferencias en el foro de Java en Foros del Web. Hola Tengo una duda con respecto a un mensaje SOAP que estoy enviando hacia un Web services tipo JAX-ws. El problema es que me llegan ...
  #1 (permalink)  
Antiguo 19/02/2014, 15:12
 
Fecha de Ingreso: mayo-2013
Ubicación: Armenia, Quindio, Colombia,
Mensajes: 95
Antigüedad: 10 años, 10 meses
Puntos: 3
Mensaje SOAP diferencias

Hola
Tengo una duda con respecto a un mensaje SOAP que estoy enviando hacia un Web services tipo JAX-ws. El problema es que me llegan nulos los parametros si lo hago de una manera. El mensaje SOAP es así:
Código:
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
	<soap:Body xmlns:ns1="http://www.example.org">
		<ns1:canalesRequest>
			<ns1:name>juan</ns1:name>
			<ns1:num>4646</ns1:num>
			<ns1:cabeza>
				<ns1:parameter>
					<ns1:parameterName>servicio</ns1:parameterName>
					<ns1:parameterValue>hora</ns1:parameterValue>
				</ns1:parameter>
				<ns1:parameter>
					<ns1:parameterName>num</ns1:parameterName>
					<ns1:parameterValue>504</ns1:parameterValue>
				</ns1:parameter>
			</ns1:cabeza>
			<ns1:cuerpo>
				<ns1:parameter>
					<ns1:parameterName>num2</ns1:parameterName>
					<ns1:parameterValue>12345678</ns1:parameterValue>
				</ns1:parameter>
			</ns1:cuerpo>
		</ns1:canalesRequest>
	</soap:Body>
</soap:Envelope>
CUando recibo la solicitud del WS me llega un parametro al cual le hago
param.getCuerpo() y esto me da null pero si quito el <ns1: que lo antepone si me recibe el cuerpo normalmente. Esta solicitud la hace un programa de esa manera por lo que no puedo quitarle el <ns1 pero por que no me lo recibe?? es por esto: xmlns:ns1="http://www.example.org"??? que se debe colocar ahí??
Gracias,
Saludos,
  #2 (permalink)  
Antiguo 20/02/2014, 10:36
Avatar de Xerelo  
Fecha de Ingreso: mayo-2009
Mensajes: 2.175
Antigüedad: 14 años, 11 meses
Puntos: 306
Respuesta: Mensaje SOAP diferencias

¿Y en cabeza sí te funciona?

Si tampoco funciona, yo diría que depende de cómo esté definido el xsd.

http://www.w3schools.com/schema/el_schema.asp

Cita:
elementFormDefault

Optional. The form for elements declared in the target namespace of this schema. The value must be "qualified" or "unqualified". Default is "unqualified". "unqualified" indicates that elements from the target namespace are not required to be qualified with the namespace prefix. "qualified" indicates that elements from the target namespace must be qualified with the namespace prefix
__________________
Cada vez que solucionas los problemas de alguien que no se esfuerza, piensa en que el día de mañana puede llegar a ser tu compañero de trabajo, o peor, tu jefe.
  #3 (permalink)  
Antiguo 20/02/2014, 12:55
 
Fecha de Ingreso: mayo-2013
Ubicación: Armenia, Quindio, Colombia,
Mensajes: 95
Antigüedad: 10 años, 10 meses
Puntos: 3
Respuesta: Mensaje SOAP diferencias

Hola Xerelo,
Como siempre ayudándome, .
Efectivamente este atributo no se encuentra y por lo que entiendo el atributo está en "unqualified". Lo que no entiendo es ¿acáso este valor lo que indica es que opcionalmente se puede mandar y el servicio no lo pide? En el servicio no me está llegando ningún parametro ni cabeza ni cuerpo nada!! solo si quito el xmlns y el ns1 si me llegan. El WS lo realicé basado en wsdl que me proporcionaron y lo que no se es si donde estaba http://www.example.org lo tenía que reemplazar por otro valor. Este era donde se definia el esquema

<xsd:schema xmlns:client="http://xmlns.oracle.com/inicioCanales" xmlns:ns1="http://www.example.org" xmlns:ns2="http://www.example.org" xmlns:ns3="http://schemas.oracle.com/bpel/extension" xmlns:plnk="http://schemas.xmlsoap.org/ws/2003/05/partner-link/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://xmlns.oracle.com/inicioCanales" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:import namespace="http://www.example.org" schemaLocation="http://109.2.1.16:7001/TESTTRXINPUT/inicioCanales?xsd=2"/>
</xsd:schema>

Estara malo el servicio web o el cliente.
Muchas gracias
  #4 (permalink)  
Antiguo 24/02/2014, 13:12
 
Fecha de Ingreso: mayo-2013
Ubicación: Armenia, Quindio, Colombia,
Mensajes: 95
Antigüedad: 10 años, 10 meses
Puntos: 3
Respuesta: Mensaje SOAP diferencias

Perdón,
Ahora que veo el esquema si tiene este atributo elementFormDefault en qualified, aún así no entiendo el significado y dice:
Cita:
"qualified" indicates that elements from the target namespace must be qualified with the namespace prefix
Lo que "entiendo" es: "calificado" indica que el elemento del target namespace debe ser calificado con el prefijo namespace .
Pero ¿que es calificado?, de seguro lo estoy traduciendo mal pero cual es el significado?? en la solicitud si debe ir este namespace eso si entiendo, lo que no entiendo es porque no me recibe los parametros.

Muchas gracias,
Saludos,

Etiquetas: diferencias, mensaje, programa, soap
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:31.