我主要想确定http://localhost:8080/axis2/services/Hello?wsdl
中的services在什么地方可以修改。主方法生成的wsdl
public class Hello { public  String hello(String s){

return "hello  " + s;
}
}
然后我在web.xml中配置
<servlet-mapping>
        <servlet-name>AxisServlet</servlet-name>
        <url-pattern>/ws/*</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
        <servlet-name>AxisServlet</servlet-name>
        <url-pattern>/services/*</url-pattern>
    </servlet-mapping>然后在http://localhost:8080/axis2/ws/Hello/hello?s=3出现The service cannot be found for the endpoint reference (EPR)异常但是改成http://localhost:8080/axis2/services/Hello/hello?s=3后就能 正常访问。我也尝试把axis2中services包换成ws,wsdl中的services路径都是改成ws,但都不能正常访问。
在只给出java类生成 的wsdl的前提下,其他东西都没有。1.请教这个services在什么地方配置可以修改成其他名字,想修改了也可以访问。2。在一个服务器中中放入两个axis服务,但这两个服务的方法名相同。该如何办。

解决方案 »

  1.   

    问题貌似有点难得去看。我现在简化下,在这个http://localhost:8080/ems/services/Hello/hello?s=zhang我想知道services怎么出来的,系统默认的东西。可以改不。改了能够访问不,他主要与哪个地方有关联。谢谢~~
      

  2.   

    services是你打开axis2的页面后,看到有个service,点击进去,就看到你发布的所有服务了,一般这里有个serviceList,当点击服务名称,显示wsdl的时候,是路径http://localhost:8080/ems/services/Hello/hello?s=zhang
    了。。是否可以修改就不清楚了可以试试把axis2路径下存放服务的service文件夹名改一下,看可以不。。没试过,呵呵
      

  3.   

    2楼的说了,我想也是差不多那个意思吧。这跟我们平常的项目原理是一样的,你就用services目录来存放你的代码,访问的路径中包含这个的自然也非要叫services了,我们的能够修改,我想这个axis2的也是能修改的吧,只要你改了访问的时候能够找到对应的目录就行,这个没有试过。
    至于你说的方法名字相同的问题,服务名不同就可以区分出来。
    给你一份自己做的联系的services.xml文件<?xml version="1.0" encoding="UTF-8"?>
    <serviceGroup>
    <!-- service name name属性名就是URL中"?"和"/"之间的部分 -->
    <service name="myService">
    <!-- 当前Web Service的描述-->
    <description>
    Web Service Demo
    </description>
    <!-- 设置WebService的参数  -->
    <parameter name="ServiceClass">
    net.lzt.service.MyService
    </parameter>
    <!-- 设置处理WebService方法的处理器 -->
    <messageReceivers>
    <!-- 有返回值 -->
    <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-out"
                class="org.apache.axis2.rpc.receivers.RPCMessageReceiver" />
    <!-- 没有返回值 -->
        <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-only"
                class="org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver" />
    </messageReceivers>
    </service>
    <service name="secondService">
    <discription>
    Web Service Demo2
    </discription>
    <parameter name="ServiceClass">
    service.SecondService
    </parameter>
    <messageReceivers>
    <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-out"
                class="org.apache.axis2.rpc.receivers.RPCMessageReceiver" />
        <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-only"
                class="org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver" />
    </messageReceivers>
    </service>
    <service name="fileService">
    <description> Web Service Demo3</description>
    <parameter name="ServiceClass">service.FileService</parameter>
    <messageReceivers>
    <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-out"
                class="org.apache.axis2.rpc.receivers.RPCMessageReceiver" />
        <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-only"
                class="org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver" />
    </messageReceivers>
    </service>
    <service name="loginService" scope="transportsession">
    <description>登录</description>
    <parameter name="ServiceClass">service.LoginService</parameter>
    <messageReceivers>
    <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-out"
                class="org.apache.axis2.rpc.receivers.RPCMessageReceiver" />
        <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-only"
                class="org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver" />
    </messageReceivers>
    </service>
    </serviceGroup>