【发布时间】:2012-11-28 16:33:03
【问题描述】:
我们有一个名为 Camstar 的托管应用程序。它提供围绕 WCF 构建的 SOAP Web 服务。
我有一个有效的负载。我可以使用下面的有效负载从 SoapUI 调用 Web 服务。
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soapenv:Header>
<WSShopFloorHeader xmlns="http://www.camstar.com/WebService/WSShopFloor">
<UserName>abc</UserName>
<Password>def</Password>
</WSShopFloorHeader>
</soapenv:Header>
<soapenv:Body>
<Submit xmlns="http://www.camstar.com/WebService/WSShopFloor">
<serviceData xmlns:ns0="http://www.camstar.com/WebService/DataTypes" ns0:type="LotStart">
<Factory>
<__CDOTypeName/>
<__name>X30</__name>
</Factory>
<Comments/>
<Workflow>
<__name>TESTSTOREWF</__name>
<__rev/>
<__useROR>true</__useROR>
</Workflow>
<WorkflowStep>
<__CDOTypeName/>
<__name>DBINTSINVSPEC</__name>
</WorkflowStep>
<Qty>1000</Qty>
<Qty2>10</Qty2>
<Product>
<__CDOTypeName/>
<__name>9672-02-9450-D00.BW</__name>
<__rev/>
<__useROR>true</__useROR>
</Product>
<StartReason>
<__CDOTypeName/>
<__name>NORMAL</__name>
</StartReason>
<Owner>
<__CDOTypeName/>
<__name>PROD</__name>
</Owner>
<Level>
<__CDOTypeName/>
<__name>LOT</__name>
</Level>
<ContainerName>TEST004</ContainerName>
</serviceData>
</Submit>
</soapenv:Body>
</soapenv:Envelope>
我无法弄清楚如何基于上述 XML 创建 XSD。唯一的命名空间位于 Submit 和 serviceData 元素中,并且它们是内联的。
如果我需要从一个来源生成名称 xml 到另一个来源,如何创建 XSLT?
【问题讨论】:
-
你有两个问题!这两个问题的答案完全不同,彼此无关!
-
@InfantProgrammer'Aravind' 你能对某人的第一个问题友好一点吗?只关注问题——无需夸大和感叹。我发现 SO (大部分)是一个友好和乐于助人的社区,我想保留和鼓励这一点。如果你知道 XSD 问题的答案,我有兴趣学习。
-
@user1860519 请为您的 XSLT 问题创建一个新问题,并澄清您的问题(例如,我认为“名称”可能是一个错字)。所以(以及许多其他事情!)一次做一件事效果最好。
-
@13ren,当然......我很遗憾我有点粗鲁,这不是我的本性!同时我实际上正在为这两个问题准备答案.. XSLT 我被困在决定是写基础知识还是指导他学习 XSLT 教程。..
-
@13ren 你是对的,浏览器没有刷新。非常感谢您的详细解释。我想知道如何使用 2 个命名空间。你的解释很有道理。我会试一试。我将开始一个关于 WSDL 的新问题。可能我会在发布之前搜索 SO。