Hi all. I'm using Axis RC1.2 under JBoss 3.2.6, JDK 1.4.2_07 and Windows XP Home edition. Well... i have this simple client:
package it.eng.test.client.util; import org.apache.axis.client.Call; import org.apache.axis.client.Service; import org.apache.axis.message.SOAPBodyElement; import org.apache.axis.utils.XMLUtils; import javax.xml.rpc.ServiceException; import java.util.Vector; import org.w3c.dom.Document; import javax.xml.namespace.QName; import org.apache.log4j.Logger; import java.net.URL; import java.net.MalformedURLException; /** * <p>Title: Prototipo Piattaforma PMM piattaforma per la gestione di Web * Services</p> * * <p>Description: Prototipo semplice per la costruzione della piattaforma PMM * utilizzata per interagire con dei web services.</p> * * <p>Copyright: Copyright (c) 2005</p> * * <p>Company: Engineering Ingegneria Informatica</p> * * @author Angelo Immediata * @version 1.0 */ public class SimpleAxisClient { /** * Il logger */ private static final Logger LOG = Logger.getLogger(SimpleAxisClient.class. getName()); /** * Preparo il l'oggetto Call da utilizzare * @param endpoint String -l'endpoint da utilizzare * @param operation String -l'operazione da invocare * @return Call -il Call generato. * @throws ServiceException -Se ci sono problemi col servizio */ private Call getCall(String endpoint, String operation) throws ServiceException { if (LOG.isDebugEnabled()) { LOG.debug("Creating call....."); } Call result = (Call)(new Service()).createCall(); try { result.setTargetEndpointAddress(new URL(endpoint)); } catch (MalformedURLException ex) { LOG.error( ex ); } result.setOperation( new QName( endpoint, operation ), operation ); if (LOG.isDebugEnabled()) { LOG.debug("Done!!"); } return result; } /** * Invoco il web service passandogli il Document generato dalla classe it.eng.prototype.xml.Parser * @param doc Document -il Document generato. * @param endpoint String -l'endpoint del servizio. * @param operation String -l'operazione da invocare. * @return Document -il document in uscita al webService * @throws Exception */ public Document getDocument(Document doc, String endpoint, String operation) throws Exception { Call call = getCall(endpoint, operation); Vector result = (Vector) call.invoke (new SOAPBodyElement[] {new SOAPBodyElement(doc. getDocumentElement())}); SOAPBodyElement sbe = (SOAPBodyElement) result.get(0); if( LOG.isDebugEnabled() ){ LOG.debug("Body ricevuto: " + XMLUtils.DocumentToString(sbe.getAsDocument())); } return sbe.getAsDocument(); } } When i try to invoke the web service by using Axis in this way: try { Document doc = client.getDocument(createDocument( data ), "http://localhost:8082/ServicePublisher/services/Searcher", "byFiscalCode"); if( LOG.isDebugEnabled() ){ LOG.debug( "Ho ottenuto questo Document in risposta: " ); LOG.debug(XMLUtil.domToString(doc)); } } catch (Exception ex) { ex.printStackTrace(); LOG.error( ex ); } I have this error that is driving me to become crazy: 2005-03-31 23:47:53,698 DEBUG [it.eng.test.client.util.SimpleAxisClient] Creating call..... 2005-03-31 23:47:53,778 DEBUG [it.eng.test.client.util.SimpleAxisClient] Done!! 2005-03-31 23:47:53,828 INFO [STDOUT] java.lang.IllegalArgumentException: localPart cannot be null 2005-03-31 23:47:53,828 INFO [STDOUT] at javax.xml.namespace.QName.<init>(QName.java:106) 2005-03-31 23:47:53,828 INFO [STDOUT] at javax.xml.namespace.QName.<init>(QName.java:81) 2005-03-31 23:47:53,828 INFO [STDOUT] at org.apache.axis.message.PrefixedQName.<init>(PrefixedQName.java:30) 2005-03-31 23:47:53,828 INFO [STDOUT] at org.apache.axis.message.MessageElement.copyNode(MessageElement.java:2045) 2005-03-31 23:47:53,828 INFO [STDOUT] at org.apache.axis.message.MessageElement.copyNode(MessageElement.java:1997) 2005-03-31 23:47:53,848 INFO [STDOUT] at org.apache.axis.message.MessageElement.<init>(MessageElement.java:197) 2005-03-31 23:47:53,848 INFO [STDOUT] at org.apache.axis.message.SOAPBodyElement.<init>(SOAPBodyElement.java:70) 2005-03-31 23:47:53,848 INFO [STDOUT] at it.eng.test.client.util.SimpleAxisClient.getDocument(SimpleAxisClient.java:81) 2005-03-31 23:47:53,848 INFO [STDOUT] at it.eng.test.client.Dispatcher.doPost(Dispatcher.java:46) 2005-03-31 23:47:53,848 INFO [STDOUT] at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) 2005-03-31 23:47:53,848 INFO [STDOUT] at javax.servlet.http.HttpServlet.service(HttpServlet.java:810) 2005-03-31 23:47:53,848 INFO [STDOUT] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237) 2005-03-31 23:47:53,848 INFO [STDOUT] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157) 2005-03-31 23:47:53,848 INFO [STDOUT] at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:75) 2005-03-31 23:47:53,848 INFO [STDOUT] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:186) 2005-03-31 23:47:53,848 INFO [STDOUT] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157) 2005-03-31 23:47:53,858 INFO [STDOUT] at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214) 2005-03-31 23:47:53,858 INFO [STDOUT] at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104) 2005-03-31 23:47:53,858 INFO [STDOUT] at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520) 2005-03-31 23:47:53,858 INFO [STDOUT] at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198) 2005-03-31 23:47:53,858 INFO [STDOUT] at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152) 2005-03-31 23:47:53,858 INFO [STDOUT] at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104) 2005-03-31 23:47:53,858 INFO [STDOUT] at org.jboss.web.tomcat.security.CustomPrincipalValve.invoke(CustomPrincipalValve.java:66) 2005-03-31 23:47:53,858 INFO [STDOUT] at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102) 2005-03-31 23:47:53,858 INFO [STDOUT] at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:158) 2005-03-31 23:47:53,858 INFO [STDOUT] at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102) 2005-03-31 23:47:53,939 INFO [STDOUT] at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520) 2005-03-31 23:47:53,939 INFO [STDOUT] at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137) 2005-03-31 23:47:53,939 INFO [STDOUT] at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104) 2005-03-31 23:47:53,949 INFO [STDOUT] at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118) 2005-03-31 23:47:53,949 INFO [STDOUT] at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102) 2005-03-31 23:47:53,959 INFO [STDOUT] at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520) 2005-03-31 23:47:53,959 INFO [STDOUT] at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) 2005-03-31 23:47:53,959 INFO [STDOUT] at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104) 2005-03-31 23:47:53,959 INFO [STDOUT] at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520) 2005-03-31 23:47:53,959 INFO [STDOUT] at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929) 2005-03-31 23:47:53,969 INFO [STDOUT] at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160) 2005-03-31 23:47:53,969 INFO [STDOUT] at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799) 2005-03-31 23:47:53,969 INFO [STDOUT] at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705) 2005-03-31 23:47:53,969 INFO [STDOUT] at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577) 2005-03-31 23:47:53,969 INFO [STDOUT] at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683) 2005-03-31 23:47:53,989 INFO [STDOUT] at java.lang.Thread.run(Thread.java:534) Well the document i pass to the call is this one: <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <ricercaIndividuo> <codiceFiscale>mmdngl74c22h703k</codiceFiscale> </ricercaIndividuo> I have created it from a XSD by using JAXB...... it seems to me that this file is well formed and is a valid XML file.... why have i that error? Thanks to all... ____________________________________________________________ 6X velocizzare la tua navigazione a 56k? 6X Web Accelerator di Libero! Scaricalo su INTERNET GRATIS 6X http://www.libero.it