The Source for Java Technology Collaboration
User: Password:



Start New Message Delete Post a Reply

Article: 
 Contract-First Web Services with Apache Axis2
Subject:  problem running the example code
Date:  2006-10-17 00:43:55
From:  moizghori


Hi, I am trying to run the example code but I am getting the following error when I am running the Client. The web service deployed successfully on Axis2 using XMLBeans databinding. Does anyone know What am I doing wrong?
===============================================================
Cleint Code is following:
CurrencyConverterServiceStub stub = new CurrencyConverterServiceStub();

ConversionRequestDocument.ConversionRequest request = ConversionRequestDocument.ConversionRequest.Factory.newInstance();
//fill up the request object
request.setAmount(100f);
request.setFromCurrency("USD");
request.setToCurrency("SLR");

ConversionRequestDocument reqDoc = ConversionRequestDocument.Factory.newInstance();
reqDoc.setConversionRequest(request);
ConversionResponseDocument response = stub.convert(reqDoc);
System.out.println(" "+ response.getConversionResponse().getAmount());
===============================================================

log4j:WARN No appenders could be found for logger (org.apache.axiom.om.impl.builder.StAXOMBuilder).
log4j:WARN Please initialize the log4j system properly.
org.apache.axis2.AxisFault: Data binding error
at org.apache.axis2.description.OutInAxisOperationClient.execute(OutInAxisOperation.java:287)
at org.apache.axis2.CurrencyConverterServiceStub.convert(CurrencyConverterServiceStub.java:133)
at Client.ConverterClient.main(ConverterClient.java:31)
Caused by: java.lang.Exception: org.apache.axis2.AxisFault: Data binding error; nested exception is:
java.lang.RuntimeException: Data binding error
at org.apache.axis2.AxisFault.makeFault(AxisFault.java:318)
at org.apache.axis2.CurrencyConverterServiceMessageReceiverInOut.invokeBusinessLogic(CurrencyConverterServiceMessageReceiverInOut.java:66)
at org.apache.axis2.receivers.AbstractInOutSyncMessageReceiver.receive(AbstractInOutSyncMessageReceiver.java:37)
at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:454)
at org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:284)
at org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:136)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
at java.lang.Thread.run(Thread.java:534)
Caused by: java.lang.RuntimeException: Data binding error
at org.apache.axis2.CurrencyConverterServiceMessageReceiverInOut.fromOM(CurrencyConverterServiceMessageReceiverInOut.java:146)
at org.apache.axis2.CurrencyConverterServiceMessageReceiverInOut.invokeBusinessLogic(CurrencyConverterServiceMessageReceiverInOut.java:50)
... 30 more
Caused by: java.lang.NullPointerException
at org.apache.xmlbeans.impl.store.Cur$CurLoadContext.attr(Cur.java:3041)
at org.apache.xmlbeans.impl.store.Cur$CurLoadContext.attr(Cur.java:3058)
at org.apache.xmlbeans.impl.store.Locale.doNamespaces(Locale.java:900)
at org.apache.xmlbeans.impl.store.Locale.loadXMLStreamReader(Locale.java:1135)
at org.apache.xmlbeans.impl.store.Locale.parseToXmlObject(Locale.java:843)
at org.apache.xmlbeans.impl.store.Locale.parseToXmlObject(Locale.java:826)
at org.apache.xmlbeans.impl.schema.SchemaTypeLoaderBase.parse(SchemaTypeLoaderBase.java:231)
at com.examplewebservice.www.types.ConversionRequestDocument$Factory.parse(ConversionRequestDocument.java:173)
at org.apache.axis2.CurrencyConverterServiceMessageReceiverInOut.fromOM(CurrencyConverterServiceMessageReceiverInOut.java:136)
... 31 more

at org.apache.axis2.AxisFault.<init>(AxisFault.java:159)
... 3 more
Exception in thread "main"


2) Another point I want to add is when I deployed the service using ADB is working fine for Synchronous Client.
But Asynchronous client callback handler is not getting invoked thus not producing any output on console.

//Async not working NO RESPONCE
CurrencyConverterServiceStub stub =
new CurrencyConverterServiceStub();
ConversionRequest request = new ConversionRequest();

//fill up the request object
request.setAmount(100f);
request.setFromCurrency("USD");
request.setToCurrency("SLR");

//implement the callback
CurrencyConverterServiceCallbackHandler callback = new CurrencyConverterServiceCallbackHandler(null){

public void receiveResultconvert(ConversionResponse param1){
System.out.println("Converted amount is " +param1.getAmount() +" SLR");
}
};

//call the method
stub.startconvert(request,callback);


}




Any Help will be appreciated


Thanks

 Feed java.net RSS Feeds