Announcement Announcement Module
No announcement yet.
JiBX and No adapter for endpoint Page Title Module
Move Remove Collapse
Conversation Detail Module
  • Filter
  • Time
  • Show
Clear All
new posts

  • JiBX and No adapter for endpoint


    I am trying to get a web service to work using JiBX as the OXM. I started with the tutorial from which uses Castor as the OXM. I can generate and bind the Java classes based on the supplied schema. However, when I try to invoke the web service I get the following SOAP fault

    <SOAP-ENV:Envelope xmlns:SOAP-ENV="">
             <faultstring xml:lang="en">No adapter for endpoint [public org.krams.tutorial.oxm.SubscriptionResponse org.krams.tutorial.endpoint.SubscriptionEndpoint.processSubscription(org.krams.tutorial.oxm.SubscriptionRequest)]: Is your endpoint annotated with @Endpoint, or does it implement a supported interface like MessageHandler or PayloadEndpoint?</faultstring>
    Here is the web service configuration:
    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="" 
            This web application context contains Spring-WS beans. The beans defined in this context are automatically
            detected by Spring-WS, similar to the way Controllers are picked up in Spring Web MVC.
    		We have two important URLa: 
    		WSDL: http://localhost:8080/{projectName}/{root-path}/{bean-name}.wsdl 
    		Example: http://localhost:8080/spring-ws-standalone/krams/subscription.wsdl
    		Endpoint: http://localhost:8080/{projectName}/{root-path}
    		Example: http://localhost:8080/spring-ws-standalone/krams
    		These urls are based on the root path declared in the web.xml and in the SimpleUrlHandlerMapping
     	<!-- Uses the latest feature from 2.0.0 RC2. 
    	 	Enables @Endpoint and related Spring-WS annotations. See Spring WS Reference 5.4-->
    	 <sws:annotation-driven />
    	 <!-- Uses the latest feature from 2.0.0 RC2. 
    	 	Enables interceptor endpoints. See Spring WS Reference 5.5.2
    	 	Here we have an interceptor that validates XML request and a logger
    	 	    <bean id="validatingInterceptor"  class=""
    		    <bean id="loggingInterceptor" class=""/>
    	<!-- Uses the latest feature from 2.0.0 RC2. 
    	 	Enables publishing of wsdl. See Spring WS Reference 3.7
    	 	For dynamic location transformation to work, a special parameter must be added to the web.xml.
            <sws:dynamic-wsdl id="subscription"                                                           
    	  <sws:xsd location="/WEB-INF/subscription.xsd"/>                                                  
    <!-- JiBX -->
            <oxm:jibx-marshaller id="marshaller" target-class=""/>
            <oxm:jibx-marshaller id="unmarshaller" target-class=""/>
    	<bean id="marshallingPayloadMethodProcessor" class="">
    		<constructor-arg ref="marshaller"/>
    		<constructor-arg ref="unmarshaller"/>
    	<!--  Our mashaller. You can use any marshaller you want.
    	 For info on how to use Castor, see -->
    <!-- Castor
    	<bean id="castorMarshaller" class="org.springframework.oxm.castor.CastorMarshaller"
        	p:mappingLocation="/WEB-INF/castor-mapping.xml" />
     	<!-- Normally we use the GenericMarshallingMethodEndpointAdapter however if you read the Spring WS 2.0 API for this adapter:
     	 "Deprecated. as of Spring Web Services 2.0, in favor of DefaultMethodEndpointAdapter and MarshallingPayloadMethodProcessor."
     	 So we have to implement using the recommended implementation. The advantage of these two classes is that
     	 we have a pluggable adapter. For more info, check the Spring WS 2.0 API and its source code.
    <!-- Castor
    	<bean id="marshallingPayloadMethodProcessor" class="">
    		<constructor-arg ref="castorMarshaller"/>
    		<constructor-arg ref="castorMarshaller"/>
    	<bean id="defaultMethodEndpointAdapter" class="">
    		<property name="methodArgumentResolvers">
    				<ref bean="marshallingPayloadMethodProcessor"/>
    		<property name="methodReturnValueHandlers">
    				<ref bean="marshallingPayloadMethodProcessor"/>
    I currently have the Castor marshallers commented out. If I put them back in - all is good. Can anyone point me in a direction for getting the JiBX marshallers wired up correctly? As a side note, for the final solution, I will need to have multiple JiBX marshallers configured.

  • #2
    Has anybody else found a solution to this?