🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: es.comp.lenguajes.java
Article #832

Problema al usar un servicio WEB

#832
From: jcdiaz
Date: Tue, 19 Dec 2006 11:04
71 lines
3580 bytes
Hola buenas:
Estoy intentando utilizar un servicio web desde una EJB en un servidor
JBOSS.
Para ello estoy creando el EJB en se servidior que será el encargado
de llamar al servicio web.
ha este ejb se le pasara un XML y el ejb crear el mensaje soap donde el
cuerpo de dicho mensaje ee el xml que se le pasa, el problema que tengo
es que cuando utilizo addDocument me lanza la siguiente excepcion:
11:51:24,890 INFO  [STDOUT] java.lang.IllegalArgumentException: local
part cannot be "null" when creating a QName
11:51:24,937 INFO  [STDOUT] 	at
javax.xml.namespace.QName.<init>(QName.java:164)
11:51:24,953 INFO  [STDOUT] 	at
javax.xml.namespace.QName.<init>(QName.java:113)
11:51:24,953 INFO  [STDOUT] 	at
org.jboss.axis.message.NameImpl.<init>(NameImpl.java:62)
11:51:24,953 INFO  [STDOUT] 	at
org.jboss.axis.message.NameImpl.<init>(NameImpl.java:57)
11:51:24,953 INFO  [STDOUT] 	at
org.jboss.axis.message.SOAPBodyAxisImpl.importDOMElement(SOAPBodyAxisImpl.java:327)
11:51:24,953 INFO  [STDOUT] 	at
org.jboss.axis.message.SOAPBodyAxisImpl.addDocument(SOAPBodyAxisImpl.java:266)

El xml que estoy usando es el siguiente
<tns:GetWeather>
         <tns:CityName>UnaProvincia</tns:CityName>
         <tns:CountryName>UnPais</tns:CountryName>
</tns:GetWeather>

Y los pasos para crear el mensaje soap son los siguiente
SOAPConnectionFactory sf;
		SOAPConnection sct;
		MessageFactory mf;
		SOAPMessage smsg;
		SOAPPart sp1;
		SOAPEnvelope env;
		SOAPHeader hd;
		SOAPBody bd1;
		try {
			sf = SOAPConnectionFactory.newInstance();
			sct = sf.createConnection();
			mf = MessageFactory.newInstance();
			smsg = mf.createMessage();
			sp1 = smsg.getSOAPPart();
			env =  sp1.getEnvelope();
			hd = env.getHeader();
			bd1 = env.getBody();
			hd.detachNode();

			//Añadimos el mensaje AQUI ES DONDE FALLA
			bd1.addDocument(cuerpoSOAP);
			//Actualizamos la cabecera
			MimeHeaders hdr = smsg.getMimeHeaders();
			hdr.setHeader("SOAPAction",
"http://www.webserviceX.NET/GetWeather");
			smsg.saveChanges();

			URLEndpoint endPoint;
			endPoint=new
URLEndpoint("http://www.webservicex.com/globalweather.asmx");

			SOAPMessage response = sct.call(smsg, endPoint);
....
....
A ver si me sabeis decer cual puede ser el problema ya que si lo hago
independiemte de JBOSS
no tengo problemas al añadir el documento y solo es cuando lo creo en
el EJB creado en el JBOSS
Un Saludo
Technical Details
Message-ID: <1166526256.319649.53490@t46g2000cwa.googlegroups.com>
Path: arc1-ca.pugleaf.net!g2news2.google.com!postnews.google.com!t46g2000cwa.googlegroups.com!not-for-mail

Show Full Headers
Complete Article Headers
X-Google-Thread: 1116f3,5f726ab1695d215f,start
X-Google-Attributes: gid1116f3,public
X-Google-Language: ENGLISH,ASCII
Path: arc1-ca.pugleaf.net!g2news2.google.com!postnews.google.com!t46g2000cwa.googlegroups.com!not-for-mail
From: jcdiaz@gmail.com
Newsgroups: es.comp.lenguajes.java
Subject: Problema al usar un servicio WEB
Date: 19 Dec 2006 03:04:16 -0800
Organization: http://groups.google.com
Lines: 72
Message-ID: <1166526256.319649.53490@t46g2000cwa.googlegroups.com>
NNTP-Posting-Host: 62.15.230.75
Mime-Version: 1.0
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
X-Trace: posting.google.com 1166526262 28129 127.0.0.1 (19 Dec 2006 11:04:22 GMT)
X-Complaints-To: groups-abuse@google.com
NNTP-Posting-Date: Tue, 19 Dec 2006 11:04:22 +0000 (UTC)
User-Agent: G2/1.0
X-HTTP-UserAgent: Mozilla/5.0 (Windows; U; Windows NT 5.1; es-ES; rv:1.8.1) Gecko/20061010 Firefox/2.0,gzip(gfe),gzip(gfe)
Complaints-To: groups-abuse@google.com
Injection-Info: t46g2000cwa.googlegroups.com; posting-host=62.15.230.75;
   posting-account=5axDcQ0AAABJlsPnV788D4fgdINPtXSS