[英]Generating WSDL files
我想实现一个 WSDL 服务。 为了生成它的代码,我使用了不同的工具。 当我使用 SoapUI 时,生成文件的方法如下:
*******************************************************
<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:tem="http://tempuri.org/">
<soapenv:Header>
<tem:AuthenticationHeader>
<tem:TicketID>?</tem:TicketID>
</tem:AuthenticationHeader>
</soapenv:Header>
<soapenv:Body>
<tem:GetInfo>
<tem:sNo>?</tem:sNo>
<tem:source>?</tem:source>
</tem:GetInfo>
</soapenv:Body>
</soapenv:Envelope>
当我在 Chrome 上使用https://app.boomerangapi.com/时,此方法将是:
<x:Envelope
xmlns:x="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:tem="http://tempuri.org/">
<x:Header>
<tem:AuthenticationHeader>
<tem:TicketID>?</tem:TicketID>
</tem:AuthenticationHeader>
</x:Header>
<x:Body>
<tem:GetInfo>
<tem:sNo>?</tem:sNo>
<tem:source>?</tem:source>
</tem:GetInfo>
</x:Body>
</x:Envelope>
为什么生成的方法在命名空间中不同?!
该服务的来源可能有什么问题?!
这两个 SOAP 主体完全相同。
元素标签中的命名空间前缀只是命名空间 URI 的符号简写。
XML 文档可以使用以xmlns:
开头的属性定义命名空间前缀:
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
该属性意味着“此元素中的所有名称及其以soapenv:
实际上是与URI http://schemas.xmlsoap.org/soap/envelope/
关联的名称。”
下面的命名空间定义是完全一样的; 它只是指定了一个不同的前缀来用作相同 URI 的简写:
xmlns:x="http://schemas.xmlsoap.org/soap/envelope/"
所以,唯一的区别是这两个 XML 文档是如何引用“http://schemas.xmlsoap.org/soap/envelope/”URI:
soapenv:
开头的元素与该 URI 相关联。x:
开头的元素与该 URI 相关联。符号不同,但意思是一样的。 它们实际上具有相同的内容。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.