gpt4 book ai didi

java - 如何为具有 Webmethod 模式命名空间的 xml 创建 xsd

转载 作者:行者123 更新时间:2023-11-30 10:55:17 24 4
gpt4 key购买 nike

我的 xml 如下所示:-

<?xml version="1.0"?>
<create xmlns:xsi="https://csu.service-now.com">
<sys_id xsi:type="xsd:string">30b78e589d5d0a00eba30ec92748d7fa</sys_id>
<number xsi:type="xsd:string">INC0135185</number>
</create>

我想创建一个验证成功的 xsd。所以基本上,通过那个 xsd,我首先必须在 webmethods 中创建一个模式并根据该 xml 验证 xml。

到目前为止我尝试的是:

<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="create">
<xs:complexType>
<xs:sequence>
<xs:element name="sys_id">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute ref="csu:type" xmlns:csu="https://csu.service-now.com"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="number">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute ref="csu:type" xmlns:csu="https://csu.service-now.com"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>

但它无法在 webmethods 中创建模式。看起来这不是一个有效的 xsd,按照 webmethod。我尝试了很多但没有成功。

请在这里帮忙。

最佳答案

如果您想受苦,那么编写 webMethods 能够理解的 XSD 是可行的方法。

你有什么理由必须制作 XSD 吗?

了解 webMethods 可接受的内容的最简单方法是创建一个 web 服务,然后在浏览器中复制粘贴 WSDL URL 并观察 webMethods 如何定义“<xsd:schema ..> ... </xsd:schema>”中的所有内容,然后尝试将相同的结构应用于定义您自己的自定义 XSD。

以下内容超出了我的想象:

<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema
targetNamespace="http://some.target.namespace/test"
xmlns:tns="http://some.target.namespace/test"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:element name="ServiceRequest" type="tns:ServiceRequest"/>
<xsd:complexType name="ServiceRequest">
<xsd:sequence>
<xsd:element name="Create" nillable="false" type="tns:Create"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="Create">
<xsd:sequence>
<xsd:element name="sys_id" nillable="true" type="xsd:string"/>
<xsd:element name="number" nillable="true" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
</xsd:schema>

同样,如果可以的话,尽量远离 XSD。对于 XSD,WebMethods 非常挑剔。

如果您使用某种 GUI 软件生成 XSD,那么几乎可以肯定生成的 XSD 与 webMethods 不兼容。

我经常做的不是在 webMethods 中导入 XSD,而是在记事本中读取 XSD,然后通过手动定义文档和字段在 webMethods 中手动重现结构。

关于java - 如何为具有 Webmethod 模式命名空间的 xml 创建 xsd,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33392005/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com