日期:2014-05-17  浏览次数:20739 次

Axis2发布WebService服务,默认提示页面和调用服务不用指定命名空间的问题
我使用Axis2发布了一个WebService服务,但是有两个问题: 

1、我使用浏览器访问 http://localhost:8080/services/demo 地址,会出错,而使用http://localhost:8080/services/demo?wsdl 访问,可以出来WSDL的信息,写程序调用 http://localhost:8080/services/demo 也能正常调用,但是为什么别人发布的服务,直接访问  http://localhost:8080/services/demo 地址,能出来一个有WSDL链接的欢迎界面? 

2、我发布出去的WebService,在使用代码调用方法的时候,必须要指定targetNamespace参数,而我调用别人发布的WebService,却不需要指定也可以调用,应该要怎么设置? 

以上两个问题,困扰我好几天了,请高人给予指点,谢谢! 




希望大家给个指点啊

------解决方案--------------------
1、我使用浏览器访问 http://localhost:8080/services/demo 地址,会出错,而使用http://localhost:8080/services/demo?wsdl 访问,可以出来WSDL的信息,写程序调用 http://localhost:8080/services/demo 也能正常调用,但是为什么别人发布的服务,直接访问  http://localhost:8080/services/demo 地址,能出来一个有WSDL链接的欢迎界面?

========

访问一个url只是表象。后台的逻辑你不一定知道。比如访问/demo这后面可能有请求过滤转发或者伪静态等。具体这些你可以去搜一下,这里不展开说了

第二个不懂
------解决方案--------------------
targetNamespace 有可能别人没有启 targetNamespace的名字吧。
------解决方案--------------------
如果webservice  需要Namespace 就加上/