0

回避策のホットフィックスを実装する予定です。クライアント側がxmlbeansと大きなWSDL記述を使用して生成された外部Webサービスを使用しています。

スキーマに記述されていない xml ノードを指定する必要があります。WSDL (非常に複雑) を変更できることはわかっていますが、Java クラスを再生成せずに変更できるかどうかも確認したいと考えています。

だから基本的に私が探しているのはこのようなものです。文字列にシリアル化するときに、指定されたテキストに解決されるだけのツリーに配置できる XML オブジェクト。

XmlObject customNode = XmlObject.Factory.newInstance();
customNode.setXML(
  "<myns:MyNode xmlns:mytypes='http://example.com/myschema' xsi:type='mytypes:DoesNotExistOnClientSideXML'"
);
mySchemaConformantNode.setTheNode(customNode);

サーバーはタイプを理解しています。これがきれいではないことは承知しています。ただし、これは、正しい WSDL が新しいバージョンで配信されるまでの回避策です。

4

1 に答える 1

0

それでいいはずです。XmlBeans を使用して好きな XML 構造を作成できますが、WSDL に従って有効なスキーマにはなりません。

編集: 申し訳ありませんが、最初の質問がわかりませんでした。XmlObject#setを使用して、現在の XmlObject の内容を置き換えることができます。

XmlObject customNode = XmlObject.Factory.parse("xml...")

mySchemaConformantNode.set(customNode);
于 2013-05-28T16:43:13.837 に答える