项目中用到了httpinvoker和webservice
在web.xml配置中如下 <context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
/WEB-INF/applicationContext*.xml
/WEB-INF/remote-servlet.xml
/WEB-INF/xfire-servlet.xml
</param-value>
</context-param>
<!--配置remote(httpinvoker) -->
        <servlet>
<servlet-name>remote</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>remote</servlet-name>
<url-pattern>/remoting/*</url-pattern>
</servlet-mapping><!--配置xfire(webservice) -->
<servlet>
<servlet-name>xfire</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
</servlet>
<servlet-mapping> 
       <servlet-name>xfire</servlet-name>
       <url-pattern>*.ws</url-pattern>
    </servlet-mapping>
    <!--        配合Spring容器中XFire一起工作的Servlet -->
 <servlet>
       <servlet-name>xfireServlet</servlet-name>
       <servlet-class>org.codehaus.xfire.spring.XFireSpringServlet</servlet-class>
    </servlet>
    <servlet-mapping>
       <servlet-name>xfireServlet</servlet-name>
       <url-pattern>/services/*</url-pattern>
    </servlet-mapping>现在可以看到webservice接口,但是无法通过httpinvoker调用远程接口警告如下:
 WARN [http-8080-1] (org.springframework.web.servlet.DispatcherServlet:1063) - N
o mapping for [/exchgsvr/remoting/remoteService] in DispatcherServlet with name
'remote'如果注释/WEB-INF/xfire-servlet.xml,则可以使用httpinvoker调用远程接口,但是无法使用webservice
请问要如何解决?如果我描述的不详细,我再补充

解决方案 »

  1.   

    我觉得问题可能出在<context-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>
                /WEB-INF/applicationContext*.xml
                /WEB-INF/remote-servlet.xml
                /WEB-INF/xfire-servlet.xml
            </param-value>
        </context-param>这里的xfire-servlet.xml和remote-servlet.xml没有都加载,只加载了xfire-servlet.xml,请问这是为什么呢?
      

  2.   

     你给spring那个remote指定一个配置文件看看,可能是少了spring mvc对应的那个配置文件。你没有指定而已。
      

  3.   

    根据你的建议,我添加了如下配置 <servlet>
    <servlet-name>remote</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <init-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>/WEB-INF/remote-servlet.xml</param-value>
    </init-param>
    </servlet>结果还是无法调用httpinvoker,并没有加载remote-servlet.xml配置。
    我想是不是在web.xml配置了两个dispatcherservlet,系统只能加载其中一个?
      

  4.   

    他支持多个dispatcherServlet的。不知道是不是那个httpinvoker整合的时候是不是有错误了。