相关疑难解决方法(0)

在CXF +简单前端+ Aegis数据绑定中,SOAP响应错误地反序列化为null

我正在为SOAP Web服务编写客户端.我正在使用CXF库.随着简单的前端.和宙斯盾数据绑定.服务器为Web方法提供Java接口(名为MediaService),然后在客户端项目中导入该接口.然后,我使用MediaService.aegis.xml文件来提供方法参数的名称(这些名称不能在命名时和序列化请求时).

这是我在客户端上使用的代码:

ClientProxyFactoryBean factory = new ClientProxyFactoryBean();
factory.setDataBinding(new AegisDatabinding());
factory.setServiceClass(MediaService.class);
factory.setAddress(urlMediaServer);
MediaService service = (MediaService) factory.create();
final List<Reference> listeReferences = service.sendMedia(bu, media);
Run Code Online (Sandbox Code Playgroud)

服务接口是这样的:

public interface MediaService
{
    public List sendMedia(String bu, Media media) throws Exception;
}
Run Code Online (Sandbox Code Playgroud)

我已启用XML流日志记录,以便我看到发送到服务器的XML流以及它返回的流.

以下是流:

请求:

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    <soap:Body>
        <ns1:sendMedia xmlns:ns1="http://service.soclemedia.mycompany.com/">
            <ns1:bu>sc_phx</ns1:bu>
            <ns1:media>
                <ns2:productId xmlns:ns2="http://bo.soclemedia.mycompany.com">TEST_CODE</ns2:productId>
                <ns2:mediaName xmlns:ns2="http://bo.soclemedia.mycompany.com">test.png</ns2:mediaName>
            </ns1:media>
        </ns1:sendMedia>
    </soap:Body>
</soap:Envelope>
Run Code Online (Sandbox Code Playgroud)

响应:

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <soap:Body>
        <sendMediaResponse xmlns="http://service.soclemedia.mycompany.com">
            <out xmlns="http://service.soclemedia.mycompany.com">
                <ns1:Reference xmlns:ns1="http://bo.soclemedia.mycompany.com">
                    <subType xmlns="http://bo.soclemedia.mycompany.com">standard</subType>
                    <typeMedia xmlns="http://bo.soclemedia.mycompany.com">photo</typeMedia>
                </ns1:Reference>
                <ns1:Reference xmlns:ns1="http://bo.soclemedia.mycompany.com">
                    <subType xmlns="http://bo.soclemedia.mycompany.com">standard</subType>
                    <typeMedia xmlns="http://bo.soclemedia.mycompany.com">photo</typeMedia>
                </ns1:Reference>
            </out> …
Run Code Online (Sandbox Code Playgroud)

java soap cxf aegis

15
推荐指数
1
解决办法
2773
查看次数

标签 统计

aegis ×1

cxf ×1

java ×1

soap ×1