您的位置:程序门 -> java -> j2ee / ejb / jms



axis的server.userexception,刚学就受这么大的打击!


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


axis的server.userexception,刚学就受这么大的打击!
发表于:2007-05-21 16:46:14 楼主
服务端:
-------------------
helloworld.java

public   class   helloworld   {
public   string   sayhello()
{
return   "hello   world! ";
}
}

改名为helloworld.jws,放到tomcat目录里。
用ie访问http://127.0.0.1:8080/axis/helloworld.jws?wsdl
可以看到xml文档。

客户端:
-----------------------
import   org.apache.axis.client.call;
import   org.apache.axis.client.service;

import   javax.xml.rpc.parametermode;

public   class   testclient   {
public   static   void   main(string[]   args)   throws   exception   {

string   endpoint   =   "http://127.0.0.1:8080/axis/helloworld.jws ";//   指明服务所在位置

service   service   =   new   service();   //   创建一个service实例,注意是必须的!
call   call   =   (call)   service.createcall();//   创建call实例,也是必须的!

call.settargetendpointaddress(new   java.net.url(endpoint));//   为call设置服务的位置

system.out.println(endpoint);//这里可以输出

//call.setoperationname( "sayhello ");//   注意方法名与helloworld.java中一样!!

string   res   =   (string)call.invoke( "sayhello ",new   object[]   {});//   返回string,没有传入参数

system.out.println(res);
}
}

错误:
-------------------
exception   in   thread   "main "   axisfault
faultcode:   {http://schemas.xmlsoap.org/soap/envelope/}server.userexception
faultsubcode:
faultstring:   java.lang.nullpointerexception
faultactor:
faultnode:
faultdetail:
{http://xml.apache.org/axis/}stacktrace:   java.lang.nullpointerexception
at   java.util.hashtable.put(hashtable.java:396)
at   com.sun.org.apache.xerces.internal.jaxp.saxparserimpl.setproperty(saxparserimpl.java:395)
at   org.apache.axis.encoding.deserializationcontextimpl.parse(deserializationcontextimpl.java:246)
at   org.apache.axis.soappart.getassoapenvelope(soappart.java:538)
at   org.apache.axis.message.getsoapenvelope(message.java:377)
at   org.apache.axis.client.call.invokeengine(call.java:2545)
at   org.apache.axis.client.call.invoke(call.java:2515)
at   org.apache.axis.client.call.invoke(call.java:2210)
at   org.apache.axis.client.call.invoke(call.java:2133)
at   org.apache.axis.client.call.invoke(call.java:2158)
at   testclient.main(testclient.java:20)


java.lang.nullpointerexception
at   org.apache.axis.axisfault.makefault(axisfault.java:129)
at   org.apache.axis.client.call.invoke(call.java:2213)
at   org.apache.axis.client.call.invoke(call.java:2133)
at   org.apache.axis.client.call.invoke(call.java:2158)
at   testclient.main(testclient.java:20)
caused   by:   java.lang.nullpointerexception
at   java.util.hashtable.put(hashtable.java:396)
at   com.sun.org.apache.xerces.internal.jaxp.saxparserimpl.setproperty(saxparserimpl.java:395)
at   org.apache.axis.encoding.deserializationcontextimpl.parse(deserializationcontextimpl.java:246)
at   org.apache.axis.soappart.getassoapenvelope(soappart.java:538)
at   org.apache.axis.message.getsoapenvelope(message.java:377)
at   org.apache.axis.client.call.invokeengine(call.java:2545)
at   org.apache.axis.client.call.invoke(call.java:2515)
at   org.apache.axis.client.call.invoke(call.java:2210)
...   3   more
发表于:2007-05-21 16:49:561楼 得分:0
该回复于2007-12-28 11:51:53被管理员或版主删除
发表于:2007-05-21 17:32:452楼 得分:0
ie   http://127.0.0.1:8080/axis/helloworld.jws?method=helloworld
可以得到正确的结果,服务端也有正确的输出。
为什么客户端就出错呢?


快速检索

最新资讯
热门点击