关于JAVA调用axis客户端爆出org.apache.axis2.AxisFault: Namespace URI may not be nul问题

jhonkyhe2010 2013-08-23 10:59:50
求教。正在写一个webservice服务,但是,客户端始终提示URI may not be null
下面是我的service.xml文件
<?xml version="1.0" encoding="UTF-8"?>
<service name="ServiceOne">
<!-- 通过ServiceObjectSupplier参数指定SpringServletContextObjectSupplier类来获得Spring的ApplicationContext对象 -->
<parameter name="ServiceObjectSupplier">
org.apache.axis2.extensions.spring.receivers.SpringAppContextAwareObjectSupplier
</parameter>

<parameter name="SpringBeanName">outSideLogin</parameter>

<operation name="Test">
<messageReceiver class="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/>
</operation>
</service>

客户端的方法


public static void main(String[] args) throws AxisFault{
RPCServiceClient serviceClient=new RPCServiceClient();
Options options=serviceClient.getOptions();
EndpointReference targetEPR=new EndpointReference("http://localhost:8080/SmartOne/services/ServiceOne");
options.setTo(targetEPR);
Object[] requestParam = new Object[] {"测试"};
Class[] responseParam = new Class[] {String.class};
QName requestMethod = new QName("http://impl.service.admin.smartone.dcits.com","Test");
try{
serviceClient.invokeBlocking(requestMethod, requestParam, responseParam);
}catch(Exception e){
e.printStackTrace();
}
}

其中,这个http://impl.service.admin.smartone.dcits.com是和WDSL文档中的
targetNamespace="http://impl.service.admin.smartone.dcits.com"命名空间一致的。但是,还是报错。
...全文
1287 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
maetaryuji 2014-03-31
  • 打赏
  • 举报
回复
我倒是碰到一个问题,方法不传参数则没问题,一传参数则报URI may not be null,调试好久配置不解决,后来发现是本机是linux内核的操作系统原因,在resin中重新指定了一下XML解释器就搞定了。 <system-property javax.xml.parsers.DocumentBuilderFactory ="com.caucho.xml.parsers.XmlDocumentBuilderFactory"/> <system-property javax.xml.parsers.SAXParserFactory ="com.caucho.xml.parsers.XmlSAXParserFactory"/>
lancijk2 2014-02-14
  • 打赏
  • 举报
回复
hi,楼主这个问题解决了吗? 悲剧了. 只是迁移了下. 代码都是一样的也出现了这个问题.. 悲剧啊.
jiangdaxian2003 2013-09-16
  • 打赏
  • 举报
回复
LZ你这个应Spring + axis2的配置吧,把 <operation name="Test"> <messageReceiver class="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/> </operation> 改成 <messageReceivers> <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-only" class="org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver" /> <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-out" class="org.apache.axis2.rpc.receivers.RPCMessageReceiver" /> </messageReceivers> <parameter name="ServiceClass">具体类(outSideLogin类)</parameter> Test方法不需要写在service.xml上,在QName 写就可以了
blogzlh 2013-09-16
  • 打赏
  • 举报
回复
求解决方法,楼主解决没?
  • 打赏
  • 举报
回复
我也遇到这个问题了 我还遇到那个不能invoke

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧