I am using Spring -WS and have the following Spring -ws-servlet.xml file. Injecting defaultURI and marshaller does not work, because when I get the method in the service client, these properties are null. It happens that setters are called with the correct values, but in the getSum () client method these values ββare zero. What could be wrong?
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xmlns:sws="http://www.springframework.org/schema/web-services" xmlns:oxm="http://www.springframework.org/schema/oxm" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/web-services http://www.springframework.org/schema/web-services/web-services-2.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd http://www.springframework.org/schema/oxm http://www.springframework.org/schema/oxm/spring-oxm-3.0.xsd"> <context:component-scan base-package="com.coral.project.endpoints"/> <sws:annotation-driven /> <sws:dynamic-wsdl id="test" portTypeName="TestCase" locationUri="/testService/" targetNamespace="http://www.example.org/schemasDef/test/definitions"> <sws:xsd location="/WEB-INF/schemasDef/test.xsd"/> </sws:dynamic-wsdl> <bean id="springWSClient" class="com.coral.project.endpoints.SpringWSClient"> <property name="defaultUri" value="http://localhost:8080/parking/springServices/testService"/> <property name="marshaller" ref="marshaller" /> <property name="unmarshaller" ref="marshaller" /> </bean> <oxm:jaxb2-marshaller id="marshaller"> <oxm:class-to-be-bound name="com.coral.project.entity.Street"/> </oxm:jaxb2-marshaller> </beans>
I get an exception:
Exception when calling encodeEnd on a component: {Component-Path: [Class: org.ajax4jsf.component.AjaxViewRoot, ViewId: /appealConversionStatusReport.jsp] [Class: org.apache.myfaces.custom.div.Div, Id: j_id_jsp_14061774 Class: com.exadel.htmLib.components.UITable, Id: j_id_jsp_1406177460_5] [Class: com.exadel.htmLib.components.UITbody, Id: j_id_jsp_1406177460_6] [Class: org.apache.myfaces.component.html.po Id: j_id_jsp_546672833_0]}
Raised: java.lang.IllegalStateException - the marshaller is not registered. Check the configuration of the WebServiceTemplate.
customer:
package com.coral.project.endpoints; import java.io.IOException; import java.io.StringWriter; import javax.inject.Inject; import javax.xml.soap.SOAPException; import javax.xml.transform.TransformerException; import javax.xml.transform.stream.StreamResult; import org.springframework.ws.client.core.support.WebServiceGatewaySupport; import org.springframework.xml.transform.StringSource; import com.coral.project.dao.ifc.StreetDao; import com.coral.project.entity.Street; import com.coral.utils.SpringUtils; public class SpringWSClient extends WebServiceGatewaySupport { public void getSum() throws SOAPException, IOException, TransformerException { StreetDao streetDao = SpringUtils.getBean(StreetDao.class); Street street = streetDao.findById(1); getWebServiceTemplate().marshalSendAndReceive( "http://localhost:8080/parking/springServices/testService",street); } }
source share