【问题标题】:How to Convert XML to MessageElement[] Java [closed]如何将 XML 转换为 MessageElement [] Java [关闭]
【发布时间】:2012-12-08 17:29:55
【问题描述】:

您好,我正在与一个接受 MessageElement[] 的 web 服务进行集成,并且他们提供的示例输入以 XML 格式给出。好吧,我真的很困惑如何将 XML 转换为 MessageElement[]。

示例 XML 是:

'<DEBITS hasChanges="inserted" xmlns="">' .
'<DEBIT_ID>-1</DEBIT_ID>' .
'<EFFECTIVE_DATE>'.$FeeDate.'</EFFECTIVE_DATE>' .
'<DEBIT_AMOUNT>'. $Fee.'</DEBIT_AMOUNT>' .
'<MEMO><![CDATA['.$DEBIT_TYPE.']]></MEMO>' .
'<ACCOUNT_ID>'.$GCSAccountId .'</ACCOUNT_ID>' .
'<DEBIT_TYPE>'.$DEBIT_TYPE.'</DEBIT_TYPE>' .
'<DAY_OF_MONTH>'.$Feeday.'</DAY_OF_MONTH>' .
'<ACTIVE_FLAG>Y</ACTIVE_FLAG>' .
'<OCCURS_NUM>1</OCCURS_NUM>' .
'<CREATION_DATE></CREATION_DATE>' .
'<MODIFIED_DATE></MODIFIED_DATE>' .
'<MODIFIED_BY></MODIFIED_BY>' .
'<DEBIT_AUTHORIZED></DEBIT_AUTHORIZED>' .
'<DEBIT_AUTHORIZED_BY></DEBIT_AUTHORIZED_BY>' .
'<REMAINING_OCCURRENCES>0</REMAINING_OCCURRENCES></DEBITS>';

只是为了添加更多上下文,使用轴生成的 web 服务代理类具有接受 MessageElement[] 的签名

【问题讨论】:

  • 嗯,我不知道如何进行。我完全不知道 org.apache.axis.message.MessageElement 类。即使表示单个元素而不是 messageElement 也会非常有用,例如这一行 ''
  • 我想网上有一些关于这个类的文档。这些怎么样?你读过它们吗?也许他们甚至提供了一个例子。 @Avidev9
  • @11684 感谢您的回复...真的从来不知道!
  • 你做错了。如果您使用的是 Axis,您应该能够直接使用 Web 服务代码。 Axis 为您处理所需 XML 的转换。只需像任何其他 Java 数据结构一样创建 MessageElements 并将它们发送到相应请求对象中的服务。
  • 还有:Axis tutorial.

标签: java xml web-services


【解决方案1】:

在浏览了很多文件之后。 我想我想出了如何处理转换。 这是转换xml的方法

public static MessageElement[] convertXMLStringtoMessageElement(String xmlString) throws SAXException, IOException, ParserConfigurationException{
        MessageElement[] m = new MessageElement[1];
        Document XMLDoc = DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(new InputSource(new StringReader(xmlString)));
        Element element = XMLDoc.getDocumentElement();
        m[0] = new MessageElement(element);
        return m;
    }

【讨论】:

  • 谢谢。我理解相反的 cmets 将使用普通的 xml 构建器,但是从字符串反向在soap客户端的单元测试中非常有用,也用于测试几种错误情况。
猜你喜欢
  • 2012-12-22
  • 1970-01-01
  • 2013-02-15
  • 2012-12-11
  • 2013-01-22
  • 2016-06-04
  • 2018-10-08
  • 2016-03-05
  • 1970-01-01
相关资源
最近更新 更多