[Java-Tomcat-Axis2] Problema eccezione URI su Web Service

Linguaggi di programmazione: php, perl, python, C, bash e tutti gli altri.
eni992
Prode Principiante
Messaggi: 5
Iscrizione: lunedì 28 aprile 2014, 19:24
Desktop: ubuntu
Distribuzione: Ubuntu 14.04 LTS x86_64

[Java-Tomcat-Axis2] Problema eccezione URI su Web Service

Messaggio da eni992 »

Salve, ho un piccolo problema con un web-service scritto per Axis2 in Java, in pratica ricevo una eccezione e non riesco a venirne a capo, :muro: in pratica devo sviluppare un web-service che prenda dati da un db (simulato da un file XML a scopo di testing) e che mi dia come risultato se l'effettivo elemento è presente o meno (ovviamente a scopo di test anche questo, vi saranno più funzioni).
Di seguito posto codice e log dell'eccezione:


web service:

[code2=java]import java.io.IOException;

import javax.servlet.ServletContext;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;

import org.apache.axis2.context.MessageContext;
import org.apache.axis2.transport.http.HTTPConstants;
import org.w3c.dom.Document;
import org.xml.sax.SAXException;

public class ProductWebServer {

private String path="ProductWebServer/products.xml";

public String doCheck(String sku,int quant){
MessageContext msgContext = MessageContext.getCurrentMessageContext();
ServletContext servletContext = (ServletContext)msgContext.getProperty(HTTPConstants.MC_HTTP_SERVLETCONTEXT);
String absolutePath = servletContext.getRealPath(path);

DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
factory.setNamespaceAware(true);
try {
DocumentBuilder builder = factory.newDocumentBuilder();

Document doc = builder.parse(absolutePath);

ProductDB pdb=new ProductDB(doc);

if(pdb.productBySku(sku)!=null){
return "true";
}else{
return "false";
}
} catch (SAXException | IOException e) {
return "errore sax o io";
} catch (ParserConfigurationException e) {
return "errore parsing";
}

}
}[/code2]


Client:

[code2=java]import java.util.Scanner;

import javax.xml.namespace.QName;

import org.apache.axis2.AxisFault;
import org.apache.axis2.Constants;
import org.apache.axis2.addressing.EndpointReference;
import org.apache.axis2.client.Options;
import org.apache.axis2.rpc.client.RPCServiceClient;
import org.apache.axis2.util.OptionsParser;

public class ClientRPC {

public static void main(String[] args) {
Scanner s=new Scanner(System.in);

try {
doCheck(s.nextLine(),5);
} catch (AxisFault e) {
e.printStackTrace();
}
}


private static boolean doCheck(String sku, int quantity) throws AxisFault {
RPCServiceClient serviceClient = new RPCServiceClient();
Options opt = serviceClient.getOptions();

EndpointReference endpointRef = new
EndpointReference("http://localhost:8080/axis2/services/ProductWebServer");


opt.setTo(endpointRef);

opt.setSoapVersionURI(Constants.URI_SOAP12_ENV);

QName opName = new QName("http://carmine.unisa.it","doCheck");

Object[] opArgs = new Object[]{sku, quantity};

Class[] returnTypes = new Class[]{ Boolean.class };


Object[] returnValues = serviceClient.invokeBlocking(opName, opArgs, returnTypes);

return (Boolean)returnValues[0];
}
}[/code2]


Log dell'eccezione ritornata:


[code2=java]Codice Prodotto da cercare: ST999

log4j:WARN No appenders could be found for logger (org.apache.axis2.context.AbstractContext).
log4j:WARN Please initialize the log4j system properly.
org.apache.axis2.AxisFault: URI cannot be null
at org.apache.axis2.util.Utils.getInboundFaultFromMessageContext(Utils.java:531)
at org.apache.axis2.description.OutInAxisOperationClient.handleResponse(OutInAxisOperation.java:375)
at org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:421)
at org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:229)
at org.apache.axis2.client.OperationClient.execute(OperationClient.java:165)
at org.apache.axis2.client.ServiceClient.sendReceive(ServiceClient.java:555)
at org.apache.axis2.client.ServiceClient.sendReceive(ServiceClient.java:531)
at org.apache.axis2.rpc.client.RPCServiceClient.invokeBlocking(RPCServiceClient.java:102)
at it.unisa.carmine.client.ClientRPC.doCheck(ClientRPC.java:48)
at it.unisa.carmine.client.ClientRPC.main(ClientRPC.java:22)[/code2]


grazie anticipato a chi avrà la pazienza di darmi una mano :/
eni992
Prode Principiante
Messaggi: 5
Iscrizione: lunedì 28 aprile 2014, 19:24
Desktop: ubuntu
Distribuzione: Ubuntu 14.04 LTS x86_64

Re: [Java-Tomcat-Axis2] Problema eccezione URI su Web Servic

Messaggio da eni992 »

up :cry:
Scrivi risposta

Ritorna a “Programmazione”

Chi c’è in linea

Visualizzano questa sezione: 0 utenti iscritti e 2 ospiti