spring ws-如何放置cdata

zed5wv10  于 2021-07-14  发布在  Java
关注(0)|答案(0)|浏览(305)

我正在创建一个springws项目,它将数据发送到soapwebservice并记录其响应。
我首先创建了以下两个类:`
客户端

public class SaveRecordClient extends WebServiceGatewaySupport {

    public SaveRecordResponse sendMatReq() {

        String dataServerName = "movimento";
        String xml = "";
        String contexto = "codact=23;codmain='YSD'";

        JAXBElement<String> dSName = new JAXBElement<String>(QName.valueOf("xml"), String.class, xml);
        JAXBElement<String> conteudo = new JAXBElement<String>(QName.valueOf("dataServerName"), String.class, dataServerName);
        JAXBElement<String> context = new JAXBElement<String>(QName.valueOf("context"), String.class, contexto);

        SaveRecord request = new SaveRecord();

        request.setContexto(context);
        request.setDataServerName(dSName);
        request.setXML(conteudo);

        SaveRecordResponse response = (SaveRecordResponse) getWebServiceTemplate()
            .marshalSendAndReceive(request);

        return response;

    }

}

客户端配置

@Configuration
public class SaveRecordConfig {

    @Bean
    public Jaxb2Marshaller marshaller() {
        Jaxb2Marshaller marshaller = new Jaxb2Marshaller();
        marshaller.setContextPath("com.mycompany.myproject.wsdl");
        return marshaller;
    }

    @Bean
    public SaveRecordClient countryClient(Jaxb2Marshaller marshaller) {
        SaveRecordClient client = new SaveRecordClient();
        client.setDefaultUri("http://address-from-soap-address-property-in-wsdl");
        client.setMarshaller(marshaller);
        client.setUnmarshaller(marshaller);
        return client;
    }

}

在“xml”字符串变量中,我必须 <![CDATA[ 满足于它。
此内容必须是另一个具有以下结构的xml:

<DATA>
    <DATACONTENT>
        <DATA-PROPERTY1></DATA-PROPERTY1>
        <DATA-PROPERTY2></DATA-PROPERTY2>

        <DATA-OBJECT>
            <DATA-OBJECT-PROP-1></DATA-OBJECT-PROP-1>
            <DATA-OBJECT-PROP-2></DATA-OBJECT-PROP-2>
            <DATA-OBJECT-PROP-3></DATA-OBJECT-PROP-3>
        </DATA-OBJECT>

        <DATA-OBJECT>
            <DATA-OBJECT-PROP-1></DATA-OBJECT-PROP-1>
            <DATA-OBJECT-PROP-2></DATA-OBJECT-PROP-2>
            <DATA-OBJECT-PROP-3></DATA-OBJECT-PROP-3>
        </DATA-OBJECT>
    </DATACONTENT>
</DATA>

我的问题是:
如何将一个@entity类转换为上面的xml结构?一个dto类做这个工作吗?有没有什么 Spring 医生能解释怎么做?
我应该遵循哪些步骤来将<[cdata[?有什么我能读懂的东西知道怎么做吗?
抱歉,我来自使用json的restfulapi,我发现使用soapwebservices太难了

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题