Hello again,
i think that i have mtom enable in web service , because log:
Code:
09 jul 2007 13:15:36,965 DEBUG org.springframework.ws.server.endpoint.AbstractMarshallingPayloadEndpoint.marshalResponse(AbstractMarshallingPayloadEndpoint.java:147) Marshalling [javax.xml.bind.JAXBElement@1e9d0cc] to response payload
09 jul 2007 13:15:37,137 ERROR org.springframework.ws.server.endpoint.interceptor.AbstractValidatingInterceptor.handleResponseValidationErrors(AbstractValidatingInterceptor.java:206) XML validation error on response: cvc-type.3.1.2: Element 'ns2:attfake' is a simple type, so it must have no element information item [children].
09 jul 2007 13:15:37,200 DEBUG org.springframework.ws.server.MessageDispatcher.receive(MessageDispatcher.java:164) MessageDispatcher with name 'padron' sends response [------=_Part_0_21630945.1183979737137
Content-Type: application/xop+xml; type="text/xml"; charset=utf-8
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"><SOAP-ENV:Header/><SOAP-ENV:Body><ns2:RespuestaVolante xmlns:ns2="http://www.qindel.com/padron"><ns2:url>http://fedorareg:9080/fedora/get/navreg:38/nav:FopServiceDef/xml2Pdf</ns2:url><ns2:attfake><xop:Include xmlns:xop="http://www.w3.org/2004/08/xop/include" href="cid:f17f47ca-9033-49b9-b3f4-3b95830be82b%40www.qindel.com"/></ns2:attfake></ns2:RespuestaVolante></SOAP-ENV:Body></SOAP-ENV:Envelope>
------=_Part_0_21630945.1183979737137
Content-Type: application/octet-stream
Content-ID: <f17f47ca-9033-49b9-b3f4-3b95830be82b@www.qindel.com>
QUE PASA!!!
------=_Part_0_21630945.1183979737137--] for request [<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"><SOAP-ENV:Header/><SOAP-ENV:Body><ns2:PeticionVolante xmlns:ns2="http://www.qindel.com/padron"><ns2:Documento>50200203N</ns2:Documento></ns2:PeticionVolante></SOAP-ENV:Body></SOAP-ENV:Envelope>]
but my client doesn't work:
Code:
public class PadronMarshallClient extends WebServiceGatewaySupport {
...
JAXBElement response = (JAXBElement)getWebServiceTemplate().marshalSendAndReceive(request);
respuestaVolante = (TipoRespuestaVolante)response.getValue();
byte []attfake = respuestaVolante.getAttfake();
logger.info("attfake: " + new String(attfake));
logger.info("attfake.length(): " + attfake.length);
the others elements of the response has values, but attfake not, is empty.
Code:
<bean id="padronMarshallClient" class="com.qindel.padron.ws.client.PadronMarshallClient">
<property name="defaultUri" value="${padron.ws.url}"/>
<property name="marshaller" ref="jaxbMarshaller"/>
<property name="unmarshaller" ref="jaxbMarshaller"/>
</bean>
<bean id="jaxbMarshaller" class="org.springframework.oxm.jaxb.Jaxb2Marshaller">
<description>
The validating JAXB Marshaller is used by the peticionVolanteMarshallEndpoint to unmarshal XML to objects and
vice-versa.
</description>
<property name="mtomEnabled" value="true"/>
<property name="contextPath" value="com.qindel.padron.ws.xml.jaxb"/>
</bean>
what's wrong with my client configuration?
thank in advance,
César.