Announcement Announcement Module
Collapse
No announcement yet.
No adapter for endpoint - when reusing type in xsd Page Title Module
Move Remove Collapse
X
Conversation Detail Module
Collapse
  • Filter
  • Time
  • Show
Clear All
new posts

  • No adapter for endpoint - when reusing type in xsd

    Hi,
    I receive the following exception

    Code:
    14 Jan 2010 14:44:46.567 DEBUG [http-8080-1] (MessageDispatcher.java:313) - Endpoint invocation resulted in exception - responding with Fault
    java.lang.IllegalStateException: No adapter for endpoint [public void com.FooEndPoint.bar(com.jaxb.ComplexType)]: Does your endpoint implement a supported interface like MessageHandler or PayloadEndpoint?
    	at org.springframework.ws.server.MessageDispatcher.getEndpointAdapter(MessageDispatcher.java:279)
    	at org.springframework.ws.server.MessageDispatcher.dispatch(MessageDispatcher.java:220)
    	at org.springframework.ws.server.MessageDispatcher.receive(MessageDispatcher.java:168)

    I use JAXB2 marshaller and my xsd looks like:

    Code:
    <?xml version="1.0"?>
    <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
    	targetNamespace="http://com.foo/serverWar/foo"
    	xmlns:sm="http://com.foo/serverWar/foo"
    	xmlns="http://www.w3schools.com" elementFormDefault="qualified">
    	<xs:element name="BarRequest" type="sm:ComplexType"/>
    	
    	<xs:complexType name="ComplexType">
    		<xs:all>
    			<xs:element name="isOK" type="xs:boolean" />
    		</xs:all>
    	</xs:complexType>
    	
    </xs:schema>
    note the usage of 'type' attribute in the request element.

    If I avoid using type ,and create the request type inlined , as in
    Code:
    <?xml version="1.0"?>
    <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
    	targetNamespace="http://com.foo/serverWar/foo"
    	xmlns:sm="http://com.foo/serverWar/foo"
    	xmlns="http://www.w3schools.com" elementFormDefault="qualified">
    	<xs:element name="BarRequest">
    		<xs:complexType>
    		<xs:all>
    			<xs:element name="isOK" type="xs:boolean" />
    		</xs:all>
    		</xs:complexType>
    	</xs:element>
    </xs:schema>
    everything works OK. ( but then I cannot utilize XSD reuse of types)

    Also note that I did double check the xjc generated classes are the correct version.

    Any ideas? ( I am using spring-ws 1.5.8, @Endpoint and @Payload annotations and using org.springframework.ws.server.endpoint.adapter.Gen ericMarshallingMethodEndpointAdapter and org.springframework.ws.server.endpoint.adapter.XPa thParamAnnotationMethodEndpointAdapter )

    thanks,

    Alon
Working...
X