AXIS error: There is no SOAP service at this location

前端 未结 5 1657
有刺的猬
有刺的猬 2021-01-18 13:49

Note: I could not find a straight-forward answer to this problem so I will document my solution below as an answer.

I generated the server-side part

5条回答
  •  礼貌的吻别
    2021-01-18 14:02

    The server-config.wsdd was missing a neccessary configuration setting.

    
        
            
        
    
    

    It seems the URLMapper is responsible for extracting the service name from the url, without it axis does not know which service to invoke. This is sort of documented in the axis faq:

    This mechanism works because the HTTP transport in Axis has the URLMapper (org.apache.axis.handlers.http.URLMapper) Handler deployed on the request chain. The URLMapper takes the incoming URL, extracts the last part of it as the service name, and attempts to look up a service by that name in the current EngineConfiguration.

    Similarly you could deploy the HTTPActionHandler to dispatch via the SOAPAction HTTP header. You can also feel free to set the service in your own custom way - for instance, if you have a transport which funnels all messages through a single service, you can just set the service in the MessageContext before your transport calls the AxisEngine

    This makes it sound like the URLMapper would be configued by default which does not seem to be the case.

提交回复
热议问题