Results 1 to 4 of 4

Thread: No adapter for endpoint[..]. Does your endpoint implement ...

  1. #1
    Join Date
    Sep 2006
    Location
    Dubai, UAE
    Posts
    26

    Default No adapter for endpoint[..]. Does your endpoint implement ...

    I am using SoapActionEndpointMapping, with GenericMarshallingMethodEndpointAdapter and Jaxb2Marshaller.

    My end point is

    Code:
    import javax.xml.bind.JAXBElement;
    
    import org.apache.log4j.Logger;
    import org.springframework.ws.server.endpoint.annotation.Endpoint;
    import org.springframework.ws.soap.addressing.server.annotation.Action;
    
    import com.mycompany.Order;
    import com.mycompany.CreateOrder;
    
    @Endpoint
    public class MyActionEndpoint {
    	protected static final Logger log = Logger.getLogger(MyActionEndpoint.class);
    	
    	protected OrderService orderService;
    
    	public MyActionEndpoint(OrderService orderService) {
    		this.orderService = orderService;
    	}
    
    	@Action("http://www.myweb.com/schema/getOrder")
        public JAXBElement<Order> createOrder(JAXBElement<CreateOrder> request) {
        	return orderService.createOrder(request.getValue());
        }
    
    }

    While debugging, I saw that the endpoint is not a MethodEndpoint in the AbstractMethodEndpointAdaptor.supports method.

    I made sure the method argument and the return type of the payload method are JAXBElements. Still I am getting this error. can someone advice on this ?

    Thanks in advance,
    Shameer

  2. #2
    Join Date
    Oct 2008
    Location
    Poland, Wrocław
    Posts
    429

    Default

    Hi

    First - your endpoint's method is annotated with @Action which means WS-Addressing. There is org.springframework.ws.soap.addressing.server.Anno tationActionEndpointMapping for that kind of annotations.

    Second - SoapActionEndpointMapping is map-based endpoint mapping - show your mapping (XML) - maybe there is the bug? Try intercept incoming SOAP messages to check whether there is proper SOAPAction HTTP header (which is examined by your SoapActionEndpointMapping).

    regards
    Grzegorz Grzybek

  3. #3
    Join Date
    Sep 2006
    Location
    Dubai, UAE
    Posts
    26

    Default

    The issue is solved by using SoapActionAnnotationMethodEndpointMapping instead of SoapActionEndpointMapping, with a slight change in the method signature as follows.

    @Action("http://www.myweb.com/schema/getOrder")
    public JAXBElement<Order> createOrder(CreateOrder request) {
    return orderService.createOrder(request.getValue());
    }
    The problem was that, there was not sample which uses this combination. Finally trial and error worked.

    Thanks for you reply, Grzybek.

  4. #4
    Join Date
    Oct 2008
    Location
    Poland, Wrocław
    Posts
    429

    Default

    Hi

    The only strange thing left is why you're using @Action (WS-Addressing) and not @SoapAction (old school web services) annotation?

    regards
    Grzegorz Grzybek

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •