wood burning stoves 2.0*
The moose likes Web Services and the fly likes help apache axis Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » Web Services
Bookmark "help apache axis" Watch "help apache axis" New topic
Author

help apache axis

Avin Nar
Greenhorn

Joined: Apr 21, 2005
Posts: 4
Hello Guys .....

This is driving me Nuts totally...
I am using Axis client to invoke a remotely hosted web-service at XMethods.
I've been sitting on this problem for the past 10 days .....still no clue
on it....

================================================================================
Here is my classpath setting:

C:\Soap>set
classpath=.;D:\Tomcat\webapps\axis\WEB-INF\lib\axis.jar;D:\Tomcat\we
bapps\axis\WEB-INF\lib\commons-discovery.jar;D:\Tomcat\webapps\axis\WEB-INF\lib\
commons-logging.jar;D:\Tomcat\webapps\axis\WEB-INF\lib\jaxrpc.jar;D:\Tomcat\weba
pps\axis\WEB-INF\lib\saaj.jar;D:\Tomcat\webapps\axis\WEB-INF\lib\log4j-1.2.8.jar
;C:\activation.jar;C:\mail.jar;

================================================================================

Here is my code:

import org.apache.axis.client.Call;
import javax.xml.namespace.QName;
public class TemperatureServiceMain2
{
public static void main(String[] args) throws Exception
{

Call call = new
Call("http://services.xmethods.net:80/soap/servlet/rpcrouter");

// Set the name of the operation to call (from the portType in the WSDL)
// Note that we need to specify the namespace of the operation,
// also gleaned from the WSDL
call.setOperationName(new QName("urn:xmethods-Temperature", "getTemp"));

String zipCode = "19147"; // Zip code for Philadelphia
// Call the Web Service, passing the parameter as an array of Objects
// Similarly, the return value is a plain Object
Object ret = call.invoke(new Object[]{zipCode});

// Cast the return value to the correct type
float temp = ((Float)ret).floatValue();
System.out.println("The temperature at " + zipCode + " is " + temp);
}
}

==================================================================================
Here is what happens when I run the code:
================================================================================
C:\Soap>java TemperatureServiceMain2
log4j:WARN No appenders could be found for logger
(org.apache.axis.i18n.ProjectR
esourceBundle).
log4j:WARN Please initialize the log4j system properly.
Exception in thread "main" AxisFault
faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Client
faultSubcode:
faultString: No Deserializer found to deserialize a
'http://schemas.xmlsoap.org
/soap/encoding/:string' using encoding style
'http://schemas.xmlsoap.org/soap/en
coding/'.
faultActor: /soap/servlet/rpcrouter
faultNode:
faultDetail:
{http://xml.apache.org/axis/}stackTrace:No Deserializer found to
deseria
lize a 'http://schemas.xmlsoap.org/soap/encoding/:string' using encoding
style '
http://schemas.xmlsoap.org/soap/encoding/'.
at
org.apache.axis.message.SOAPFaultBuilder.createFault(SOAPFaultBuilder
.java:221)
at
org.apache.axis.message.SOAPFaultBuilder.endElement(SOAPFaultBuilder.
java:128)
at
org.apache.axis.encoding.DeserializationContext.endElement(Deserializ
ationContext.java:1087)
at org.apache.crimson.parser.Parser2.maybeElement(Unknown Source)
at org.apache.crimson.parser.Parser2.content(Unknown Source)
at org.apache.crimson.parser.Parser2.maybeElement(Unknown Source)
at org.apache.crimson.parser.Parser2.content(Unknown Source)
at org.apache.crimson.parser.Parser2.maybeElement(Unknown Source)
at org.apache.crimson.parser.Parser2.parseInternal(Unknown Source)
at org.apache.crimson.parser.Parser2.parse(Unknown Source)
at org.apache.crimson.parser.XMLReaderImpl.parse(Unknown Source)
at javax.xml.parsers.SAXParser.parse(Unknown Source)
at
org.apache.axis.encoding.DeserializationContext.parse(Deserialization
Context.java:227)
at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:696)
at org.apache.axis.Message.getSOAPEnvelope(Message.java:424)
at
org.apache.axis.transport.http.HTTPSender.readFromSocket(HTTPSender.j
ava:745)
at
org.apache.axis.transport.http.HTTPSender.invoke(HTTPSender.java:141)

at
org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrateg
y.java:32)
at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
at org.apache.axis.client.AxisClient.invoke(AxisClient.java:165)
at org.apache.axis.client.Call.invokeEngine(Call.java:2754)
at org.apache.axis.client.Call.invoke(Call.java:2737)
at org.apache.axis.client.Call.invoke(Call.java:2413)
at org.apache.axis.client.Call.invoke(Call.java:2336)
at org.apache.axis.client.Call.invoke(Call.java:1793)
at TemperatureServiceMain2.main(TemperatureServiceMain2.java:20)

{http://xml.apache.org/axis/}hostname:ISGDNARASIMAXP

No Deserializer found to deserialize a
'http://schemas.xmlsoap.org/soap/encoding
/:string' using encoding style 'http://schemas.xmlsoap.org/soap/encoding/'.
at
org.apache.axis.message.SOAPFaultBuilder.createFault(SOAPFaultBuilder
.java:221)
at
org.apache.axis.message.SOAPFaultBuilder.endElement(SOAPFaultBuilder.
java:128)
at
org.apache.axis.encoding.DeserializationContext.endElement(Deserializ
ationContext.java:1087)
at org.apache.crimson.parser.Parser2.maybeElement(Unknown Source)
at org.apache.crimson.parser.Parser2.content(Unknown Source)
at org.apache.crimson.parser.Parser2.maybeElement(Unknown Source)
at org.apache.crimson.parser.Parser2.content(Unknown Source)
at org.apache.crimson.parser.Parser2.maybeElement(Unknown Source)
at org.apache.crimson.parser.Parser2.parseInternal(Unknown Source)
at org.apache.crimson.parser.Parser2.parse(Unknown Source)
at org.apache.crimson.parser.XMLReaderImpl.parse(Unknown Source)
at javax.xml.parsers.SAXParser.parse(Unknown Source)
at
org.apache.axis.encoding.DeserializationContext.parse(Deserialization
Context.java:227)
at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:696)
at org.apache.axis.Message.getSOAPEnvelope(Message.java:424)
at
org.apache.axis.transport.http.HTTPSender.readFromSocket(HTTPSender.j
ava:745)
at
org.apache.axis.transport.http.HTTPSender.invoke(HTTPSender.java:141)

at
org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrateg
y.java:32)
at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
at org.apache.axis.client.AxisClient.invoke(AxisClient.java:165)
at org.apache.axis.client.Call.invokeEngine(Call.java:2754)
at org.apache.axis.client.Call.invoke(Call.java:2737)
at org.apache.axis.client.Call.invoke(Call.java:2413)
at org.apache.axis.client.Call.invoke(Call.java:2336)
at org.apache.axis.client.Call.invoke(Call.java:1793)
at TemperatureServiceMain2.main(TemperatureServiceMain2.java:20)

C:\Soap>




--
Using Opera's revolutionary e-mail client: http://www.opera.com/m2/
Balaji Loganathan
author and deputy
Bartender

Joined: Jul 13, 2001
Posts: 3150
IMHO, to me its sounds like u r using an older version of axis. IS that so?, have you tried with latest version.


Spritle Software Blogs
Avin Nar
Greenhorn

Joined: Apr 21, 2005
Posts: 4
Hey Dude ...

I am using the Latest version of apache Axis 1.2
Here is what my classpath setting look like :

set classpath=.;C:\mail.jar;C:\activation.jar;C:\Axis\axis-1_2\lib\axis.jar;C:\Axis\axis-1_2\lib\commons-discovery-0.2.jar;C:\Axis\axis-1_2\lib\commons-logging-1.0.4.jar;C:\Axis\axis-1_2\lib\jaxrpc.jar;C:\Axis\axis-1_2\lib\log4j-1.2.8.jar;C:\Axis\axis-1_2\lib\wsdl4j-1.5.1.jar;C:\Axis\axis-1_2\lib\saaj.jar;

ANyone answers ???
Ashutosh Shahi
Ranch Hand

Joined: Feb 06, 2005
Posts: 36
Did u see if the service at xmethods is doc/lit or rpc/encoded? Axis call() method puts rpc/encoded by default, so if the service is doc/lit, u'll have to set style n use to document literal.
-Ashutosh
 
 
subject: help apache axis
 
Similar Threads
Axis Fault java. lang. reflect.Invocation Target Exception
Problem to run Axis Apache with BEA WL 6.1
Null Pointer exception during run client code using Axis 1.4 on weblogic 8.1
NullPointer Exception by apache axis stub at client side
InvocationTargetException when transferring a custom class in inheritance