hi,
I'm trying to use spring ws with jaxb2 marshalling/unmarshalling.
I have successfully created a webservice with xml parser, but its not what i need.
I got this exception when I tried to use the service:
Code:
08:53:37,808 ERROR [[spring-ws]] Allocate exception for servlet spring-ws
java.lang.IllegalArgumentException: Resource ServletContext resource [/classpath*:org/springframework/oxm/schema.xsd] does not exist
at org.springframework.util.Assert.isTrue(Assert.java:65)
Here's my xsd file:
Code:
<xs:element name="ServiceManagerActivateRequest">
<xs:complexType>
<xs:all>
<xs:element name="serviceName" type="xs:string" />
<xs:element name="parameters" type="xs:string" />
</xs:all>
</xs:complexType>
</xs:element>
<xs:element name="ServiceManagerIsActiveRequest">
<xs:complexType>
<xs:all>
<xs:element name="serviceName" type="xs:string" />
<xs:element name="parameters" type="xs:string" />
</xs:all>
</xs:complexType>
</xs:element>
<xs:element name="ServiceManagerDeactivateRequest">
<xs:complexType>
<xs:all>
<xs:element name="serviceName" type="xs:string" />
<xs:element name="parameters" type="xs:string" />
</xs:all>
</xs:complexType>
</xs:element>
appContext file:
Code:
<bean id="serviceManagerEndPoint"
class="br.ctbc.azzu.accounter.ws.ServiceManagerEndPoint">
<constructor-arg ref="marshaller" />
</bean>
<bean
class="org.springframework.ws.server.endpoint.mapping.PayloadRootQNameEndpointMapping">
<property name="mappings">
<props>
<prop
key="{<schema>}ServiceManagerActivateRequest">
serviceManagerEndPoint
</prop>
<prop
key="{<schema>}ServiceManagerIsActiveRequest">
serviceManagerEndPoint
</prop>
<prop
key="{<schema>}ServiceManagerDeactivateRequest">
serviceManagerEndPoint
</prop>
</props>
</property>
<property name="interceptors">
<bean
class="org.springframework.ws.server.endpoint.interceptor.PayloadLoggingInterceptor" />
</property>
</bean>
<bean id="marshaller"
class="org.springframework.oxm.jaxb.Jaxb2Marshaller">
<property name="classesToBeBound">
<list>
<value>
br.ctbc.azzu.accounter.ws.pojo.ServiceRequest
</value>
</list>
</property>
<property name="schema" value="classpath*:org/springframework/oxm/schema.xsd" />
</bean>
<bean id="manager"
class="org.springframework.ws.wsdl.wsdl11.DefaultWsdl11Definition">
<property name="schema" ref="schema" />
<property name="portTypeName" value="HumanResource" />
<property name="locationUri"
value="<serviceAddress>" />
<property name="targetNamespace"
value="<schema>/hr/definitions" />
</bean>
<bean id="schema"
class="org.springframework.xml.xsd.SimpleXsdSchema">
<property name="xsd" value="/WEB-INF/hr.xsd" />
</bean>
</beans>
Any help would be great.
thanks,
Andre