【问题标题】:How to conevrt soap xml to custom obect如何将soap xml转换为自定义对象
【发布时间】:2018-05-08 07:47:00
【问题描述】:
String example =
        "<soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\"><soapenv:Header /><soapenv:Body><ns2:farm xmlns:ns2=\"http://adamish.com/example/farm\"><horse height=\"123\" name=\"glue factory\"/></ns2:farm></soapenv:Body></soapenv:Envelope>";

这是我的字符串格式的肥皂 xml,我需要如何在 Farm 对象中形成它。Farm 是我的自定义类,任何库都可以使用

使用此代码后 m 得到异常

SOAPMessage message = MessageFactory.newInstance().createMessage(null,
                new ByteArrayInputStream(example.getBytes()));
        Unmarshaller unmarshaller = JAXBContext.newInstance(Farm.class).createUnmarshaller();
        SubscribeProductReq farm = (Farm)unmarshaller.unmarshal(message.getSOAPBody().extractContentAsDocument());

意外元素(uri:“http://yyyyyy.yyyyy*********”,本地:“农场”)。预期元素是

【问题讨论】:

标签: java soap


【解决方案1】:

你不需要做太多:

有两种方法可以为 SOAP 生成客户端 java 代码:

1) 您必须从某个 URL 获取此 xml。因此,Maven 插件让您可以控制从 URL 生成 jar 用于 SOAP。

2) 您可以直接将 SOAP xml 放入文件中,并将该文件路径放入 maven pom.xml 中。 Maven 将使用 Apache CXF 生成客户端 jar。

访问https://www.jetbrains.com/help/idea/generate-java-code-from-wsdl-or-wadl-dialog.html

访问https://objectpartners.com/2010/11/25/leveraging-apache-cxf-and-maven-to-generate-client-side-web-service-bindings/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-04
    • 2014-02-15
    • 1970-01-01
    相关资源
    最近更新 更多